Contract 0xe432150cce91c13a887f7d836923d5597add8e31 31
Contract Overview
Balance:
1.13 CELO
Token:
My Name Tag:
Not Available
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
AxelarGatewayProxy
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at alfajores.celoscan.io on 2022-11-02 */ // Sources flattened with hardhat v2.9.9 https://hardhat.org // File contracts/interfaces/IAxelarGateway.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; interface IAxelarGateway { /**********\ |* Errors *| \**********/ error NotSelf(); error NotProxy(); error InvalidCodeHash(); error SetupFailed(); error InvalidAuthModule(); error InvalidTokenDeployer(); error InvalidAmount(); error InvalidChainId(); error InvalidCommands(); error TokenDoesNotExist(string symbol); error TokenAlreadyExists(string symbol); error TokenDeployFailed(string symbol); error TokenContractDoesNotExist(address token); error BurnFailed(string symbol); error MintFailed(string symbol); error InvalidSetMintLimitsParams(); error ExceedMintLimit(string symbol); /**********\ |* Events *| \**********/ event TokenSent(address indexed sender, string destinationChain, string destinationAddress, string symbol, uint256 amount); event ContractCall( address indexed sender, string destinationChain, string destinationContractAddress, bytes32 indexed payloadHash, bytes payload ); event ContractCallWithToken( address indexed sender, string destinationChain, string destinationContractAddress, bytes32 indexed payloadHash, bytes payload, string symbol, uint256 amount ); event Executed(bytes32 indexed commandId); event TokenDeployed(string symbol, address tokenAddresses); event ContractCallApproved( bytes32 indexed commandId, string sourceChain, string sourceAddress, address indexed contractAddress, bytes32 indexed payloadHash, bytes32 sourceTxHash, uint256 sourceEventIndex ); event ContractCallApprovedWithMint( bytes32 indexed commandId, string sourceChain, string sourceAddress, address indexed contractAddress, bytes32 indexed payloadHash, string symbol, uint256 amount, bytes32 sourceTxHash, uint256 sourceEventIndex ); event TokenMintLimitUpdated(string symbol, uint256 limit); event OperatorshipTransferred(bytes newOperatorsData); event Upgraded(address indexed implementation); /********************\ |* Public Functions *| \********************/ function sendToken( string calldata destinationChain, string calldata destinationAddress, string calldata symbol, uint256 amount ) external; function callContract( string calldata destinationChain, string calldata contractAddress, bytes calldata payload ) external; function callContractWithToken( string calldata destinationChain, string calldata contractAddress, bytes calldata payload, string calldata symbol, uint256 amount ) external; function isContractCallApproved( bytes32 commandId, string calldata sourceChain, string calldata sourceAddress, address contractAddress, bytes32 payloadHash ) external view returns (bool); function isContractCallAndMintApproved( bytes32 commandId, string calldata sourceChain, string calldata sourceAddress, address contractAddress, bytes32 payloadHash, string calldata symbol, uint256 amount ) external view returns (bool); function validateContractCall( bytes32 commandId, string calldata sourceChain, string calldata sourceAddress, bytes32 payloadHash ) external returns (bool); function validateContractCallAndMint( bytes32 commandId, string calldata sourceChain, string calldata sourceAddress, bytes32 payloadHash, string calldata symbol, uint256 amount ) external returns (bool); /***********\ |* Getters *| \***********/ function authModule() external view returns (address); function tokenDeployer() external view returns (address); function tokenMintLimit(string memory symbol) external view returns (uint256); function tokenMintAmount(string memory symbol) external view returns (uint256); function allTokensFrozen() external view returns (bool); function implementation() external view returns (address); function tokenAddresses(string memory symbol) external view returns (address); function tokenFrozen(string memory symbol) external view returns (bool); function isCommandExecuted(bytes32 commandId) external view returns (bool); function adminEpoch() external view returns (uint256); function adminThreshold(uint256 epoch) external view returns (uint256); function admins(uint256 epoch) external view returns (address[] memory); /*******************\ |* Admin Functions *| \*******************/ function setTokenMintLimits(string[] calldata symbols, uint256[] calldata limits) external; function upgrade( address newImplementation, bytes32 newImplementationCodeHash, bytes calldata setupParams ) external; /**********************\ |* External Functions *| \**********************/ function setup(bytes calldata params) external; function execute(bytes calldata input) external; } // File contracts/EternalStorage.sol pragma solidity 0.8.9; /** * @title EternalStorage * @dev This contract holds all the necessary state variables to carry out the storage of any contract. */ contract EternalStorage { mapping(bytes32 => uint256) private _uintStorage; mapping(bytes32 => string) private _stringStorage; mapping(bytes32 => address) private _addressStorage; mapping(bytes32 => bytes) private _bytesStorage; mapping(bytes32 => bool) private _boolStorage; mapping(bytes32 => int256) private _intStorage; // *** Getter Methods *** function getUint(bytes32 key) public view returns (uint256) { return _uintStorage[key]; } function getString(bytes32 key) public view returns (string memory) { return _stringStorage[key]; } function getAddress(bytes32 key) public view returns (address) { return _addressStorage[key]; } function getBytes(bytes32 key) public view returns (bytes memory) { return _bytesStorage[key]; } function getBool(bytes32 key) public view returns (bool) { return _boolStorage[key]; } function getInt(bytes32 key) public view returns (int256) { return _intStorage[key]; } // *** Setter Methods *** function _setUint(bytes32 key, uint256 value) internal { _uintStorage[key] = value; } function _setString(bytes32 key, string memory value) internal { _stringStorage[key] = value; } function _setAddress(bytes32 key, address value) internal { _addressStorage[key] = value; } function _setBytes(bytes32 key, bytes memory value) internal { _bytesStorage[key] = value; } function _setBool(bytes32 key, bool value) internal { _boolStorage[key] = value; } function _setInt(bytes32 key, int256 value) internal { _intStorage[key] = value; } // *** Delete Methods *** function _deleteUint(bytes32 key) internal { delete _uintStorage[key]; } function _deleteString(bytes32 key) internal { delete _stringStorage[key]; } function _deleteAddress(bytes32 key) internal { delete _addressStorage[key]; } function _deleteBytes(bytes32 key) internal { delete _bytesStorage[key]; } function _deleteBool(bytes32 key) internal { delete _boolStorage[key]; } function _deleteInt(bytes32 key) internal { delete _intStorage[key]; } } // File contracts/AxelarGatewayProxy.sol pragma solidity 0.8.9; contract AxelarGatewayProxy is EternalStorage { error InvalidImplementation(); error SetupFailed(); error NativeCurrencyNotAccepted(); /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`. bytes32 internal constant KEY_IMPLEMENTATION = bytes32(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc); constructor(address gatewayImplementation, bytes memory params) { _setAddress(KEY_IMPLEMENTATION, gatewayImplementation); if (gatewayImplementation.code.length == 0) revert InvalidImplementation(); // solhint-disable-next-line avoid-low-level-calls (bool success, ) = gatewayImplementation.delegatecall(abi.encodeWithSelector(IAxelarGateway.setup.selector, params)); if (!success) revert SetupFailed(); } // solhint-disable-next-line no-empty-blocks function setup(bytes calldata params) external {} // solhint-disable-next-line no-complex-fallback fallback() external payable { address implementation = getAddress(KEY_IMPLEMENTATION); // solhint-disable-next-line no-inline-assembly assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } receive() external payable { revert NativeCurrencyNotAccepted(); } }
[{"inputs":[{"internalType":"address","name":"gatewayImplementation","type":"address"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidImplementation","type":"error"},{"inputs":[],"name":"NativeCurrencyNotAccepted","type":"error"},{"inputs":[],"name":"SetupFailed","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getInt","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"params","type":"bytes"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516107e93803806107e983398101604081905261002f916101cd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a380546001600160a01b0319166001600160a01b0384161790556001600160a01b0382163b6100ba5760405163340aafcd60e11b815260040160405180910390fd5b6000826001600160a01b0316639ded06df60e01b836040516024016100df919061029b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161011d91906102ce565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b505090508061017f576040516397905dfb60e01b815260040160405180910390fd5b5050506102ea565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b85781810151838201526020016101a0565b838111156101c7576000848401525b50505050565b600080604083850312156101e057600080fd5b82516001600160a01b03811681146101f757600080fd5b60208401519092506001600160401b038082111561021457600080fd5b818501915085601f83011261022857600080fd5b81518181111561023a5761023a610187565b604051601f8201601f19908116603f0116810190838211818310171561026257610262610187565b8160405282815288602084870101111561027b57600080fd5b61028c83602083016020880161019d565b80955050505050509250929050565b60208152600082518060208401526102ba81604085016020870161019d565b601f01601f19169190910160400192915050565b600082516102e081846020870161019d565b9190910192915050565b6104f0806102f96000396000f3fe6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df1461020c578063bd02d0f51461022d578063c031a18014610268578063dc97d96214610288576100ab565b806321f8a721146101325780637ae1cfca1461019f578063986e791a146101df576100ab565b366100ab576040517f858d70bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e80801561012d573d6000f35b3d6000fd5b34801561013e57600080fd5b5061017561014d366004610374565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101cf6101ba366004610374565b60009081526004602052604090205460ff1690565b6040519015158152602001610196565b3480156101eb57600080fd5b506101ff6101fa366004610374565b6102b5565b60405161019691906103da565b34801561021857600080fd5b5061022b6102273660046103f4565b5050565b005b34801561023957600080fd5b5061025a610248366004610374565b60009081526020819052604090205490565b604051908152602001610196565b34801561027457600080fd5b506101ff610283366004610374565b610357565b34801561029457600080fd5b5061025a6102a3366004610374565b60009081526005602052604090205490565b60008181526001602052604090208054606091906102d290610466565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610466565b801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906102d290610466565b60006020828403121561038657600080fd5b5035919050565b6000815180845260005b818110156103b357602081850181015186830182015201610397565b818111156103c5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103ed602083018461038d565b9392505050565b6000806020838503121561040757600080fd5b823567ffffffffffffffff8082111561041f57600080fd5b818501915085601f83011261043357600080fd5b81358181111561044257600080fd5b86602082850101111561045457600080fd5b60209290920196919550909350505050565b600181811c9082168061047a57607f821691505b602082108114156104b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122069dff699a34cf8bf80b00e2030730390655a53519c00ba0e4306c3269ae7a2fa64736f6c6343000809003300000000000000000000000005823c334150a48acd5d325fba16147c21ba3653000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000800000000000000000000000015837c1318ab83d99b19392fd4811813f520d84300000000000000000000000064247a441cef0b7a46614ac34d046c0fdfe35954000000000000000000000000ee64c8eb48437dbd2d5b8598dc4a3e8a6c8cead9000000000000000000000000b69f9beeec3e245ea4631b74c222b04e155a5c26000000000000000000000000eb73eca75e40cf21dcfd64de640d678b60082d580000000000000000000000006d0a01a933ee446e58aec5e55d632e4251244fcc0000000000000000000000005ca6b6a137040c59f3da13c960fb6cf9e2b9f6380000000000000000000000002a923c9428233470e25f0fd1cef5c8831d4407f30000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df1461020c578063bd02d0f51461022d578063c031a18014610268578063dc97d96214610288576100ab565b806321f8a721146101325780637ae1cfca1461019f578063986e791a146101df576100ab565b366100ab576040517f858d70bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e80801561012d573d6000f35b3d6000fd5b34801561013e57600080fd5b5061017561014d366004610374565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101cf6101ba366004610374565b60009081526004602052604090205460ff1690565b6040519015158152602001610196565b3480156101eb57600080fd5b506101ff6101fa366004610374565b6102b5565b60405161019691906103da565b34801561021857600080fd5b5061022b6102273660046103f4565b5050565b005b34801561023957600080fd5b5061025a610248366004610374565b60009081526020819052604090205490565b604051908152602001610196565b34801561027457600080fd5b506101ff610283366004610374565b610357565b34801561029457600080fd5b5061025a6102a3366004610374565b60009081526005602052604090205490565b60008181526001602052604090208054606091906102d290610466565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610466565b801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906102d290610466565b60006020828403121561038657600080fd5b5035919050565b6000815180845260005b818110156103b357602081850181015186830182015201610397565b818111156103c5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103ed602083018461038d565b9392505050565b6000806020838503121561040757600080fd5b823567ffffffffffffffff8082111561041f57600080fd5b818501915085601f83011261043357600080fd5b81358181111561044257600080fd5b86602082850101111561045457600080fd5b60209290920196919550909350505050565b600181811c9082168061047a57607f821691505b602082108114156104b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122069dff699a34cf8bf80b00e2030730390655a53519c00ba0e4306c3269ae7a2fa64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000005823c334150a48acd5d325fba16147c21ba3653000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000800000000000000000000000015837c1318ab83d99b19392fd4811813f520d84300000000000000000000000064247a441cef0b7a46614ac34d046c0fdfe35954000000000000000000000000ee64c8eb48437dbd2d5b8598dc4a3e8a6c8cead9000000000000000000000000b69f9beeec3e245ea4631b74c222b04e155a5c26000000000000000000000000eb73eca75e40cf21dcfd64de640d678b60082d580000000000000000000000006d0a01a933ee446e58aec5e55d632e4251244fcc0000000000000000000000005ca6b6a137040c59f3da13c960fb6cf9e2b9f6380000000000000000000000002a923c9428233470e25f0fd1cef5c8831d4407f30000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : gatewayImplementation (address): 0x05823c334150a48acd5d325fba16147c21ba3653
Arg [1] : params (bytes): 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000800000000000000000000000015837c1318ab83d99b19392fd4811813f520d84300000000000000000000000064247a441cef0b7a46614ac34d046c0fdfe35954000000000000000000000000ee64c8eb48437dbd2d5b8598dc4a3e8a6c8cead9000000000000000000000000b69f9beeec3e245ea4631b74c222b04e155a5c26000000000000000000000000eb73eca75e40cf21dcfd64de640d678b60082d580000000000000000000000006d0a01a933ee446e58aec5e55d632e4251244fcc0000000000000000000000005ca6b6a137040c59f3da13c960fb6cf9e2b9f6380000000000000000000000002a923c9428233470e25f0fd1cef5c8831d4407f30000000000000000000000000000000000000000000000000000000000000000
-----Encoded View---------------
16 Constructor Arguments found :
Arg [0] : 00000000000000000000000005823c334150a48acd5d325fba16147c21ba3653
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [7] : 00000000000000000000000015837c1318ab83d99b19392fd4811813f520d843
Arg [8] : 00000000000000000000000064247a441cef0b7a46614ac34d046c0fdfe35954
Arg [9] : 000000000000000000000000ee64c8eb48437dbd2d5b8598dc4a3e8a6c8cead9
Arg [10] : 000000000000000000000000b69f9beeec3e245ea4631b74c222b04e155a5c26
Arg [11] : 000000000000000000000000eb73eca75e40cf21dcfd64de640d678b60082d58
Arg [12] : 0000000000000000000000006d0a01a933ee446e58aec5e55d632e4251244fcc
Arg [13] : 0000000000000000000000005ca6b6a137040c59f3da13c960fb6cf9e2b9f638
Arg [14] : 0000000000000000000000002a923c9428233470e25f0fd1cef5c8831d4407f3
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000000
Deployed ByteCode Sourcemap
8308:1703:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9973:27;;;;;;;;;;;;;;8308:1703;8637:66;9381:22;6572:20;;;:15;:20;;;;;;;9549:14;;9381:22;9530:34;9652:1;9649;9633:14;9630:1;9614:14;9607:5;9594:60;9691:16;9688:1;9685;9670:38;9731:6;9751:68;;;;9870:16;9867:1;9860:27;9751:68;9787:16;9784:1;9777:27;6491:109;;;;;;;;;;-1:-1:-1;6491:109:0;;;;;:::i;:::-;6545:7;6572:20;;;:15;:20;;;;;;;;;6491:109;;;;375:42:1;363:55;;;345:74;;333:2;318:18;6491:109:0;;;;;;;;6726:100;;;;;;;;;;-1:-1:-1;6726:100:0;;;;;:::i;:::-;6777:4;6801:17;;;:12;:17;;;;;;;;;6726:100;;;;595:14:1;;588:22;570:41;;558:2;543:18;6726:100:0;430:187:1;6370:113:0;;;;;;;;;;-1:-1:-1;6370:113:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9231:49::-;;;;;;;;;;-1:-1:-1;9231:49:0;;;;;:::i;:::-;;;;;;6259:103;;;;;;;;;;-1:-1:-1;6259:103:0;;;;;:::i;:::-;6310:7;6337:17;;;;;;;;;;;;6259:103;;;;2066:25:1;;;2054:2;2039:18;6259:103:0;1920:177:1;6608:110:0;;;;;;;;;;-1:-1:-1;6608:110:0;;;;;:::i;:::-;;:::i;6834:100::-;;;;;;;;;;-1:-1:-1;6834:100:0;;;;;:::i;:::-;6884:6;6910:16;;;:11;:16;;;;;;;6834:100;6370:113;6456:19;;;;:14;:19;;;;;6449:26;;6423:13;;6456:19;6449:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6370:113;;;:::o;6608:110::-;6692:18;;;;:13;:18;;;;;6685:25;;6660:12;;6692:18;6685:25;;;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;622:472::-;664:3;702:5;696:12;729:6;724:3;717:19;754:1;764:162;778:6;775:1;772:13;764:162;;;840:4;896:13;;;892:22;;886:29;868:11;;;864:20;;857:59;793:12;764:162;;;944:6;941:1;938:13;935:87;;;1010:1;1003:4;994:6;989:3;985:16;981:27;974:38;935:87;-1:-1:-1;1076:2:1;1055:15;-1:-1:-1;;1051:29:1;1042:39;;;;1083:4;1038:50;;622:472;-1:-1:-1;;622:472:1:o;1099:220::-;1248:2;1237:9;1230:21;1211:4;1268:45;1309:2;1298:9;1294:18;1286:6;1268:45;:::i;:::-;1260:53;1099:220;-1:-1:-1;;;1099:220:1:o;1324:591::-;1394:6;1402;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;1511:9;1498:23;1540:18;1581:2;1573:6;1570:14;1567:34;;;1597:1;1594;1587:12;1567:34;1635:6;1624:9;1620:22;1610:32;;1680:7;1673:4;1669:2;1665:13;1661:27;1651:55;;1702:1;1699;1692:12;1651:55;1742:2;1729:16;1768:2;1760:6;1757:14;1754:34;;;1784:1;1781;1774:12;1754:34;1829:7;1824:2;1815:6;1811:2;1807:15;1803:24;1800:37;1797:57;;;1850:1;1847;1840:12;1797:57;1881:2;1873:11;;;;;1903:6;;-1:-1:-1;1324:591:1;;-1:-1:-1;;;;1324:591:1:o;2505:437::-;2584:1;2580:12;;;;2627;;;2648:61;;2702:4;2694:6;2690:17;2680:27;;2648:61;2755:2;2747:6;2744:14;2724:18;2721:38;2718:218;;;2792:77;2789:1;2782:88;2893:4;2890:1;2883:15;2921:4;2918:1;2911:15;2718:218;;2505:437;;;:::o
Swarm Source
ipfs://69dff699a34cf8bf80b00e2030730390655a53519c00ba0e4306c3269ae7a2fa
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|