Source Code
Overview
BTT Balance
More Info
ContractCreator
Latest 25 from a total of 49 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Stake | 48911890 | 3 days ago | IN | 1 BTT | 415.647 | ||||
Stake | 48653267 | 9 days ago | IN | 5,000,000 BTT | 750.825 | ||||
Stake | 48089081 | 22 days ago | IN | 2 BTT | 415.647 | ||||
Stake | 48089003 | 22 days ago | IN | 1 BTT | 750.717 | ||||
Stake | 46478094 | 61 days ago | IN | 5,000,000 BTT | 750.825 | ||||
Revoke Role | 46277220 | 65 days ago | IN | 0 BTT | 273.429 | ||||
Grant Role | 46277213 | 65 days ago | IN | 0 BTT | 757.017 | ||||
Set Receiver | 46277197 | 65 days ago | IN | 0 BTT | 322.542 | ||||
Grant Role | 46277173 | 65 days ago | IN | 0 BTT | 910.917 | ||||
Revoke Role | 46277165 | 65 days ago | IN | 0 BTT | 312.966 | ||||
Revoke Role | 46277112 | 65 days ago | IN | 0 BTT | 227.619 | ||||
Revoke Role | 46277104 | 65 days ago | IN | 0 BTT | 273.429 | ||||
Grant Role | 46277075 | 65 days ago | IN | 0 BTT | 753.561 | ||||
Revoke Role | 46277064 | 65 days ago | IN | 0 BTT | 260.541 | ||||
Withdraw Collate... | 46274262 | 66 days ago | IN | 0 BTT | 239.166 | ||||
Stake | 46273909 | 66 days ago | IN | 5,000,000 BTT | 750.825 | ||||
Stake | 46272439 | 66 days ago | IN | 5,000,000 BTT | 750.825 | ||||
Punish | 45860857 | 75 days ago | IN | 0 BTT | 493.7526 | ||||
Transfer Proxy O... | 40161193 | 212 days ago | IN | 0 BTT | 257.49 | ||||
Grant Role | 40161164 | 212 days ago | IN | 0 BTT | 753.561 | ||||
Stake | 38226610 | 258 days ago | IN | 0 BTT | 959.454 | ||||
Grant Role | 37644052 | 272 days ago | IN | 0 BTT | 312.912 | ||||
Grant Role | 37644049 | 272 days ago | IN | 0 BTT | 312.912 | ||||
Punish | 37528780 | 274 days ago | IN | 0 BTT | 447.786 | ||||
Punish | 37528776 | 274 days ago | IN | 0 BTT | 601.686 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912994 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48912492 | 3 days ago | 0 BTT | ||||
48911890 | 3 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT | ||||
48828719 | 5 days ago | 0 BTT |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x5Fe27868...1F781012a The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
ChildERC20RelayStakeProxy
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/** *Submitted for verification at testnet.bttcscan.com on 2024-03-20 */ // Sources flattened with hardhat v2.22.1 https://hardhat.org // File contracts/common/Proxy/IERCProxy.sol pragma solidity 0.6.6; interface IERCProxy { function proxyType() external pure returns (uint256 proxyTypeId); function implementation() external view returns (address codeAddr); } // File contracts/common/Proxy/Proxy.sol pragma solidity 0.6.6; abstract contract Proxy is IERCProxy { function delegatedFwd(address _dst, bytes memory _calldata) internal { // solium-disable-next-line security/no-inline-assembly assembly { let result := delegatecall( sub(gas(), 10000), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0 ) let size := returndatasize() let ptr := mload(0x40) returndatacopy(ptr, 0, size) // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas. // if the call returned error data, forward it switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } function proxyType() external virtual override pure returns (uint256 proxyTypeId) { // Upgradeable proxy proxyTypeId = 2; } function implementation() external virtual override view returns (address); } // File contracts/common/Proxy/UpgradableProxy.sol pragma solidity 0.6.6; contract UpgradableProxy is Proxy { event ProxyUpdated(address indexed _new, address indexed _old); event ProxyOwnerUpdate(address _new, address _old); bytes32 constant IMPLEMENTATION_SLOT = keccak256("matic.network.proxy.implementation"); bytes32 constant OWNER_SLOT = keccak256("matic.network.proxy.owner"); constructor(address _proxyTo) public { setProxyOwner(msg.sender); setImplementation(_proxyTo); } fallback() external payable { delegatedFwd(loadImplementation(), msg.data); } receive() external payable { delegatedFwd(loadImplementation(), msg.data); } modifier onlyProxyOwner() { require(loadProxyOwner() == msg.sender, "NOT_OWNER"); _; } function proxyOwner() external view returns(address) { return loadProxyOwner(); } function loadProxyOwner() internal view returns(address) { address _owner; bytes32 position = OWNER_SLOT; assembly { _owner := sload(position) } return _owner; } function implementation() external override view returns (address) { return loadImplementation(); } function loadImplementation() internal view returns(address) { address _impl; bytes32 position = IMPLEMENTATION_SLOT; assembly { _impl := sload(position) } return _impl; } function transferProxyOwnership(address newOwner) public onlyProxyOwner { require(newOwner != address(0), "ZERO_ADDRESS"); emit ProxyOwnerUpdate(newOwner, loadProxyOwner()); setProxyOwner(newOwner); } function setProxyOwner(address newOwner) private { bytes32 position = OWNER_SLOT; assembly { sstore(position, newOwner) } } function updateImplementation(address _newProxyTo) public onlyProxyOwner { require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS"); require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT"); emit ProxyUpdated(_newProxyTo, loadImplementation()); setImplementation(_newProxyTo); } function updateAndCall(address _newProxyTo, bytes memory data) payable public onlyProxyOwner { updateImplementation(_newProxyTo); (bool success, bytes memory returnData) = address(this).call{value: msg.value}(data); require(success, string(returnData)); } function setImplementation(address _newProxyTo) private { bytes32 position = IMPLEMENTATION_SLOT; assembly { sstore(position, _newProxyTo) } } function isContract(address _target) internal view returns (bool) { if (_target == address(0)) { return false; } uint256 size; assembly { size := extcodesize(_target) } return size > 0; } } // File contracts/child/ChildToken/ChildERC20Exit/ChildERC20RelayStakeProxy.sol pragma solidity 0.6.6; contract ChildERC20RelayStakeProxy is UpgradableProxy { constructor(address _proxyTo) public UpgradableProxy(_proxyTo) {} }
[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_new","type":"address"},{"indexed":false,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyOwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Deployed Bytecode
0x6080604052600436106100595760003560e01c8063025313a2146100b3578063025b22bc146100e45780634555d5c9146101175780635c60da1b1461013e578063d88ca2c814610153578063f1739cae14610209576100a8565b366100a8576100a661006961023c565b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026292505050565b005b6100a661006961023c565b3480156100bf57600080fd5b506100c861028a565b604080516001600160a01b039092168252519081900360200190f35b3480156100f057600080fd5b506100a66004803603602081101561010757600080fd5b50356001600160a01b0316610299565b34801561012357600080fd5b5061012c6103d3565b60408051918252519081900360200190f35b34801561014a57600080fd5b506100c86103d8565b6100a66004803603604081101561016957600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561019457600080fd5b8201836020820111156101a657600080fd5b803590602001918460018302840111640100000000831117156101c857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103e2945050505050565b34801561021557600080fd5b506100a66004803603602081101561022c57600080fd5b50356001600160a01b0316610578565b600080600060405180806107386022913960405190819003602201902054935050505090565b600080825160208401856127105a03f43d604051816000823e828015610286578282f35b8282fd5b600061029461066a565b905090565b336102a261066a565b6001600160a01b0316146102e9576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b03811661033c576040805162461bcd60e51b8152602060048201526015602482015274494e56414c49445f50524f58595f4144445245535360581b604482015290519081900360640190fd5b6103458161069c565b6103805760405162461bcd60e51b81526004018080602001828103825260258152602001806107136025913960400191505060405180910390fd5b61038861023c565b6001600160a01b0316816001600160a01b03167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36103d0816106bf565b50565b600290565b600061029461023c565b336103eb61066a565b6001600160a01b031614610432576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b61043b82610299565b60006060306001600160a01b031634846040518082805190602001908083835b6020831061047a5780518252601f19909201916020918201910161045b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104dc576040519150601f19603f3d011682016040523d82523d6000602084013e6104e1565b606091505b50915091508181906105715760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561053657818101518382015260200161051e565b50505050905090810190601f1680156105635780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3361058161066a565b6001600160a01b0316146105c8576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b038116610612576040805162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015290519081900360640190fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee28161063c61066a565b604080516001600160a01b03938416815291909216602082015281519081900390910190a16103d0816106e1565b604080517836b0ba34b1973732ba3bb7b93597383937bc3c9737bbb732b960391b815290519081900360190190205490565b60006001600160a01b0382166106b4575060006106ba565b50803b15155b919050565b6000604051808061073860229139604051908190036022019020929092555050565b604080517836b0ba34b1973732ba3bb7b93597383937bc3c9737bbb732b960391b815290519081900360190190205556fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea2646970667358221220bd8490ecd2dd19476df9b9d5f37a52671ba82cd4c105ad3e6223cfedfafec58b64736f6c63430006060033
Deployed Bytecode Sourcemap
4794:152:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2254:44;2267:20;:18;:20::i;:::-;2289:8;;2254:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2254:12:0;;-1:-1:-1;;;2254:44:0:i;:::-;4794:152;;2156:44;2169:20;:18;:20::i;2431:95::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2431:95:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2431:95:0;;;;;;;;;;;;;;3545:353;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3545:353:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3545:353:0;-1:-1:-1;;;;;3545:353:0;;:::i;1333:146::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1333:146:0;;;:::i;:::-;;;;;;;;;;;;;;;;2766:113;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2766:113:0;;;:::i;3906:289::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;3906:289:0;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;3906:289:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;3906:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3906:289:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3906:289:0;;-1:-1:-1;3906:289:0;;-1:-1:-1;;;;;3906:289:0:i;3129:232::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3129:232:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3129:232:0;-1:-1:-1;;;;;3129:232:0;;:::i;2887:234::-;2939:7;2959:13;2983:16;1859:47;;;;;;;;;;;;;;;;;;3065:15;;-1:-1:-1;;;;2887:234:0;:::o;429:896::-;796:1;776;747:9;741:16;717:4;706:9;702:20;679:4;654:5;647;643:17;612:200;838:16;887:4;881:11;929:4;926:1;921:3;906:28;1132:6;1156:66;;;;1283:4;1278:3;1271:17;1156:66;1198:4;1193:3;1186:17;2431:95;2475:7;2502:16;:14;:16::i;:::-;2495:23;;2431:95;:::o;3545:353::-;2379:10;2359:16;:14;:16::i;:::-;-1:-1:-1;;;;;2359:30:0;;2351:52;;;;;-1:-1:-1;;;2351:52:0;;;;;;;;;;;;-1:-1:-1;;;2351:52:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3637:27:0;::::1;3629:61;;;::::0;;-1:-1:-1;;;3629:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3629:61:0;;;;;;;;;;;;;::::1;;3709:23;3720:11;3709:10;:23::i;:::-;3701:73;;;;-1:-1:-1::0;;;3701:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3818:20;:18;:20::i;:::-;-1:-1:-1::0;;;;;3792:47:0::1;3805:11;-1:-1:-1::0;;;;;3792:47:0::1;;;;;;;;;;;3860:30;3878:11;3860:17;:30::i;:::-;3545:353:::0;:::o;1333:146::-;1470:1;;1333:146::o;2766:113::-;2824:7;2851:20;:18;:20::i;3906:289::-;2379:10;2359:16;:14;:16::i;:::-;-1:-1:-1;;;;;2359:30:0;;2351:52;;;;;-1:-1:-1;;;2351:52:0;;;;;;;;;;;;-1:-1:-1;;;2351:52:0;;;;;;;;;;;;;;;4010:33:::1;4031:11;4010:20;:33::i;:::-;4057:12;4071:23;4106:4;-1:-1:-1::0;;;;;4098:18:0::1;4124:9;4135:4;4098:42;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4098:42:0;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4056:84:0;;;;4159:7;4175:10;4151:36;;;;;-1:-1:-1::0;;;4151:36:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;4151:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:1;;3906:289:::0;;:::o;3129:232::-;2379:10;2359:16;:14;:16::i;:::-;-1:-1:-1;;;;;2359:30:0;;2351:52;;;;;-1:-1:-1;;;2351:52:0;;;;;;;;;;;;-1:-1:-1;;;2351:52:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3220:22:0;::::1;3212:47;;;::::0;;-1:-1:-1;;;3212:47:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3212:47:0;;;;;;;;;;;;;::::1;;3275:44;3292:8;3302:16;:14;:16::i;:::-;3275:44;::::0;;-1:-1:-1;;;;;3275:44:0;;::::1;::::0;;;;;::::1;;::::0;::::1;::::0;;;;;;;;;;;::::1;3330:23;3344:8;3330:13;:23::i;2534:224::-:0;1943:38;;;-1:-1:-1;;;1943:38:0;;;;;;;;;;;;2701:15;2534:224;:::o;4402:274::-;4462:4;-1:-1:-1;;;;;4483:21:0;;4479:66;;-1:-1:-1;4528:5:0;4521:12;;4479:66;-1:-1:-1;4612:20:0;;4660:8;;4402:274;;;;:::o;4203:187::-;4270:16;1859:47;;;;;;;;;;;;;;;;;;4343:29;;;;-1:-1:-1;;4328:55:0:o;3369:168::-;1943:38;;;-1:-1:-1;;;1943:38:0;;;;;;;;;;;;3493:26;3478:52::o
Swarm Source
ipfs://bd8490ecd2dd19476df9b9d5f37a52671ba82cd4c105ad3e6223cfedfafec58b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ Download: CSV Export ]
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.