Contract

0x076047EaF2d4357013Cb8Da37743a34f084189Af

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

-

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AlgebraVaultFactoryStub

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 800 runs

Other Settings:
paris EvmVersion
File 1 of 2 : AlgebraVaultFactoryStub.sol
// SPDX-License-Identifier: BUSL-1.1
pragma solidity =0.8.20;
pragma abicoder v1;

import './interfaces/vault/IAlgebraVaultFactory.sol';

/// @title Algebra vault factory stub
/// @notice This contract is used to set AlgebraCommunityVault as communityVault in new pools
contract AlgebraVaultFactoryStub is IAlgebraVaultFactory {
  /// @notice the address of AlgebraCommunityVault
  address public immutable defaultAlgebraCommunityVault;

  constructor(address _algebraCommunityVault) {
    require(_algebraCommunityVault != address(0));
    defaultAlgebraCommunityVault = _algebraCommunityVault;
  }

  /// @inheritdoc IAlgebraVaultFactory
  function getVaultForPool(address) external view override returns (address) {
    return defaultAlgebraCommunityVault;
  }

  /// @inheritdoc IAlgebraVaultFactory
  function createVaultForPool(address) external view override returns (address) {
    return defaultAlgebraCommunityVault;
  }
}

File 2 of 2 : IAlgebraVaultFactory.sol
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.5.0;

/// @title The interface for the Algebra Vault Factory
/// @notice This contract can be used for automatic vaults creation
/// @dev Version: Algebra Integral
interface IAlgebraVaultFactory {
  /// @notice returns address of the community fee vault for the pool
  /// @param pool the address of Algebra Integral pool
  /// @return communityFeeVault the address of community fee vault
  function getVaultForPool(address pool) external view returns (address communityFeeVault);

  /// @notice creates the community fee vault for the pool if needed
  /// @param pool the address of Algebra Integral pool
  /// @return communityFeeVault the address of community fee vault
  function createVaultForPool(address pool) external returns (address communityFeeVault);
}

Settings
{
  "evmVersion": "paris",
  "optimizer": {
    "enabled": true,
    "runs": 800
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_algebraCommunityVault","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"createVaultForPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAlgebraCommunityVault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getVaultForPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b5060405161014a38038061014a8339818101604052602081101561003357600080fd5b50516001600160a01b03811661004857600080fd5b6001600160a01b031660805260805160d8610072600039600081816058015260a9015260d86000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80637570e389146041578063b7a854521460a5578063cbc48015146041575b600080fd5b607c60048036036020811015605557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000919050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b607c7f00000000000000000000000000000000000000000000000000000000000000008156fea164736f6c6343000814000a0000000000000000000000005be5f71bc89a2e5fdbbb2d9aeff1f4a38d5870f7

Deployed Bytecode

0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80637570e389146041578063b7a854521460a5578063cbc48015146041575b600080fd5b607c60048036036020811015605557600080fd5b507f0000000000000000000000005be5f71bc89a2e5fdbbb2d9aeff1f4a38d5870f7919050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b607c7f0000000000000000000000005be5f71bc89a2e5fdbbb2d9aeff1f4a38d5870f78156fea164736f6c6343000814000a

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005be5f71bc89a2e5fdbbb2d9aeff1f4a38d5870f7

-----Decoded View---------------
Arg [0] : _algebraCommunityVault (address): 0x5bE5f71bC89a2E5Fdbbb2D9Aeff1F4a38d5870F7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005be5f71bc89a2e5fdbbb2d9aeff1f4a38d5870f7


Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.