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) 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 }, "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[]"}],"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
608060405234801561001057600080fd5b506108cb806100206000396000f3fe6080604052600436106102045760003560e01c80638fbb38ff11610118578063d9331a11116100a0578063f5e672001161006f578063f5e672001461023d578063f82403021461041d578063f8e3bf3c1461051c578063fbd3a29d1461041d578063fc0c546a1461053757600080fd5b8063d9331a11146102bb578063dacbcbe21461023d578063e7e242d414610501578063f45486881461041d57600080fd5b8063af91b174116100e7578063af91b17414610469578063b45a3c0e14610489578063be41cee3146104d4578063c0cc3fcf1461023d578063d441ef49146102bb57600080fd5b80638fbb38ff14610402578063986b7d8a1461041d5780639a8a059214610438578063a6c3d1651461044e57600080fd5b80632b42ec9e1161019b5780634bc2a6571161016a5780634bc2a657146102bb57806351d70bc41461034757806370a08231146103a65780637c185b66146103c757806388301911146103dd57600080fd5b80632b42ec9e146102d95780632f745c591461030c578063430c2081146102d957806346c96aac1461032757600080fd5b806318160ddd116101d757806318160ddd146102a5578063197d972e146102bb578063214ac8d4146102bb57806327bf9b44146102bb57600080fd5b806301b7277f14610209578063026e402b1461021e5780630bd07d231461023d5780630d6a20331461026a575b600080fd5b61021c6102173660046105f1565b505050565b005b34801561022a57600080fd5b5061021c61023936600461068c565b5050565b34801561024957600080fd5b5060005b6040516001600160a01b0390911681526020015b60405180910390f35b34801561027657600080fd5b506102976102853660046106b6565b60056020526000908152604090205481565b604051908152602001610261565b3480156102b157600080fd5b5061029760045481565b3480156102c757600080fd5b5061021c6102d63660046106cf565b50565b3480156102e557600080fd5b506102fc6102f436600461068c565b600092915050565b6040519015158152602001610261565b34801561031857600080fd5b506102976102f436600461068c565b34801561033357600080fd5b5060015461024d906001600160a01b031681565b34801561035357600080fd5b506103876103623660046106b6565b600660205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610261565b3480156103b257600080fd5b506102976103c13660046106cf565b50600090565b3480156103d357600080fd5b50610297600c5481565b3480156103e957600080fd5b5061021c6103f83660046106f1565b5050505050505050565b34801561040e57600080fd5b506102fc6103c13660046106b6565b34801561042957600080fd5b5061021c6102d63660046106b6565b34801561044457600080fd5b5061029760035481565b34801561045a57600080fd5b5061021c610217366004610781565b34801561047557600080fd5b5060025461024d906001600160a01b031681565b34801561049557600080fd5b506104ac6104a43660046106b6565b600080915091565b604080516fffffffffffffffffffffffffffffffff9093168352602083019190915201610261565b3480156104e057600080fd5b506104f46104ef3660046106b6565b610557565b60405161026191906107fa565b34801561050d57600080fd5b506102976103c13660046106b6565b34801561052857600080fd5b5061021c610239366004610848565b34801561054357600080fd5b5060005461024d906001600160a01b031681565b600b602052600090815260409020805461057090610884565b80601f016020809104026020016040519081016040528092919081815260200182805461059c90610884565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b60008060006040848603121561060657600080fd5b83359250602084013567ffffffffffffffff8082111561062557600080fd5b818601915086601f83011261063957600080fd5b81358181111561064857600080fd5b8760208260051b850101111561065d57600080fd5b6020830194508093505050509250925092565b80356001600160a01b038116811461068757600080fd5b919050565b6000806040838503121561069f57600080fd5b6106a883610670565b946020939093013593505050565b6000602082840312156106c857600080fd5b5035919050565b6000602082840312156106e157600080fd5b6106ea82610670565b9392505050565b600080600080600080600080610100898b03121561070e57600080fd5b61071789610670565b975061072560208a01610670565b965061073360408a01610670565b955061074160608a01610670565b945061074f60808a01610670565b935061075d60a08a01610670565b925061076b60c08a01610670565b915060e089013590509295985092959890939650565b60008060006040848603121561079657600080fd5b833561ffff811681146107a857600080fd5b9250602084013567ffffffffffffffff808211156107c557600080fd5b818601915086601f8301126107d957600080fd5b8135818111156107e857600080fd5b87602082850101111561065d57600080fd5b600060208083528351808285015260005b818110156108275785810183015185820160400152820161080b565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561085b57600080fd5b61086483610670565b91506020830135801515811461087957600080fd5b809150509250929050565b600181811c9082168061089857607f821691505b6020821081036108b857634e487b7160e01b600052602260045260246000fd5b5091905056fea164736f6c6343000813000a
Deployed Bytecode
0x6080604052600436106102045760003560e01c80638fbb38ff11610118578063d9331a11116100a0578063f5e672001161006f578063f5e672001461023d578063f82403021461041d578063f8e3bf3c1461051c578063fbd3a29d1461041d578063fc0c546a1461053757600080fd5b8063d9331a11146102bb578063dacbcbe21461023d578063e7e242d414610501578063f45486881461041d57600080fd5b8063af91b174116100e7578063af91b17414610469578063b45a3c0e14610489578063be41cee3146104d4578063c0cc3fcf1461023d578063d441ef49146102bb57600080fd5b80638fbb38ff14610402578063986b7d8a1461041d5780639a8a059214610438578063a6c3d1651461044e57600080fd5b80632b42ec9e1161019b5780634bc2a6571161016a5780634bc2a657146102bb57806351d70bc41461034757806370a08231146103a65780637c185b66146103c757806388301911146103dd57600080fd5b80632b42ec9e146102d95780632f745c591461030c578063430c2081146102d957806346c96aac1461032757600080fd5b806318160ddd116101d757806318160ddd146102a5578063197d972e146102bb578063214ac8d4146102bb57806327bf9b44146102bb57600080fd5b806301b7277f14610209578063026e402b1461021e5780630bd07d231461023d5780630d6a20331461026a575b600080fd5b61021c6102173660046105f1565b505050565b005b34801561022a57600080fd5b5061021c61023936600461068c565b5050565b34801561024957600080fd5b5060005b6040516001600160a01b0390911681526020015b60405180910390f35b34801561027657600080fd5b506102976102853660046106b6565b60056020526000908152604090205481565b604051908152602001610261565b3480156102b157600080fd5b5061029760045481565b3480156102c757600080fd5b5061021c6102d63660046106cf565b50565b3480156102e557600080fd5b506102fc6102f436600461068c565b600092915050565b6040519015158152602001610261565b34801561031857600080fd5b506102976102f436600461068c565b34801561033357600080fd5b5060015461024d906001600160a01b031681565b34801561035357600080fd5b506103876103623660046106b6565b600660205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610261565b3480156103b257600080fd5b506102976103c13660046106cf565b50600090565b3480156103d357600080fd5b50610297600c5481565b3480156103e957600080fd5b5061021c6103f83660046106f1565b5050505050505050565b34801561040e57600080fd5b506102fc6103c13660046106b6565b34801561042957600080fd5b5061021c6102d63660046106b6565b34801561044457600080fd5b5061029760035481565b34801561045a57600080fd5b5061021c610217366004610781565b34801561047557600080fd5b5060025461024d906001600160a01b031681565b34801561049557600080fd5b506104ac6104a43660046106b6565b600080915091565b604080516fffffffffffffffffffffffffffffffff9093168352602083019190915201610261565b3480156104e057600080fd5b506104f46104ef3660046106b6565b610557565b60405161026191906107fa565b34801561050d57600080fd5b506102976103c13660046106b6565b34801561052857600080fd5b5061021c610239366004610848565b34801561054357600080fd5b5060005461024d906001600160a01b031681565b600b602052600090815260409020805461057090610884565b80601f016020809104026020016040519081016040528092919081815260200182805461059c90610884565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b60008060006040848603121561060657600080fd5b83359250602084013567ffffffffffffffff8082111561062557600080fd5b818601915086601f83011261063957600080fd5b81358181111561064857600080fd5b8760208260051b850101111561065d57600080fd5b6020830194508093505050509250925092565b80356001600160a01b038116811461068757600080fd5b919050565b6000806040838503121561069f57600080fd5b6106a883610670565b946020939093013593505050565b6000602082840312156106c857600080fd5b5035919050565b6000602082840312156106e157600080fd5b6106ea82610670565b9392505050565b600080600080600080600080610100898b03121561070e57600080fd5b61071789610670565b975061072560208a01610670565b965061073360408a01610670565b955061074160608a01610670565b945061074f60808a01610670565b935061075d60a08a01610670565b925061076b60c08a01610670565b915060e089013590509295985092959890939650565b60008060006040848603121561079657600080fd5b833561ffff811681146107a857600080fd5b9250602084013567ffffffffffffffff808211156107c557600080fd5b818601915086601f8301126107d957600080fd5b8135818111156107e857600080fd5b87602082850101111561065d57600080fd5b600060208083528351808285015260005b818110156108275785810183015185820160400152820161080b565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561085b57600080fd5b61086483610670565b91506020830135801515811461087957600080fd5b809150509250929050565b600181811c9082168061089857607f821691505b6020821081036108b857634e487b7160e01b600052602260045260246000fd5b5091905056fea164736f6c6343000813000a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.