Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
ChildChainVeInterface
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.19; contract ChildChainVeInterface { address public token; // Child Chain Solid address public voter; // Child Chain Voter contract address public nftBridge; // Parent chain NFT Bridge contract uint256 public chainId; // What chain are we on? uint256 public totalSupply; // Total supply on mainnet will be same on child chain struct UserInfo { address ownerOf; uint256 amount; } mapping(uint => uint) public attachments; // Is the nft attached to any gauges? mapping (uint256 => UserInfo) public userInfo; // Mapping user tokenId to their ChildChain UserInfo mapping (uint256 => bool) internal alreadyMinted; // Maps all NFT mints /// @dev Mapping from NFT ID to delegated address. mapping(uint256 => address) internal idToDelegates; /// @dev Mapping from NFT ID to the address that owns it. mapping(uint256 => address) internal idToOwner; /// @dev Mapping from owner address to mapping of delegator addresses. mapping(address => mapping(address => bool)) internal ownerToDelegators; mapping (bytes32 => bytes) public errors; // Map bridge errors to errorId of error. uint256 public minSigsRequired; event Attach(address indexed owner, address indexed gauge, uint256 tokenId); event Detach(address indexed owner, address indexed gauge, uint256 tokenId); //event SetAnycall(address oldProxy, address newProxy, address oldExec, address newExec); event Error(bytes32 indexed errorId); /** * @dev Emitted when `owner` enables `delegate` to vote with the `tokenId` token. */ event Delegate( address indexed owner, address indexed delegate, uint256 indexed tokenId ); /** * @dev Emitted when `owner` enables or disables `delegate` to vote with the all of its assets. */ event DelegateForAll( address indexed owner, address indexed delegate, bool approved ); //event Transfer( // address indexed from, // address indexed to, // uint256 indexed tokenId //); event MinSignaturesSet(uint256 minSigs); function initialize ( address _axelarGateway, address _axelarGasService, address _ccipRouter, address _lzEndpoint, address _voter, address _nftBridge, address _token, uint256 _chainId ) external {} function voted(uint256 _tokenId) public view returns (bool isVoted) {} /// NFT Functions, called by gauges /// function balanceOf(address _owner) public view returns (uint256) {} /// NFT Functions, called by gauges /// function balanceOfNFT(uint256 _tokenId) external view returns (uint256) {} function locked(uint256 _tokenId) external view returns (uint128 amount, uint256 end) {} /// @dev Get token by index function tokenOfOwnerByIndex(address _owner, uint256 _tokenIndex) external view returns (uint256) {} function isApprovedOrOwner(address _user, uint256 _tokenId) external view returns (bool) {} function attach(uint256 _tokenId) external {} function detach(uint256 _tokenId) external {} function burn(uint256 _tokenId, uint256[] calldata _feeInEther, uint256 _providerBitmap) external payable {} // If there is an error, hopefully wont/shouldnt happen. We can retry processing the data. function retryError(bytes32 _errorId) external {} function setAxelarGateway(address _axelarGateway) external {} function setAxelarGasService(address _axelarGasService) external {} function setCcipRouter(address _ccipRouter) external {} function setLzEndpoint(address _lzEndpoint) external {} function setNftBridge(address _nftBridge) external {} function setVoter(address _voter) external {} function setMinSigs(uint256 _minSigs) external {} function setTrustedRemoteAddress(uint16 _remoteChainId, bytes calldata _remoteAddress) external {} function getAxelarGateway() public view returns (address) {} function getAxelarGasService() public view returns (address) {} function getCcipRouter() public view returns (address) {} function getLzEndpoint() public view returns (address) {} /// @dev Set or reaffirm the delegatee address for an NFT. The zero address indicates there is no delegated address. /// Throws unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner. /// Throws if `_tokenId` is not a valid NFT. (NOTE: This is not written the EIP) /// Throws if `_approved` is the current owner. (NOTE: This is not written the EIP) /// @param _delegate Address to be approved for the given NFT ID. /// @param _tokenId ID of the token to be approved. function delegate(address _delegate, uint256 _tokenId) public {} /// @dev Enables or disables delegate status for a third party ("delegate") to vote /// with all of `msg.sender`'s assets. It also emits the DelegateForAll event. /// Throws if `_delegate` is the `msg.sender`. (NOTE: This is not written the EIP) /// @notice This works even if the sender doesn't own any tokens at the time. /// @param _delegate Address to add to the set of authorized delegates. /// @param _status True if the delegate is approved, false to revoke approval. function setDelegateForAll(address _delegate, bool _status) external {} function isDelegateOrOwner(address _voter, uint256 _tokenId) external view returns (bool) {} }
{ "optimizer": { "enabled": true, "runs": 200 }, "viaIR": true, "metadata": { "bytecodeHash": "none" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Attach","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Delegate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"DelegateForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Detach","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"errorId","type":"bytes32"}],"name":"Error","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minSigs","type":"uint256"}],"name":"MinSignaturesSet","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"attach","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"attachments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"balanceOfNFT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256[]","name":"_feeInEther","type":"uint256[]"},{"internalType":"uint256","name":"_providerBitmap","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"chainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"detach","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"errors","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAxelarGasService","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAxelarGateway","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCcipRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLzEndpoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_axelarGateway","type":"address"},{"internalType":"address","name":"_axelarGasService","type":"address"},{"internalType":"address","name":"_ccipRouter","type":"address"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_voter","type":"address"},{"internalType":"address","name":"_nftBridge","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_chainId","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isApprovedOrOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isDelegateOrOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"locked","outputs":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSigsRequired","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftBridge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_errorId","type":"bytes32"}],"name":"retryError","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_axelarGasService","type":"address"}],"name":"setAxelarGasService","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_axelarGateway","type":"address"}],"name":"setAxelarGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ccipRouter","type":"address"}],"name":"setCcipRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setDelegateForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lzEndpoint","type":"address"}],"name":"setLzEndpoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minSigs","type":"uint256"}],"name":"setMinSigs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nftBridge","type":"address"}],"name":"setNftBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_remoteChainId","type":"uint16"},{"internalType":"bytes","name":"_remoteAddress","type":"bytes"}],"name":"setTrustedRemoteAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"setVoter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_tokenIndex","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userInfo","outputs":[{"internalType":"address","name":"ownerOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"voted","outputs":[{"internalType":"bool","name":"isVoted","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60808060405234610016576106de908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c908163026e402b1461062a5781630bd07d23146101fd5781630d6a20331461060257816318160ddd146105e4578163197d972e14610232578163214ac8d41461023257816327bf9b44146102325781632b42ec9e146105c15781632f745c59146105c6578163430c2081146105c157816346c96aac146105985781634bc2a6571461023257816351d70bc41461055f5781635ecdabf91461051657816370a08231146104f05781637c185b66146104d157816388301911146104685781638fbb38ff1461044c578163986b7d8a146101ce5781639a8a05921461042d578163a6c3d165146103d7578163af91b174146103ae578163b45a3c0e1461038e578163be41cee31461023757508063c0cc3fcf146101fd578063d441ef4914610232578063d9331a1114610232578063dacbcbe2146101fd578063e7e242d414610217578063f454868814610202578063f5e67200146101fd578063f8240302146101ce578063f8e3bf3c146101d3578063fbd3a29d146101ce5763fc0c546a146101a457600080fd5b346101ca57816003193601126101ca57905490516001600160a01b039091168152602090f35b5080fd5b6106be565b50346101ca573660031901126101fa576101eb610647565b50602435801515036101fa5780f35b80fd5b610662565b82346101fa5760203660031901126101fa5780f35b50346101ca5760203660031901126101ca5751908152602090f35b61067e565b9190503461038a576020806003193601126103865782358452600b81528184209382519181865496600188811c91818a16998a1561037c575b8584108b14610369578588999a9b858a52918260001461034b575050600114610316575b505050601f801995869203011683019583871067ffffffffffffffff881117610303575085929391838652818452845191828186015281955b8387106102eb5750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506102cd565b634e487b7160e01b835260419052602482fd5b85528385208593505b8284106103355750505083018101388080610294565b805488850186015287965092840192810161031f565b93509450505060ff191682860152151560051b840101388080610294565b634e487b7160e01b875260228a52602487fd5b92607f1692610270565b8380fd5b8280fd5b8284346101fa5760203660031901126101fa578151908082526020820152f35b5050346101ca57816003193601126101ca5760025490516001600160a01b039091168152602090f35b9190503461038a573660031901126101ca57803561ffff8116036101ca576024359067ffffffffffffffff9081831161038657366023840112156103865782013590811161038a57369101602401116101fa5780f35b5050346101ca57816003193601126101ca576020906003549051908152f35b5050346101ca5760203660031901126101ca5751908152602090f35b83346101fa576101003660031901126101fa57610483610647565b506001600160a01b03602435818116036101ca57604435818116036101ca57606435818116036101ca57608435818116036101ca5760a435818116036101ca5760c435908116036101fa5780f35b5050346101ca57816003193601126101ca57602090600c549051908152f35b5050346101ca5760203660031901126101ca579060209161050f610647565b5051908152f35b839060603660031901126101ca5760243567ffffffffffffffff9182821161038657366023830112156103865781013591821161038a57602490369260051b0101116101fa5780f35b90503461038a57602036600319011261038a579181923581526006602052206001808060a01b0382541691015482519182526020820152f35b5050346101ca57816003193601126101ca5760015490516001600160a01b039091168152602090f35b610699565b5050346101ca57806003193601126101ca579060209161050f610647565b90503461038a578260031936011261038a5760209250549051908152f35b90503461038a57602036600319011261038a5760209282913581526005845220549051908152f35b5050346101ca573660031901126101fa57610643610647565b5080f35b600435906001600160a01b038216820361065d57565b600080fd5b3461065d57600036600319011261065d57602060405160008152f35b3461065d57602036600319011261065d57610697610647565b005b3461065d57604036600319011261065d576106b2610647565b50602060405160008152f35b3461065d57602036600319011261065d5700fea164736f6c6343000813000a
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b600091823560e01c908163026e402b1461062a5781630bd07d23146101fd5781630d6a20331461060257816318160ddd146105e4578163197d972e14610232578163214ac8d41461023257816327bf9b44146102325781632b42ec9e146105c15781632f745c59146105c6578163430c2081146105c157816346c96aac146105985781634bc2a6571461023257816351d70bc41461055f5781635ecdabf91461051657816370a08231146104f05781637c185b66146104d157816388301911146104685781638fbb38ff1461044c578163986b7d8a146101ce5781639a8a05921461042d578163a6c3d165146103d7578163af91b174146103ae578163b45a3c0e1461038e578163be41cee31461023757508063c0cc3fcf146101fd578063d441ef4914610232578063d9331a1114610232578063dacbcbe2146101fd578063e7e242d414610217578063f454868814610202578063f5e67200146101fd578063f8240302146101ce578063f8e3bf3c146101d3578063fbd3a29d146101ce5763fc0c546a146101a457600080fd5b346101ca57816003193601126101ca57905490516001600160a01b039091168152602090f35b5080fd5b6106be565b50346101ca573660031901126101fa576101eb610647565b50602435801515036101fa5780f35b80fd5b610662565b82346101fa5760203660031901126101fa5780f35b50346101ca5760203660031901126101ca5751908152602090f35b61067e565b9190503461038a576020806003193601126103865782358452600b81528184209382519181865496600188811c91818a16998a1561037c575b8584108b14610369578588999a9b858a52918260001461034b575050600114610316575b505050601f801995869203011683019583871067ffffffffffffffff881117610303575085929391838652818452845191828186015281955b8387106102eb5750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506102cd565b634e487b7160e01b835260419052602482fd5b85528385208593505b8284106103355750505083018101388080610294565b805488850186015287965092840192810161031f565b93509450505060ff191682860152151560051b840101388080610294565b634e487b7160e01b875260228a52602487fd5b92607f1692610270565b8380fd5b8280fd5b8284346101fa5760203660031901126101fa578151908082526020820152f35b5050346101ca57816003193601126101ca5760025490516001600160a01b039091168152602090f35b9190503461038a573660031901126101ca57803561ffff8116036101ca576024359067ffffffffffffffff9081831161038657366023840112156103865782013590811161038a57369101602401116101fa5780f35b5050346101ca57816003193601126101ca576020906003549051908152f35b5050346101ca5760203660031901126101ca5751908152602090f35b83346101fa576101003660031901126101fa57610483610647565b506001600160a01b03602435818116036101ca57604435818116036101ca57606435818116036101ca57608435818116036101ca5760a435818116036101ca5760c435908116036101fa5780f35b5050346101ca57816003193601126101ca57602090600c549051908152f35b5050346101ca5760203660031901126101ca579060209161050f610647565b5051908152f35b839060603660031901126101ca5760243567ffffffffffffffff9182821161038657366023830112156103865781013591821161038a57602490369260051b0101116101fa5780f35b90503461038a57602036600319011261038a579181923581526006602052206001808060a01b0382541691015482519182526020820152f35b5050346101ca57816003193601126101ca5760015490516001600160a01b039091168152602090f35b610699565b5050346101ca57806003193601126101ca579060209161050f610647565b90503461038a578260031936011261038a5760209250549051908152f35b90503461038a57602036600319011261038a5760209282913581526005845220549051908152f35b5050346101ca573660031901126101fa57610643610647565b5080f35b600435906001600160a01b038216820361065d57565b600080fd5b3461065d57600036600319011261065d57602060405160008152f35b3461065d57602036600319011261065d57610697610647565b005b3461065d57604036600319011261065d576106b2610647565b50602060405160008152f35b3461065d57602036600319011261065d5700fea164736f6c6343000813000a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.