Source Code
Overview
ETH Balance
0 ETH
Token Holdings
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 10,410 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Swap To | 3355570 | 8 hrs ago | IN | 0 ETH | 0.00000017 | ||||
Transfer To | 3355490 | 8 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3355472 | 8 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3355418 | 9 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3355417 | 9 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3355398 | 9 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354930 | 10 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354886 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354877 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354863 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354853 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354853 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354843 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354843 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354837 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354836 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354831 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354829 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354829 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354829 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354829 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Swap To | 3354827 | 11 hrs ago | IN | 0 ETH | 0.00000017 | ||||
Transfer To | 3354819 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354809 | 11 hrs ago | IN | 0 ETH | 0.0000001 | ||||
Transfer To | 3354808 | 11 hrs ago | IN | 0 ETH | 0.0000001 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xc37d60a6...d2451E540 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Manager
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: Manager pragma solidity >=0.8.0 <0.9.0; import "./i_swapper.sol"; import "./safe_math_lite.sol"; import "./i_erc20_lite.sol"; contract Manager { using SafeMathLite for uint; using SafeMathLite for uint112; bytes4 private constant _transferFn = bytes4(keccak256(bytes('transfer(address,uint256)'))); bytes4 private constant _approveFn = bytes4(keccak256(bytes('approve(address,uint256)'))); mapping(address => bool) private _admins; ISwapper private _swapper; address private _token0; uint private _token0NetPercent; address private _token1; uint private _token1NetPercent; modifier onlyAdmins() { require(_admins[msg.sender], "This operation only for admins"); _; } constructor( address swapper, address admin, address token0, uint token0Commission, address token1, uint token1Commission ) { _admins[msg.sender] = true; _admins[admin] = true; _swapper = ISwapper(swapper); require(token0 == _swapper.token0(), "Incorrect address token0"); _token0 = token0; _token0NetPercent = uint(100).sub(token0Commission); require(token1 == _swapper.token1(), "Incorrect address token1"); _token1 = token1; _token1NetPercent = uint(100).sub(token1Commission); } function swapTo( uint in0, uint in1, address to, bytes calldata data ) external onlyAdmins { require((in0 == 0 && in1 > 0) || (in1 == 0 && in0 > 0), "Incorrect amounts to swap"); require(to != address(0), "Incorrect address to swap"); if (in0 > 0) _safeTransfer(_token0, address(_swapper), in0); if (in1 > 0) _safeTransfer(_token1, address(_swapper), in1); (uint out0, uint out1) = rateIn( in0.mul(_token0NetPercent).div(100), in1.mul(_token1NetPercent).div(100) ); _swapper.swap(out0, out1, to, data); } function rates( uint in0, uint in1, uint out0, uint out1 ) public view returns (uint in0_, uint in1_, uint out0_, uint out1_) { (in0_, in1_, out0_, out1_) = (0, 0, 0, 0); if (in0 > 0 || in1 > 0) { (out0_, out1_) = rateIn( in0.mul(_token0NetPercent).div(100), in1.mul(_token1NetPercent).div(100) ); out0_ = out0_.mul(_token0NetPercent).div(100); out1_ = out1_.mul(_token1NetPercent).div(100); } if (out0 > 0 || out1 > 0) { (in0_, in1_) = rateOut( out0.mul(100).div(_token0NetPercent), out1.mul(100).div(_token1NetPercent) ); in0_ = in0_.mul(100).div(_token0NetPercent); in1_ = in1_.mul(100).div(_token1NetPercent); } } function rateIn( uint in0, uint in1 ) public view returns (uint out0_, uint out1_) { (uint112 reserve0, uint112 reserve1,) = _swapper.getReserves(); (out0_, out1_) = (0, 0); if (in1 > 0) { out0_ = reserve0.mul(10000).sub( reserve0.mul(reserve1).mul(10000 ** 2).div( in1.mul(9975).add( reserve1.mul(10000) ) ) ).div(10000).sub(1); require(out0_ < reserve0, "in1 amount is very large"); } if (in0 > 0) { out1_ = reserve1.mul(10000).sub( reserve0.mul(reserve1).mul(10000 ** 2).div( in0.mul(9975).add( reserve0.mul(10000) ) ) ).div(10000).sub(1); require(out1_ < reserve1, "in0 amount is very large"); } } function rateOut( uint out0, uint out1 ) public view returns (uint in0_, uint in1_) { (uint112 reserve0, uint112 reserve1,) = _swapper.getReserves(); (in0_, in1_) = (0, 0); if (out1 > 0) { require(out1 < reserve1, "out1 amount is very large"); in0_ = reserve0.mul(reserve1).mul(10000 ** 2).div( reserve1.sub(out1).mul(10000) ).sub( reserve0.mul(10000) ).div(9975).add(1); } if (out0 > 0) { require(out0 < reserve0, "out0 amount is very large"); in1_ = reserve0.mul(reserve1).mul(10000 ** 2).div( reserve0.sub(out0).mul(10000) ).sub( reserve1.mul(10000) ).div(9975).add(1); } } function transferTo( address token, address to, uint256 amount ) external onlyAdmins { _safeTransfer(token, to, amount); } function approveTo( address token, address to, uint256 amount ) external onlyAdmins { _safeApprove(token, to, amount); } function liquidation( address[] calldata tokens, address to ) external onlyAdmins { for (uint i = 0; i < tokens.length; ++i) { _safeTransfer( tokens[i], to, IErc20Lite(tokens[i]).balanceOf(address(this)) ); } } function _safeTransfer(address token, address to, uint value) private { (bool success, bytes memory data) = token.call(abi.encodeWithSelector(_transferFn, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "Safe transfer failed"); } function _safeApprove(address token, address to, uint value) private { (bool success, bytes memory data) = token.call(abi.encodeWithSelector(_approveFn, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "Safe approve failed"); } }
// SPDX-License-Identifier: Manager pragma solidity >=0.8.0 <0.9.0; interface IErc20Lite { // Receiving balance of function balanceOf(address owner) external view returns (uint256); // Event on transfer event Transfer(address indexed from, address indexed to, uint256 value); // Transfer tokens function transfer(address to, uint256 amount) external returns (bool); }
// SPDX-License-Identifier: Manager pragma solidity >=0.8.0 <0.9.0; interface ISwapper { // Token swap function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; // Receiving liquidity function getReserves() external view returns (uint112 reserve0_, uint112 reserve1_, uint32 blockTimestampLast_); // Receiving token0 address function token0() external view returns (address token0_); // Receiving token1 address function token1() external view returns (address token1_); }
// SPDX-License-Identifier: Manager pragma solidity >=0.8.0 <0.9.0; library SafeMathLite { function add(uint a, uint b) internal pure returns (uint) { uint result = a + b; require(result >= a, "math add overflow"); return result; } function sub(uint a, uint b) internal pure returns (uint) { require(a >= b, "math sub overflow"); return a - b; } function mul(uint a, uint b) internal pure returns (uint) { if (a == 0) { return 0; } uint result = a * b; require(result / a == b, "math mul overflow"); return result; } function div(uint a, uint b) internal pure returns (uint) { require(b > 0, "math div overflow"); return a / b; } }
[{"inputs":[{"internalType":"address","name":"swapper","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"token0","type":"address"},{"internalType":"uint256","name":"token0Commission","type":"uint256"},{"internalType":"address","name":"token1","type":"address"},{"internalType":"uint256","name":"token1Commission","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approveTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"address","name":"to","type":"address"}],"name":"liquidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"in0","type":"uint256"},{"internalType":"uint256","name":"in1","type":"uint256"}],"name":"rateIn","outputs":[{"internalType":"uint256","name":"out0_","type":"uint256"},{"internalType":"uint256","name":"out1_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"out0","type":"uint256"},{"internalType":"uint256","name":"out1","type":"uint256"}],"name":"rateOut","outputs":[{"internalType":"uint256","name":"in0_","type":"uint256"},{"internalType":"uint256","name":"in1_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"in0","type":"uint256"},{"internalType":"uint256","name":"in1","type":"uint256"},{"internalType":"uint256","name":"out0","type":"uint256"},{"internalType":"uint256","name":"out1","type":"uint256"}],"name":"rates","outputs":[{"internalType":"uint256","name":"in0_","type":"uint256"},{"internalType":"uint256","name":"in1_","type":"uint256"},{"internalType":"uint256","name":"out0_","type":"uint256"},{"internalType":"uint256","name":"out1_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"in0","type":"uint256"},{"internalType":"uint256","name":"in1","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swapTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferTo","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061007a575f3560e01c8063a5f2a15211610058578063a5f2a152146100f1578063db0cf30914610106578063f2ade07314610119578063f50627321461012c575f80fd5b806324eeaa4e1461007e57806336823a87146100ab5780635c121a38146100de575b5f80fd5b61009161008c366004610d6b565b61013f565b604080519283526020830191909152015b60405180910390f35b6100be6100b9366004610d8b565b610350565b6040805194855260208501939093529183015260608201526080016100a2565b6100916100ec366004610d6b565b61044a565b6101046100ff366004610dd5565b61063c565b005b610104610114366004610e0f565b61067a565b610104610127366004610e9d565b61085b565b61010461013a366004610dd5565b610960565b5f805f8060015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610193573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b79190610f32565b505f95508594509092509050841561029e57806001600160701b031685106102265760405162461bcd60e51b815260206004820152601960248201527f6f75743120616d6f756e742069732076657279206c617267650000000000000060448201526064015b60405180910390fd5b61029b60016102956126f76102896102496001600160701b038816612710610999565b61028f61026b6127106102656001600160701b038b168f610a0a565b90610999565b6102896305f5e1006102656001600160701b038d8116908d16610999565b90610a59565b90610a0a565b90610aa7565b93505b851561034757816001600160701b031686106102fc5760405162461bcd60e51b815260206004820152601960248201527f6f75743020616d6f756e742069732076657279206c6172676500000000000000604482015260640161021d565b61034460016102956126f761028961031f6001600160701b038716612710610999565b61028f61026b6127106102658f8c6001600160701b0316610a0a90919063ffffffff16565b92505b50509250929050565b5f8080808715158061036157505f87115b156103d65761039d61038360646102896003548c61099990919063ffffffff16565b6100ec60646102896005548c61099990919063ffffffff16565b60035491935091506103b790606490610289908590610999565b91506103d360646102896005548461099990919063ffffffff16565b90505b5f8611806103e357505f85115b1561043f57600354610410906103fe90610289896064610999565b60055461008c90610289896064610999565b600354919550935061042790610289866064610999565b60055490945061043c90610289856064610999565b92505b945094509450949050565b5f805f8060015f9054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561049e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c29190610f32565b505f9550859450909250905084156105945761053a600161028f6127106102896105256105076104fb6001600160701b03891685610999565b6102958d6126f7610999565b6102896305f5e1006102656001600160701b038c8116908c16610999565b61028f6001600160701b038916612710610999565b9350816001600160701b031684106105945760405162461bcd60e51b815260206004820152601860248201527f696e3120616d6f756e742069732076657279206c617267650000000000000000604482015260640161021d565b8515610347576105e2600161028f6127106102896105cd6105076105c16001600160701b038a1685610999565b6102958e6126f7610999565b61028f6001600160701b038816612710610999565b9250806001600160701b031683106103475760405162461bcd60e51b815260206004820152601860248201527f696e3020616d6f756e742069732076657279206c617267650000000000000000604482015260640161021d565b335f9081526020819052604090205460ff1661066a5760405162461bcd60e51b815260040161021d90610f7e565b610675838383610af9565b505050565b335f9081526020819052604090205460ff166106a85760405162461bcd60e51b815260040161021d90610f7e565b841580156106b557505f84115b806106c85750831580156106c857505f85115b6107145760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420616d6f756e747320746f207377617000000000000000604482015260640161021d565b6001600160a01b03831661076a5760405162461bcd60e51b815260206004820152601960248201527f496e636f7272656374206164647265737320746f207377617000000000000000604482015260640161021d565b841561078d5760025460015461078d916001600160a01b03908116911687610af9565b83156107b0576004546001546107b0916001600160a01b03908116911686610af9565b5f806107e96107cf60646102896003548b61099990919063ffffffff16565b6100ec60646102896005548b61099990919063ffffffff16565b60015460405163022c0d9f60e01b81529294509092506001600160a01b03169063022c0d9f9061082590859085908a908a908a90600401610fb5565b5f604051808303815f87803b15801561083c575f80fd5b505af115801561084e573d5f803e3d5ffd5b5050505050505050505050565b335f9081526020819052604090205460ff166108895760405162461bcd60e51b815260040161021d90610f7e565b5f5b8281101561095a576109528484838181106108a8576108a8611003565b90506020020160208101906108bd9190611017565b838686858181106108d0576108d0611003565b90506020020160208101906108e59190611017565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610929573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094d9190611030565b610af9565b60010161088b565b50505050565b335f9081526020819052604090205460ff1661098e5760405162461bcd60e51b815260040161021d90610f7e565b610675838383610c36565b5f825f036109a857505f610a04565b5f6109b3838561105b565b9050826109c08583611072565b14610a015760405162461bcd60e51b81526020600482015260116024820152706d617468206d756c206f766572666c6f7760781b604482015260640161021d565b90505b92915050565b5f81831015610a4f5760405162461bcd60e51b81526020600482015260116024820152706d61746820737562206f766572666c6f7760781b604482015260640161021d565b610a018284611091565b5f808211610a9d5760405162461bcd60e51b81526020600482015260116024820152706d61746820646976206f766572666c6f7760781b604482015260640161021d565b610a018284611072565b5f80610ab383856110a4565b905083811015610a015760405162461bcd60e51b81526020600482015260116024820152706d61746820616464206f766572666c6f7760781b604482015260640161021d565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17905291515f928392871691610b8491906110b7565b5f604051808303815f865af19150503d805f8114610bbd576040519150601f19603f3d011682016040523d82523d5f602084013e610bc2565b606091505b5091509150818015610bec575080511580610bec575080806020019051810190610bec91906110cd565b610c2f5760405162461bcd60e51b815260206004820152601460248201527314d85999481d1c985b9cd9995c8819985a5b195960621b604482015260640161021d565b5050505050565b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b17905291515f928392871691610cc191906110b7565b5f604051808303815f865af19150503d805f8114610cfa576040519150601f19603f3d011682016040523d82523d5f602084013e610cff565b606091505b5091509150818015610d29575080511580610d29575080806020019051810190610d2991906110cd565b610c2f5760405162461bcd60e51b815260206004820152601360248201527214d8599948185c1c1c9bdd994819985a5b1959606a1b604482015260640161021d565b5f8060408385031215610d7c575f80fd5b50508035926020909101359150565b5f805f8060808587031215610d9e575f80fd5b5050823594602084013594506040840135936060013592509050565b80356001600160a01b0381168114610dd0575f80fd5b919050565b5f805f60608486031215610de7575f80fd5b610df084610dba565b9250610dfe60208501610dba565b929592945050506040919091013590565b5f805f805f60808688031215610e23575f80fd5b8535945060208601359350610e3a60408701610dba565b9250606086013567ffffffffffffffff811115610e55575f80fd5b8601601f81018813610e65575f80fd5b803567ffffffffffffffff811115610e7b575f80fd5b886020828401011115610e8c575f80fd5b959894975092955050506020019190565b5f805f60408486031215610eaf575f80fd5b833567ffffffffffffffff811115610ec5575f80fd5b8401601f81018613610ed5575f80fd5b803567ffffffffffffffff811115610eeb575f80fd5b8660208260051b8401011115610eff575f80fd5b602091820194509250610f13908501610dba565b90509250925092565b80516001600160701b0381168114610dd0575f80fd5b5f805f60608486031215610f44575f80fd5b610f4d84610f1c565b9250610f5b60208501610f1c565b9150604084015163ffffffff81168114610f73575f80fd5b809150509250925092565b6020808252601e908201527f54686973206f7065726174696f6e206f6e6c7920666f722061646d696e730000604082015260600190565b858152602081018590526001600160a01b03841660408201526080606082018190528101829052818360a08301375f81830160a090810191909152601f909201601f19160101949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611027575f80fd5b610a0182610dba565b5f60208284031215611040575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610a0457610a04611047565b5f8261108c57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610a0457610a04611047565b80820180821115610a0457610a04611047565b5f82518060208501845e5f920191825250919050565b5f602082840312156110dd575f80fd5b81518015158114610a01575f80fdfea2646970667358221220f9cacc4a65182ab3245d592750ee7f3a13fa57e6b092afd2c8fde10f690447ab64736f6c634300081a0033
Deployed Bytecode Sourcemap
157:5708:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3822:808;;;;;;:::i;:::-;;:::i;:::-;;;;539:25:4;;;595:2;580:18;;573:34;;;;512:18;3822:808:2;;;;;;;;2016:857;;;;;;:::i;:::-;;:::i;:::-;;;;1441:25:4;;;1497:2;1482:18;;1475:34;;;;1525:18;;;1518:34;1583:2;1568:18;;1561:34;1428:3;1413:19;2016:857:2;1210:391:4;2879:937:2;;;;;;:::i;:::-;;:::i;4636:162::-;;;;;;:::i;:::-;;:::i;:::-;;1385:625;;;;;;:::i;:::-;;:::i;4970:322::-;;;;;;:::i;:::-;;:::i;4804:160::-;;;;;;:::i;:::-;;:::i;3822:808::-;3904:9;3915;3937:16;3955;3976:8;;;;;;;;;-1:-1:-1;;;;;3976:8:2;-1:-1:-1;;;;;3976:20:2;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4024:1:2;;-1:-1:-1;4024:1:2;;-1:-1:-1;3936:62:2;;-1:-1:-1;3936:62:2;-1:-1:-1;4043:8:2;;4039:288;;4082:8;-1:-1:-1;;;;;4075:15:2;:4;:15;4067:53;;;;-1:-1:-1;;;4067:53:2;;4608:2:4;4067:53:2;;;4590:21:4;4647:2;4627:18;;;4620:30;4686:27;4666:18;;;4659:55;4731:18;;4067:53:2;;;;;;;;;4141:175;4314:1;4141:168;4304:4;4141:158;4266:19;-1:-1:-1;;;;;4266:12:2;;4279:5;4266:12;:19::i;:::-;4141:103;4201:29;4224:5;4201:18;-1:-1:-1;;;;;4201:12:2;;4214:4;4201:12;:18::i;:::-;:22;;:29::i;:::-;4141:38;4168:10;4141:22;-1:-1:-1;;;;;4141:12:2;;;;:22;;:12;:22::i;:38::-;:42;;:103::i;:::-;:107;;:158::i;:168::-;:172;;:175::i;:::-;4134:182;;4039:288;4340:8;;4336:288;;4379:8;-1:-1:-1;;;;;4372:15:2;:4;:15;4364:53;;;;-1:-1:-1;;;4364:53:2;;4962:2:4;4364:53:2;;;4944:21:4;5001:2;4981:18;;;4974:30;5040:27;5020:18;;;5013:55;5085:18;;4364:53:2;4760:349:4;4364:53:2;4438:175;4611:1;4438:168;4601:4;4438:158;4563:19;-1:-1:-1;;;;;4563:12:2;;4576:5;4563:12;:19::i;:::-;4438:103;4498:29;4521:5;4498:18;4511:4;4498:8;-1:-1:-1;;;;;4498:12:2;;;:18;;;;:::i;4438:175::-;4431:182;;4336:288;3926:704;;3822:808;;;;;:::o;2016:857::-;2132:9;;;;2243:7;;;;:18;;;2260:1;2254:3;:7;2243:18;2239:310;;;2294:126;2318:35;2349:3;2318:26;2326:17;;2318:3;:7;;:26;;;;:::i;:35::-;2371;2402:3;2371:26;2379:17;;2371:3;:7;;:26;;;;:::i;2294:126::-;2452:17;;2277:143;;-1:-1:-1;2277:143:2;-1:-1:-1;2442:37:2;;2475:3;;2442:28;;2277:143;;2442:9;:28::i;:37::-;2434:45;;2501:37;2534:3;2501:28;2511:17;;2501:5;:9;;:28;;;;:::i;:37::-;2493:45;;2239:310;2569:1;2562:4;:8;:20;;;;2581:1;2574:4;:8;2562:20;2558:309;;;2656:17;;2613:129;;2638:36;;:13;:4;2647:3;2638:8;:13::i;:36::-;2710:17;;2692:36;;:13;:4;2701:3;2692:8;:13::i;2613:129::-;2781:17;;2598:144;;-1:-1:-1;2598:144:2;-1:-1:-1;2763:36:2;;:13;2598:144;2772:3;2763:8;:13::i;:36::-;2838:17;;2756:43;;-1:-1:-1;2820:36:2;;:13;:4;2829:3;2820:8;:13::i;:36::-;2813:43;;2558:309;2016:857;;;;;;;;;:::o;2879:937::-;2958:10;2970;2993:16;3011;3032:8;;;;;;;;;-1:-1:-1;;;;;3032:8:2;-1:-1:-1;;;;;3032:20:2;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3082:1:2;;-1:-1:-1;3082:1:2;;-1:-1:-1;2992:62:2;;-1:-1:-1;2992:62:2;-1:-1:-1;3101:7:2;;3097:352;;3132:239;3369:1;3132:232;3358:5;3132:221;3173:166;3237:84;3280:19;-1:-1:-1;;;;;3280:12:2;;3358:5;3280:12;:19::i;:::-;3237:13;:3;3245:4;3237:7;:13::i;:84::-;3173:38;3200:10;3173:22;-1:-1:-1;;;;;3173:12:2;;;;:22;;:12;:22::i;:166::-;3132:19;-1:-1:-1;;;;;3132:12:2;;3145:5;3132:12;:19::i;:239::-;3124:247;;3401:8;-1:-1:-1;;;;;3393:16:2;:5;:16;3385:53;;;;-1:-1:-1;;;3385:53:2;;5316:2:4;3385:53:2;;;5298:21:4;5355:2;5335:18;;;5328:30;5394:26;5374:18;;;5367:54;5438:18;;3385:53:2;5114:348:4;3385:53:2;3462:7;;3458:352;;3493:239;3730:1;3493:232;3719:5;3493:221;3534:166;3598:84;3641:19;-1:-1:-1;;;;;3641:12:2;;3719:5;3641:12;:19::i;:::-;3598:13;:3;3606:4;3598:7;:13::i;3534:166::-;3493:19;-1:-1:-1;;;;;3493:12:2;;3506:5;3493:12;:19::i;:239::-;3485:247;;3762:8;-1:-1:-1;;;;;3754:16:2;:5;:16;3746:53;;;;-1:-1:-1;;;3746:53:2;;5669:2:4;3746:53:2;;;5651:21:4;5708:2;5688:18;;;5681:30;5747:26;5727:18;;;5720:54;5791:18;;3746:53:2;5467:348:4;4636:162:2;699:10;691:7;:19;;;;;;;;;;;;;683:62;;;;-1:-1:-1;;;683:62:2;;;;;;;:::i;:::-;4759:32:::1;4773:5;4780:2;4784:6;4759:13;:32::i;:::-;4636:162:::0;;;:::o;1385:625::-;699:10;691:7;:19;;;;;;;;;;;;;683:62;;;;-1:-1:-1;;;683:62:2;;;;;;;:::i;:::-;1531:8;;:19;::::1;;;;1549:1;1543:3;:7;1531:19;1530:46;;;-1:-1:-1::0;1556:8:2;;:19;::::1;;;;1574:1;1568:3;:7;1556:19;1522:84;;;::::0;-1:-1:-1;;;1522:84:2;;6381:2:4;1522:84:2::1;::::0;::::1;6363:21:4::0;6420:2;6400:18;;;6393:30;6459:27;6439:18;;;6432:55;6504:18;;1522:84:2::1;6179:349:4::0;1522:84:2::1;-1:-1:-1::0;;;;;1624:16:2;::::1;1616:54;;;::::0;-1:-1:-1;;;1616:54:2;;6735:2:4;1616:54:2::1;::::0;::::1;6717:21:4::0;6774:2;6754:18;;;6747:30;6813:27;6793:18;;;6786:55;6858:18;;1616:54:2::1;6533:349:4::0;1616:54:2::1;1685:7:::0;;1681:59:::1;;1708:7;::::0;;1725:8;1694:46:::1;::::0;-1:-1:-1;;;;;1708:7:2;;::::1;::::0;1725:8:::1;1736:3:::0;1694:13:::1;:46::i;:::-;1754:7:::0;;1750:59:::1;;1777:7;::::0;;1794:8;1763:46:::1;::::0;-1:-1:-1;;;;;1777:7:2;;::::1;::::0;1794:8:::1;1805:3:::0;1763:13:::1;:46::i;:::-;1820:9;1831::::0;1844:114:::1;1864:35;1895:3;1864:26;1872:17;;1864:3;:7;;:26;;;;:::i;:35::-;1913;1944:3;1913:26;1921:17;;1913:3;:7;;:26;;;;:::i;1844:114::-;1968:8;::::0;:35:::1;::::0;-1:-1:-1;;;1968:35:2;;1819:139;;-1:-1:-1;1819:139:2;;-1:-1:-1;;;;;;1968:8:2::1;::::0;:13:::1;::::0;:35:::1;::::0;1819:139;;;;1994:2;;1998:4;;;;1968:35:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1512:498;;1385:625:::0;;;;;:::o;4970:322::-;699:10;691:7;:19;;;;;;;;;;;;;683:62;;;;-1:-1:-1;;;683:62:2;;;;;;;:::i;:::-;5087:6:::1;5082:204;5099:17:::0;;::::1;5082:204;;;5137:138;5168:6;;5175:1;5168:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5195:2;5226:6;;5233:1;5226:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5215:46;::::0;-1:-1:-1;;;5215:46:2;;5255:4:::1;5215:46;::::0;::::1;7993:51:4::0;-1:-1:-1;;;;;5215:31:2;;;::::1;::::0;::::1;::::0;7966:18:4;;5215:46:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5137:13;:138::i;:::-;5118:3;;5082:204;;;;4970:322:::0;;;:::o;4804:160::-;699:10;691:7;:19;;;;;;;;;;;;;683:62;;;;-1:-1:-1;;;683:62:2;;;;;;;:::i;:::-;4926:31:::1;4939:5;4946:2;4950:6;4926:12;:31::i;410:226:3:-:0;462:4;482:1;487;482:6;478:45;;-1:-1:-1;511:1:3;504:8;;478:45;532:11;546:5;550:1;546;:5;:::i;:::-;532:19;-1:-1:-1;583:1:3;569:10;578:1;532:19;569:10;:::i;:::-;:15;561:45;;;;-1:-1:-1;;;561:45:3;;8973:2:4;561:45:3;;;8955:21:4;9012:2;8992:18;;;8985:30;-1:-1:-1;;;9031:18:4;;;9024:47;9088:18;;561:45:3;8771:341:4;561:45:3;623:6;-1:-1:-1;410:226:3;;;;;:::o;271:133::-;323:4;352:1;347;:6;;339:36;;;;-1:-1:-1;;;339:36:3;;9319:2:4;339:36:3;;;9301:21:4;9358:2;9338:18;;;9331:30;-1:-1:-1;;;9377:18:4;;;9370:47;9434:18;;339:36:3;9117:341:4;339:36:3;392:5;396:1;392;:5;:::i;642:132::-;694:4;722:1;718;:5;710:35;;;;-1:-1:-1;;;710:35:3;;9798:2:4;710:35:3;;;9780:21:4;9837:2;9817:18;;;9810:30;-1:-1:-1;;;9856:18:4;;;9849:47;9913:18;;710:35:3;9596:341:4;710:35:3;762:5;766:1;762;:5;:::i;97:168::-;149:4;;179:5;183:1;179;:5;:::i;:::-;165:19;;212:1;202:6;:11;;194:41;;;;-1:-1:-1;;;194:41:3;;10274:2:4;194:41:3;;;10256:21:4;10313:2;10293:18;;;10286:30;-1:-1:-1;;;10332:18:4;;;10325:47;10389:18;;194:41:3;10072:341:4;5298:281:2;305:34;;;;;;;;;;;;;;;;;5425:46;;-1:-1:-1;;;;;10610:32:4;;;5425:46:2;;;10592:51:4;10659:18;;;;10652:34;;;5425:46:2;;;;;;;;;;10565:18:4;;;;5425:46:2;;;;;;;-1:-1:-1;;;;;5425:46:2;-1:-1:-1;;;5425:46:2;;;5414:58;;-1:-1:-1;;;;5414:10:2;;;:58;;5425:46;5414:58;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5378:94;;;;5490:7;:57;;;;-1:-1:-1;5502:11:2;;:16;;:44;;;5533:4;5522:24;;;;;;;;;;;;:::i;:::-;5482:90;;;;-1:-1:-1;;;5482:90:2;;11487:2:4;5482:90:2;;;11469:21:4;11526:2;11506:18;;;11499:30;-1:-1:-1;;;11545:18:4;;;11538:50;11605:18;;5482:90:2;11285:344:4;5482:90:2;5368:211;;5298:281;;;:::o;5585:278::-;401:33;;;;;;;;;;;;;;;;;5711:45;;-1:-1:-1;;;;;10610:32:4;;;5711:45:2;;;10592:51:4;10659:18;;;;10652:34;;;5711:45:2;;;;;;;;;;10565:18:4;;;;5711:45:2;;;;;;;-1:-1:-1;;;;;5711:45:2;-1:-1:-1;;;5711:45:2;;;5700:57;;-1:-1:-1;;;;5700:10:2;;;:57;;5711:45;5700:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5664:93;;;;5775:7;:57;;;;-1:-1:-1;5787:11:2;;:16;;:44;;;5818:4;5807:24;;;;;;;;;;;;:::i;:::-;5767:89;;;;-1:-1:-1;;;5767:89:2;;11836:2:4;5767:89:2;;;11818:21:4;11875:2;11855:18;;;11848:30;-1:-1:-1;;;11894:18:4;;;11887:49;11953:18;;5767:89:2;11634:343:4;14:346;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;204:23:4;;;324:2;309:18;;;296:32;;-1:-1:-1;14:346:4:o;618:587::-;704:6;712;720;728;781:3;769:9;760:7;756:23;752:33;749:53;;;798:1;795;788:12;749:53;-1:-1:-1;;843:23:4;;;963:2;948:18;;935:32;;-1:-1:-1;1066:2:4;1051:18;;1038:32;;1169:2;1154:18;1141:32;;-1:-1:-1;618:587:4;-1:-1:-1;618:587:4:o;1606:173::-;1674:20;;-1:-1:-1;;;;;1723:31:4;;1713:42;;1703:70;;1769:1;1766;1759:12;1703:70;1606:173;;;:::o;1784:374::-;1861:6;1869;1877;1930:2;1918:9;1909:7;1905:23;1901:32;1898:52;;;1946:1;1943;1936:12;1898:52;1969:29;1988:9;1969:29;:::i;:::-;1959:39;;2017:38;2051:2;2040:9;2036:18;2017:38;:::i;:::-;1784:374;;2007:48;;-1:-1:-1;;;2124:2:4;2109:18;;;;2096:32;;1784:374::o;2163:895::-;2260:6;2268;2276;2284;2292;2345:3;2333:9;2324:7;2320:23;2316:33;2313:53;;;2362:1;2359;2352:12;2313:53;2407:23;;;-1:-1:-1;2527:2:4;2512:18;;2499:32;;-1:-1:-1;2576:38:4;2610:2;2595:18;;2576:38;:::i;:::-;2566:48;;2665:2;2654:9;2650:18;2637:32;2692:18;2684:6;2681:30;2678:50;;;2724:1;2721;2714:12;2678:50;2747:22;;2800:4;2792:13;;2788:27;-1:-1:-1;2778:55:4;;2829:1;2826;2819:12;2778:55;2869:2;2856:16;2895:18;2887:6;2884:30;2881:50;;;2927:1;2924;2917:12;2881:50;2972:7;2967:2;2958:6;2954:2;2950:15;2946:24;2943:37;2940:57;;;2993:1;2990;2983:12;2940:57;2163:895;;;;-1:-1:-1;2163:895:4;;-1:-1:-1;;;3024:2:4;3016:11;;3046:6;2163:895::o;3063:690::-;3158:6;3166;3174;3227:2;3215:9;3206:7;3202:23;3198:32;3195:52;;;3243:1;3240;3233:12;3195:52;3283:9;3270:23;3316:18;3308:6;3305:30;3302:50;;;3348:1;3345;3338:12;3302:50;3371:22;;3424:4;3416:13;;3412:27;-1:-1:-1;3402:55:4;;3453:1;3450;3443:12;3402:55;3493:2;3480:16;3519:18;3511:6;3508:30;3505:50;;;3551:1;3548;3541:12;3505:50;3606:7;3599:4;3589:6;3586:1;3582:14;3578:2;3574:23;3570:34;3567:47;3564:67;;;3627:1;3624;3617:12;3564:67;3658:4;3650:13;;;;-1:-1:-1;3682:6:4;-1:-1:-1;3707:40:4;;3726:20;;3707:40;:::i;:::-;3697:50;;3063:690;;;;;:::o;3758:188::-;3837:13;;-1:-1:-1;;;;;3879:42:4;;3869:53;;3859:81;;3936:1;3933;3926:12;3951:450;4038:6;4046;4054;4107:2;4095:9;4086:7;4082:23;4078:32;4075:52;;;4123:1;4120;4113:12;4075:52;4146:40;4176:9;4146:40;:::i;:::-;4136:50;;4205:49;4250:2;4239:9;4235:18;4205:49;:::i;:::-;4195:59;;4297:2;4286:9;4282:18;4276:25;4341:10;4334:5;4330:22;4323:5;4320:33;4310:61;;4367:1;4364;4357:12;4310:61;4390:5;4380:15;;;3951:450;;;;;:::o;5820:354::-;6022:2;6004:21;;;6061:2;6041:18;;;6034:30;6100:32;6095:2;6080:18;;6073:60;6165:2;6150:18;;5820:354::o;6887:632::-;7110:25;;;7166:2;7151:18;;7144:34;;;-1:-1:-1;;;;;7214:32:4;;7209:2;7194:18;;7187:60;7283:3;7278:2;7263:18;;7256:31;;;7303:19;;7296:35;;;7324:6;7374;7234:3;7353:19;;7340:49;7439:1;7409:22;;;7433:3;7405:32;;;7398:43;;;;7502:2;7481:15;;;-1:-1:-1;;7477:29:4;7462:45;7458:55;;6887:632;-1:-1:-1;;;;6887:632:4:o;7524:127::-;7585:10;7580:3;7576:20;7573:1;7566:31;7616:4;7613:1;7606:15;7640:4;7637:1;7630:15;7656:186;7715:6;7768:2;7756:9;7747:7;7743:23;7739:32;7736:52;;;7784:1;7781;7774:12;7736:52;7807:29;7826:9;7807:29;:::i;8055:184::-;8125:6;8178:2;8166:9;8157:7;8153:23;8149:32;8146:52;;;8194:1;8191;8184:12;8146:52;-1:-1:-1;8217:16:4;;8055:184;-1:-1:-1;8055:184:4:o;8244:127::-;8305:10;8300:3;8296:20;8293:1;8286:31;8336:4;8333:1;8326:15;8360:4;8357:1;8350:15;8376:168;8449:9;;;8480;;8497:15;;;8491:22;;8477:37;8467:71;;8518:18;;:::i;8549:217::-;8589:1;8615;8605:132;;8659:10;8654:3;8650:20;8647:1;8640:31;8694:4;8691:1;8684:15;8722:4;8719:1;8712:15;8605:132;-1:-1:-1;8751:9:4;;8549:217::o;9463:128::-;9530:9;;;9551:11;;;9548:37;;;9565:18;;:::i;9942:125::-;10007:9;;;10028:10;;;10025:36;;;10041:18;;:::i;10697:301::-;10826:3;10864:6;10858:13;10910:6;10903:4;10895:6;10891:17;10886:3;10880:37;10972:1;10936:16;;10961:13;;;-1:-1:-1;10936:16:4;10697:301;-1:-1:-1;10697:301:4:o;11003:277::-;11070:6;11123:2;11111:9;11102:7;11098:23;11094:32;11091:52;;;11139:1;11136;11129:12;11091:52;11171:9;11165:16;11224:5;11217:13;11210:21;11203:5;11200:32;11190:60;;11246:1;11243;11236:12
Swarm Source
ipfs://f9cacc4a65182ab3245d592750ee7f3a13fa57e6b092afd2c8fde10f690447ab
Loading...
Loading
[ 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.