Overview
S Balance
0 S
S Value
-More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
368524 | 29 days ago | Contract Creation | 0 S |
Loading...
Loading
Contract Name:
Sansa0x
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity Standard Json-Input format)
// File: contracts\openzeppelin\contracts\token\ERC20\IERC20.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); } // File: contracts\openzeppelin\contracts\token\ERC20\extensions\IERC20Metadata.sol pragma solidity ^0.8.19; interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } // File: contracts\openzeppelin\contracts\utils\introspection\IERC165.sol // OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol) pragma solidity ^0.8.19; /** * @dev Interface of the ERC-165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[ERC]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } // File: contracts\openzeppelin\contracts\utils\ReentrancyGuard.sol // OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.19; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at, * consider using {ReentrancyGuardTransient} instead. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } } // File: contracts\0xSansa\0xSansaIBridger.sol pragma solidity ^0.8.19; interface ISansa0xBridger { // error called from estimatePrice and bridge error UnkownChain(uint256 chaindID); // amount: the amount of Sansa0x Token to send to other chain. function estimatePrice(ISansa0xBridgerCallback addr, uint256 chaindID, bytes calldata payload) external view returns (uint256 fee); //Generic bridge object function bridge(address from, uint256 chaindID, bytes memory payload) payable external returns (bool); //must be protected by Admin Route right. function registerBridgerCallback(ISansa0xBridgerCallback src_, uint256 gas_) external returns (bool); } interface ISansa0xBridgerCallback { function onBridge(bytes calldata payload) external returns (bool); event OnBridge(ISansa0xBridger indexed bridge, bytes payload); } // File: contracts/0xSansa/0xSansaToken.sol pragma solidity ^0.8.19; interface IBlast { function configureClaimableYield() external; function claimYield(address contractAddress, address recipient, uint256 amount) external; function claimAllYield(address contractAddress, address recipient) external; function configureClaimableGas() external; function claimAllGas(address contractAddress, address recipient) external returns (uint256); function claimMaxGas(address contractAddress, address recipient) external returns (uint256); } interface IBlastPoints { function configurePointsOperator(address operator) external; function configurePointsOperatorOnBehalf(address contractAddress, address operator) external; } contract Sansa0x is IERC20Metadata, ISansa0xBridgerCallback, IERC165, ReentrancyGuard { function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(ISansa0xBridgerCallback).interfaceId || interfaceId == type(IERC20).interfaceId || interfaceId == type(IERC20Metadata).interfaceId || interfaceId == type(IERC165).interfaceId; } address public blaster = 0xd6D88d8602520a9Dd8445DE07Ebdb7A55d421022; IBlast public constant BLAST = IBlast(0x4300000000000000000000000000000000000002); address public owner = 0xd6D88d8602520a9Dd8445DE07Ebdb7A55d421022; uint256 public totalSupply = 1_000_000 * 10 ** 18; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; //for transferFrom and bridgeFrom. mapping(ISansa0xBridger => uint8) public mapBridges; //tri-state 0 = undefined, 1 = true, other = false! ISansa0xBridger[] public arrayBridges; string public constant name = "0xsansa"; string public constant symbol = "Woof"; uint8 public constant decimals = 18; constructor() { balanceOf[0xd6D88d8602520a9Dd8445DE07Ebdb7A55d421022] = totalSupply; uint chainId; assembly { chainId := chainid() } if (chainId == 81457) { BLAST.configureClaimableYield(); BLAST.configureClaimableGas(); IBlastPoints(0x2536FE9ab3F511540F2f9e2eC2A805005C3Dd800).configurePointsOperator(blaster); } } // to audit more easily. function sizeArrayBridges() external view returns (uint256) { return arrayBridges.length; } function safeAdd(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; require(c >= a); } function safeSub(uint256 a, uint256 b) internal pure returns (uint256 c) { require(b <= a); c = a - b; } function approve(address spender, uint256 value) external returns (bool) { allowance[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function transfer(address to, uint256 value) external returns (bool) { balanceOf[msg.sender] = safeSub(balanceOf[msg.sender], value); if (to == address(0) || to == address(0xdead)) totalSupply = safeSub(totalSupply, value); else balanceOf[to] = safeAdd(balanceOf[to], value); emit Transfer(msg.sender, to, value); return true; } function transferFrom(address from, address to, uint256 value) external returns (bool) { balanceOf[from] = safeSub(balanceOf[from], value); allowance[from][msg.sender] = safeSub(allowance[from][msg.sender], value); if (to == address(0) || to == address(0xdead)) totalSupply = safeSub(totalSupply, value); else balanceOf[to] = safeAdd(balanceOf[to], value); emit Transfer(from, to, value); return true; } /** Bridge functions + Sansa0x bridgers securize "route". + same contract address on all chains prevent add 'mint'/'burn' multichain effect. + System multichain "closed" to prevent also to expand the supply 'mint'/'burn' multichain effect. + so only Token contract is responsible of mint / burn. */ function estimatePrice(ISansa0xBridger bridge_, uint256 dest_chainID, uint256 value) external view returns (uint256 fee) { require(mapBridges[bridge_] == 1, "bridge unknow"); return bridge_.estimatePrice(this, dest_chainID, abi.encode(msg.sender, value)); } function bridge(ISansa0xBridger bridge_, uint256 dest_chainID, address to, uint256 amount) external payable nonReentrant returns (bool) { require(mapBridges[bridge_] == 1, "bridge unknow"); balanceOf[msg.sender] = safeSub(balanceOf[msg.sender], amount); totalSupply = safeSub(totalSupply, amount); return bridge_.bridge{value: msg.value}(msg.sender, dest_chainID, abi.encode(to, amount)); } function bridgeFrom(ISansa0xBridger bridge_, uint256 dest_chainID, address from, address to, uint256 amount) external payable nonReentrant returns (bool) { require(mapBridges[bridge_] == 1, "bridge unknow"); balanceOf[msg.sender] = safeSub(balanceOf[from], amount); allowance[from][msg.sender] = safeSub(allowance[from][msg.sender], amount); totalSupply = safeSub(totalSupply, amount); return bridge_.bridge{value: msg.value}(msg.sender, dest_chainID, abi.encode(to, amount)); } function setOwner(address next) external { require(msg.sender == owner, "onlyowner"); owner = next; } function setBridgeState(ISansa0xBridger bridge_, bool state) external { require(msg.sender == owner, "onlyowner"); require(IERC165(address(bridge_)).supportsInterface(type(ISansa0xBridger).interfaceId), "not a bridge"); //a least no wallet can be registered. if (mapBridges[bridge_] == 0) arrayBridges.push(bridge_); mapBridges[bridge_] = state ? 1 : 2; } function onBridge(bytes calldata payload) external returns (bool) { require(mapBridges[ISansa0xBridger(msg.sender)] == 1, "bridge unknow"); (address to, uint256 amount) = abi.decode(payload, (address, uint256)); totalSupply = safeAdd(totalSupply, amount); balanceOf[to] = safeAdd(balanceOf[to], amount); emit OnBridge(ISansa0xBridger(msg.sender), payload); return true; } modifier onlyBlaster() { require(msg.sender == blaster, "only blaster"); uint chainId; assembly { chainId := chainid() } require(chainId == 81457, "on blast_L2 only"); _; } function claimYield(address recipient, uint256 amount) external onlyBlaster { BLAST.claimYield(address(this), recipient, amount); } function claimAllYield(address recipient) external onlyBlaster { BLAST.claimAllYield(address(this), recipient); } function claimMyContractsGas() external onlyBlaster { BLAST.claimAllGas(address(this), msg.sender); } function claimMyContractsGasMax() external onlyBlaster { BLAST.claimMaxGas(address(this), msg.sender); } }
{ "metadata": { "appendCBOR": true, "bytecodeHash": "ipfs", "useLiteralContent": false }, "optimizer": { "enabled": true, "runs": 1000000 }, "viaIR": true, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract ISansa0xBridger","name":"bridge","type":"address"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"OnBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BLAST","outputs":[{"internalType":"contract IBlast","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"arrayBridges","outputs":[{"internalType":"contract ISansa0xBridger","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blaster","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISansa0xBridger","name":"bridge_","type":"address"},{"internalType":"uint256","name":"dest_chainID","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bridge","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"contract ISansa0xBridger","name":"bridge_","type":"address"},{"internalType":"uint256","name":"dest_chainID","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bridgeFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"claimAllYield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimMyContractsGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimMyContractsGasMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimYield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISansa0xBridger","name":"bridge_","type":"address"},{"internalType":"uint256","name":"dest_chainID","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"estimatePrice","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISansa0xBridger","name":"","type":"address"}],"name":"mapBridges","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"onBridge","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISansa0xBridger","name":"bridge_","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setBridgeState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"next","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sizeArrayBridges","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060409080825234620001a05760006001815573d6d88d8602520a9dd8445de07ebdb7a55d4210228060018060a01b031981816001541617600155600254161760025569d3c21bcecceda10000009081600355825260046020528382205562013e31461462000079575b82516119579081620001d08239f35b73430000000000000000000000000000000000000291823b15620001805763784c3b3d60e11b8152818160048183875af18015620001965762000184575b5090803b1562000180578180916004855180948193634e606c4760e01b83525af180156200015a5790829162000168575b5050600154732536fe9ab3f511540f2f9e2ec2a805005c3dd800906001600160a01b0316813b156200016457829160248392865194859384926336b91f2b60e01b845260048401525af180156200015a57156200006a576200014b8291620001a5565b6200015757806200006a565b80fd5b83513d84823e3d90fd5b8280fd5b6200017390620001a5565b62000157578038620000e8565b5080fd5b6200018f90620001a5565b38620000b7565b84513d84823e3d90fd5b600080fd5b6001600160401b038111620001b957604052565b634e487b7160e01b600052604160045260246000fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c90816301ffc9a7146113c257508063039257271461138657806306fdde031461130c578063095ea7b31461127057806313af4035146111e657806318160ddd146111aa5780631869ebda146110c157806319fd532814610e8857806323b872dd14610d5b578063313ce56714610d22578063442cfd8514610cbe5780636fcef12914610c0e57806370a0823114610bad57806370ef3bbe14610b5b57806377d5d2dc14610ab457806381c3359714610a475780638da5cb5b146109f557806395d89b411461097557806397d7577614610929578063a9059cbb14610839578063af7c13e314610740578063bd914bee14610582578063c2d94aec1461046c578063d029d27614610315578063dd62ed3e1461029f5763ecd7af011461014357600080fd5b3461029b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5761024473ffffffffffffffffffffffffffffffffffffffff6101926115df565b168084526020948591600683526101b1600160ff878920541614611705565b84513384820190815260443560208201529092906101fb9084906040015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284611540565b85518095819482937f7ad9f48600000000000000000000000000000000000000000000000000000000845230908401526024356024840152606060448401526064830190611581565b03915afa928315610290579261025c575b5051908152f35b9091508281813d8311610289575b6102748183611540565b8101031261028457519038610255565b600080fd5b503d61026a565b8251903d90823e3d90fd5b5080fd5b503461029b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020916102d96115df565b826102e2611602565b9273ffffffffffffffffffffffffffffffffffffffff809316815260058652209116600052825280600020549051908152f35b503461029b57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104695783359367ffffffffffffffff9182861161046957366023870112156104695785820135928311610469576024860191838701366024820111610465578786913385526006895261039f600160ff858820541614611705565b031261029b5782359073ffffffffffffffffffffffffffffffffffffffff82168092036104655761041060447fdbe96b3def66ab38d42ee6b184665d03edb11ceaaa29badd3ae3297531c29eee9697989901356103fe816003546116ae565b600355838552828a52888520546116ae565b9183528752858220558385519287845281888501528684013784848301015283817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f339601168101030190a25160018152f35b8280fd5b80fd5b509181923461057e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261057e576104a76115df565b916104cb73ffffffffffffffffffffffffffffffffffffffff600154163314611857565b6104d962013e3146146118bc565b73430000000000000000000000000000000000000292833b1561057a5782517f860043b60000000000000000000000000000000000000000000000000000000081523092810192835273ffffffffffffffffffffffffffffffffffffffff909116602083015292849184919082908490829060400103925af190811561057157506105615750f35b61056a906114e1565b6104695780f35b513d84823e3d90fd5b8480fd5b5050fd5b50829060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610465576105b76115df565b926105c0611625565b73ffffffffffffffffffffffffffffffffffffffff946064358681168103610284576106e1956106a988608435946105f66117b7565b16928387526020998a9660068852610616600160ff8c8c20541614611705565b1680885283875261062a868a8a20546116f1565b3389528488528989205580885260058752888820336000528752610652868a600020546116f1565b908852600587528888203360005287528860002055610673856003546116f1565b6003556101cf88519586928884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b85518097819482937fe10639a00000000000000000000000000000000000000000000000000000000084526024359033908501611782565b039134905af1928315610734578193610702575b5060019055519015158152f35b600191935061072690853d871161072d575b61071e8183611540565b81019061176a565b92906106f5565b503d610714565b509051903d90823e3d90fd5b5082903461046557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104655760206107e79261079a73ffffffffffffffffffffffffffffffffffffffff600154163314611857565b6107a862013e3146146118bc565b82517f662aa11d000000000000000000000000000000000000000000000000000000008152309181019182523360208301529384918291604090910190565b0381867343000000000000000000000000000000000000025af19081156105715750610811575080f35b602090813d8111610832575b6108278183611540565b810103126102845780f35b503d61081d565b50823461046557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557916020926108756115df565b908373ffffffffffffffffffffffffffffffffffffffff602435933386528388526108a385848820546116f1565b3387528489528387205516938415801561091e575b15610901575050506108cc816003546116f1565b6003555b82519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b84815261091184838320546116ae565b92858252875220556108d0565b5061dead85146108b8565b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b57602090517343000000000000000000000000000000000000028152f35b5082903461046557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610465576109f192508051916109b783611524565b82527f576f6f6600000000000000000000000000000000000000000000000000000000602083015251918291602083526020830190611581565b0390f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b5082346104655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610465573591600754831015610469575073ffffffffffffffffffffffffffffffffffffffff610aa5602093611648565b92905490519260031b1c168152f35b5082903461046557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104655760206107e792610b0e73ffffffffffffffffffffffffffffffffffffffff600154163314611857565b610b1c62013e3146146118bc565b82517f954fa5ee000000000000000000000000000000000000000000000000000000008152309181019182523360208301529384918291604090910190565b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5082346104655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557602092829173ffffffffffffffffffffffffffffffffffffffff610c006115df565b168252845220549051908152f35b508260807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557906106a9926106e192610c4b6115df565b610c53611625565b9173ffffffffffffffffffffffffffffffffffffffff60643592610c756117b7565b1690818552602097889460068652610c95600160ff8a8a20541614611705565b338752828652610ca885898920546116f1565b33885283875288882055610673856003546116f1565b503461029b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5760ff8160209373ffffffffffffffffffffffffffffffffffffffff610d116115df565b168152600685522054169051908152f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020905160128152f35b5090346104695760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046957610d946115df565b927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dbe611602565b60443573ffffffffffffffffffffffffffffffffffffffff80971693848652866020988994838652610df385848b20546116f1565b888a52848752838a205560058652828920336000528652610e188584600020546116f1565b888a5260058752838a203360005287528360002055169687158015610e7d575b15610e5d57505050610e4c816003546116f1565b6003555b8551908152a35160018152f35b878152828552610e7084838320546116ae565b9288825285522055610e50565b5061dead8814610e38565b503461029b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b57610ebf6115df565b906024359182151583036110bd5773ffffffffffffffffffffffffffffffffffffffff8091610ef3826002541633146117f2565b16928251917f01ffc9a70000000000000000000000000000000000000000000000000000000083527f8708189a00000000000000000000000000000000000000000000000000000000878401526020928381602481895afa9081156110b3578791611096575b501561103a578486526006835260ff848720541615610fc1575b50939450919260ff9260069115610fb9576001945b865252832091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b600294610f88565b6007546801000000000000000081101561100e5760ff9596975090610ff0826001600696959401600755611648565b819291549060031b9189831b921b1916179055909186959450610f73565b60248760418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b606487848651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f6e6f7420612062726964676500000000000000000000000000000000000000006044820152fd5b6110ad9150843d861161072d5761071e8183611540565b38610f59565b85513d89823e3d90fd5b8380fd5b5082903461046557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557826110fb6115df565b73ffffffffffffffffffffffffffffffffffffffff9361112085600154163314611857565b61112e62013e3146146118bc565b73430000000000000000000000000000000000000290813b156110bd5783606492865197889586947ff9719662000000000000000000000000000000000000000000000000000000008652309086015216602484015260243560448401525af1908115610571575061119e575080f35b6111a7906114e1565b80f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020906003549051908152f35b82346104695760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104695761121e6115df565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006002549173ffffffffffffffffffffffffffffffffffffffff9061126682851633146117f2565b1691161760025580f35b503461029b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b57602091816112ab6115df565b916024359182913381526005875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5780516109f19161134a82611524565b600782527f307873616e736100000000000000000000000000000000000000000000000000602083015251918291602083526020830190611581565b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020906007549051908152f35b839085346104655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557357fffffffff00000000000000000000000000000000000000000000000000000000811680910361046557602092507fd029d2760000000000000000000000000000000000000000000000000000000081149081156114b7575b811561148d575b8115611463575b5015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361145c565b7fa219a0250000000000000000000000000000000000000000000000000000000081149150611455565b7f36372b07000000000000000000000000000000000000000000000000000000008114915061144e565b67ffffffffffffffff81116114f557604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176114f557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114f557604052565b919082519283825260005b8481106115cb5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161158c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b60075481101561167f5760076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908201918281116116c257821061028457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b908181116102845781039081116116c25790565b1561170c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f62726964676520756e6b6e6f77000000000000000000000000000000000000006044820152fd5b90816020910312610284575180151581036102845790565b6117b4939273ffffffffffffffffffffffffffffffffffffffff60609316825260208201528160408201520190611581565b90565b6002600054146117c8576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b156117f957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c796f776e657200000000000000000000000000000000000000000000006044820152fd5b1561185e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6f6e6c7920626c617374657200000000000000000000000000000000000000006044820152fd5b156118c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e20626c6173745f4c32206f6e6c79000000000000000000000000000000006044820152fdfea2646970667358221220b7c7b9340106e5340810bd6db3158787a850828dff71528e4497847fb0a5278364736f6c63430008130033
Deployed Bytecode
0x60806040908082526004918236101561001757600080fd5b600091823560e01c90816301ffc9a7146113c257508063039257271461138657806306fdde031461130c578063095ea7b31461127057806313af4035146111e657806318160ddd146111aa5780631869ebda146110c157806319fd532814610e8857806323b872dd14610d5b578063313ce56714610d22578063442cfd8514610cbe5780636fcef12914610c0e57806370a0823114610bad57806370ef3bbe14610b5b57806377d5d2dc14610ab457806381c3359714610a475780638da5cb5b146109f557806395d89b411461097557806397d7577614610929578063a9059cbb14610839578063af7c13e314610740578063bd914bee14610582578063c2d94aec1461046c578063d029d27614610315578063dd62ed3e1461029f5763ecd7af011461014357600080fd5b3461029b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5761024473ffffffffffffffffffffffffffffffffffffffff6101926115df565b168084526020948591600683526101b1600160ff878920541614611705565b84513384820190815260443560208201529092906101fb9084906040015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284611540565b85518095819482937f7ad9f48600000000000000000000000000000000000000000000000000000000845230908401526024356024840152606060448401526064830190611581565b03915afa928315610290579261025c575b5051908152f35b9091508281813d8311610289575b6102748183611540565b8101031261028457519038610255565b600080fd5b503d61026a565b8251903d90823e3d90fd5b5080fd5b503461029b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020916102d96115df565b826102e2611602565b9273ffffffffffffffffffffffffffffffffffffffff809316815260058652209116600052825280600020549051908152f35b503461029b57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104695783359367ffffffffffffffff9182861161046957366023870112156104695785820135928311610469576024860191838701366024820111610465578786913385526006895261039f600160ff858820541614611705565b031261029b5782359073ffffffffffffffffffffffffffffffffffffffff82168092036104655761041060447fdbe96b3def66ab38d42ee6b184665d03edb11ceaaa29badd3ae3297531c29eee9697989901356103fe816003546116ae565b600355838552828a52888520546116ae565b9183528752858220558385519287845281888501528684013784848301015283817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f339601168101030190a25160018152f35b8280fd5b80fd5b509181923461057e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261057e576104a76115df565b916104cb73ffffffffffffffffffffffffffffffffffffffff600154163314611857565b6104d962013e3146146118bc565b73430000000000000000000000000000000000000292833b1561057a5782517f860043b60000000000000000000000000000000000000000000000000000000081523092810192835273ffffffffffffffffffffffffffffffffffffffff909116602083015292849184919082908490829060400103925af190811561057157506105615750f35b61056a906114e1565b6104695780f35b513d84823e3d90fd5b8480fd5b5050fd5b50829060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610465576105b76115df565b926105c0611625565b73ffffffffffffffffffffffffffffffffffffffff946064358681168103610284576106e1956106a988608435946105f66117b7565b16928387526020998a9660068852610616600160ff8c8c20541614611705565b1680885283875261062a868a8a20546116f1565b3389528488528989205580885260058752888820336000528752610652868a600020546116f1565b908852600587528888203360005287528860002055610673856003546116f1565b6003556101cf88519586928884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b85518097819482937fe10639a00000000000000000000000000000000000000000000000000000000084526024359033908501611782565b039134905af1928315610734578193610702575b5060019055519015158152f35b600191935061072690853d871161072d575b61071e8183611540565b81019061176a565b92906106f5565b503d610714565b509051903d90823e3d90fd5b5082903461046557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104655760206107e79261079a73ffffffffffffffffffffffffffffffffffffffff600154163314611857565b6107a862013e3146146118bc565b82517f662aa11d000000000000000000000000000000000000000000000000000000008152309181019182523360208301529384918291604090910190565b0381867343000000000000000000000000000000000000025af19081156105715750610811575080f35b602090813d8111610832575b6108278183611540565b810103126102845780f35b503d61081d565b50823461046557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557916020926108756115df565b908373ffffffffffffffffffffffffffffffffffffffff602435933386528388526108a385848820546116f1565b3387528489528387205516938415801561091e575b15610901575050506108cc816003546116f1565b6003555b82519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b84815261091184838320546116ae565b92858252875220556108d0565b5061dead85146108b8565b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b57602090517343000000000000000000000000000000000000028152f35b5082903461046557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610465576109f192508051916109b783611524565b82527f576f6f6600000000000000000000000000000000000000000000000000000000602083015251918291602083526020830190611581565b0390f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b5082346104655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610465573591600754831015610469575073ffffffffffffffffffffffffffffffffffffffff610aa5602093611648565b92905490519260031b1c168152f35b5082903461046557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104655760206107e792610b0e73ffffffffffffffffffffffffffffffffffffffff600154163314611857565b610b1c62013e3146146118bc565b82517f954fa5ee000000000000000000000000000000000000000000000000000000008152309181019182523360208301529384918291604090910190565b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5082346104655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557602092829173ffffffffffffffffffffffffffffffffffffffff610c006115df565b168252845220549051908152f35b508260807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557906106a9926106e192610c4b6115df565b610c53611625565b9173ffffffffffffffffffffffffffffffffffffffff60643592610c756117b7565b1690818552602097889460068652610c95600160ff8a8a20541614611705565b338752828652610ca885898920546116f1565b33885283875288882055610673856003546116f1565b503461029b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5760ff8160209373ffffffffffffffffffffffffffffffffffffffff610d116115df565b168152600685522054169051908152f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020905160128152f35b5090346104695760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046957610d946115df565b927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dbe611602565b60443573ffffffffffffffffffffffffffffffffffffffff80971693848652866020988994838652610df385848b20546116f1565b888a52848752838a205560058652828920336000528652610e188584600020546116f1565b888a5260058752838a203360005287528360002055169687158015610e7d575b15610e5d57505050610e4c816003546116f1565b6003555b8551908152a35160018152f35b878152828552610e7084838320546116ae565b9288825285522055610e50565b5061dead8814610e38565b503461029b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b57610ebf6115df565b906024359182151583036110bd5773ffffffffffffffffffffffffffffffffffffffff8091610ef3826002541633146117f2565b16928251917f01ffc9a70000000000000000000000000000000000000000000000000000000083527f8708189a00000000000000000000000000000000000000000000000000000000878401526020928381602481895afa9081156110b3578791611096575b501561103a578486526006835260ff848720541615610fc1575b50939450919260ff9260069115610fb9576001945b865252832091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b600294610f88565b6007546801000000000000000081101561100e5760ff9596975090610ff0826001600696959401600755611648565b819291549060031b9189831b921b1916179055909186959450610f73565b60248760418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b606487848651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f6e6f7420612062726964676500000000000000000000000000000000000000006044820152fd5b6110ad9150843d861161072d5761071e8183611540565b38610f59565b85513d89823e3d90fd5b8380fd5b5082903461046557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557826110fb6115df565b73ffffffffffffffffffffffffffffffffffffffff9361112085600154163314611857565b61112e62013e3146146118bc565b73430000000000000000000000000000000000000290813b156110bd5783606492865197889586947ff9719662000000000000000000000000000000000000000000000000000000008652309086015216602484015260243560448401525af1908115610571575061119e575080f35b6111a7906114e1565b80f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020906003549051908152f35b82346104695760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104695761121e6115df565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006002549173ffffffffffffffffffffffffffffffffffffffff9061126682851633146117f2565b1691161760025580f35b503461029b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b57602091816112ab6115df565b916024359182913381526005875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b5780516109f19161134a82611524565b600782527f307873616e736100000000000000000000000000000000000000000000000000602083015251918291602083526020830190611581565b503461029b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261029b576020906007549051908152f35b839085346104655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046557357fffffffff00000000000000000000000000000000000000000000000000000000811680910361046557602092507fd029d2760000000000000000000000000000000000000000000000000000000081149081156114b7575b811561148d575b8115611463575b5015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361145c565b7fa219a0250000000000000000000000000000000000000000000000000000000081149150611455565b7f36372b07000000000000000000000000000000000000000000000000000000008114915061144e565b67ffffffffffffffff81116114f557604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176114f557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114f557604052565b919082519283825260005b8481106115cb5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161158c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361028457565b60075481101561167f5760076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908201918281116116c257821061028457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b908181116102845781039081116116c25790565b1561170c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f62726964676520756e6b6e6f77000000000000000000000000000000000000006044820152fd5b90816020910312610284575180151581036102845790565b6117b4939273ffffffffffffffffffffffffffffffffffffffff60609316825260208201528160408201520190611581565b90565b6002600054146117c8576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b156117f957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c796f776e657200000000000000000000000000000000000000000000006044820152fd5b1561185e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6f6e6c7920626c617374657200000000000000000000000000000000000000006044820152fd5b156118c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e20626c6173745f4c32206f6e6c79000000000000000000000000000000006044820152fdfea2646970667358221220b7c7b9340106e5340810bd6db3158787a850828dff71528e4497847fb0a5278364736f6c63430008130033
Deployed Bytecode Sourcemap
7160:6542:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;10835:10;7160:6542;;10827:50;7160:6542;;;;;;;10835:24;10827:50;:::i;:::-;7160:6542;;10948:10;10937:29;;;7160:6542;;;;;;;;;;;;10937:29;;7160:6542;;;;10937:29;;;;;;;;;:::i;:::-;7160:6542;;10895:72;;;;;;7160:6542;10895:72;;10917:4;10895:72;;;7160:6542;;;;;;;;;;;;;;;;;:::i;:::-;10895:72;;;;;;;;;;;;7160:6542;;;;;;;10895:72;;;;;;;;;;;;;;;;;:::i;:::-;;;7160:6542;;;;;10895:72;;;;7160:6542;;;;10895:72;;;;;;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;7974:65;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12602:10;;;;7160:6542;;12575:10;7160:6542;;12567:70;12618:1;7160:6542;;;;;;12575:44;12567:70;:::i;:::-;7160:6542;;;;;;;;;;;;;;;12798:30;7160:6542;12844:46;7160:6542;;;;;;12743:28;7160:6542;12751:11;7160:6542;12743:28;:::i;:::-;12751:11;7160:6542;;;;;;;;;;;12798:30;:::i;:::-;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12602:10;;7160:6542;;12602:10;7160:6542;;;;;12844:46;;;;7160:6542;12618:1;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12960:46;7160:6542;12982:7;7160:6542;;12968:10;:21;12960:46;:::i;:::-;13105:45;13124:5;13040:55;13113:16;13105:45;:::i;:::-;7700:42;13401:45;;;;;;7160:6542;;;13401:45;;13429:4;13401:45;;;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;13401:45;;;;;;;;;;;;7160:6542;;13401:45;;;;:::i;:::-;7160:6542;;13401:45;7160:6542;13401:45;7160:6542;;;;;;;;13401:45;7160:6542;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;11856:82;7160:6542;11915:22;7160:6542;;;4589:107;;;:::i;:::-;7160:6542;;;;;;;;;11591:10;7160:6542;;11583:50;7160:6542;;;;;;;11591:24;11583:50;:::i;:::-;7160:6542;;;;;;;11668:32;7160:6542;;;;;11668:32;:::i;:::-;11654:10;7160:6542;;;;;;;;;;;;11749:9;7160:6542;;;;;11654:10;7160:6542;;;;11741:44;7160:6542;;;;;11741:44;:::i;:::-;7160:6542;;;11749:9;7160:6542;;;;;11654:10;7160:6542;;;;;;;;11810:28;7160:6542;11818:11;7160:6542;11810:28;:::i;:::-;11818:11;7160:6542;11915:22;7160:6542;;11915:22;;;;;;7160:6542;;;;;;;;;;;;;;;;;11915:22;7160:6542;;11856:82;;;;;;7160:6542;11856:82;;7160:6542;;11654:10;;11856:82;;;;:::i;:::-;;11878:9;;11856:82;;;;;;;;;;;;7160:6542;;;;;;;;;;;;11856:82;7160:6542;11856:82;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;13647:44;;7160:6542;12960:46;7160:6542;12982:7;7160:6542;;12968:10;:21;12960:46;:::i;:::-;13105:45;13124:5;13040:55;13113:16;13105:45;:::i;:::-;7160:6542;;;13647:44;;13673:4;13647:44;;;7160:6542;;;12968:10;7160:6542;;;;;;;;;;;;;;;13647:44;;;;7700:42;13647:44;;;;;;;;;;7160:6542;;;13647:44;;;;;;;;;;;;;;:::i;:::-;;;7160:6542;;;;;;13647:44;;;;;7160:6542;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;9615:10;;7160:6542;;;;;9597:37;7160:6542;;;;;9597:37;:::i;:::-;9615:10;7160:6542;;;;;;;;;;9649:16;;;:41;;;;7160:6542;9645:149;;;7160:6542;;;9706:27;7160:6542;9714:11;7160:6542;9706:27;:::i;:::-;9714:11;7160:6542;9645:149;7160:6542;;;;;9810:31;9615:10;;9810:31;;7160:6542;;;;;9645:149;7160:6542;;;9765:29;7160:6542;;;;;9765:29;:::i;:::-;7160:6542;;;;;;;;9645:149;;9649:41;9669:21;9683:6;9669:21;;9649:41;;7160:6542;;;;;;;;;;;;;;;7700:42;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7750:80;7160:6542;;;;;;;;;;;;;;;;;;;;;;;8215:69;7160:6542;8215:69;;;;;;7160:6542;8215:69;7160:6542;8215:69;;:::i;:::-;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;13523:44;;7160:6542;12960:46;7160:6542;12982:7;7160:6542;;12968:10;:21;12960:46;:::i;:::-;13105:45;13124:5;13040:55;13113:16;13105:45;:::i;:::-;7160:6542;;;13523:44;;13549:4;13523:44;;;7160:6542;;;12968:10;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7574:81;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;11381:22;7160:6542;11322:82;7160:6542;;;:::i;:::-;;;:::i;:::-;;;;;4589:107;;;:::i;:::-;7160:6542;;;;;;;;;11136:10;7160:6542;;11128:50;7160:6542;;;;;;;11136:24;11128:50;:::i;:::-;11231:10;7160:6542;;;;;11213:38;7160:6542;;;;;11213:38;:::i;:::-;11231:10;7160:6542;;;;;;;;;11276:28;7160:6542;11284:11;7160:6542;11276:28;:::i;7160:6542::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8082:67;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;8440:2;7160:6542;;;;;;;;;;;;;;;;;;:::i;:::-;;10284:25;7160:6542;;:::i;:::-;;;;;;;;;;;;;;;;;;;9993:31;7160:6542;;;;;9993:31;:::i;:::-;7160:6542;;;;;;;;;;10073:9;7160:6542;;;;;10089:10;7160:6542;;;;10065:43;7160:6542;;;;;10065:43;:::i;:::-;7160:6542;;;10073:9;7160:6542;;;;;10089:10;7160:6542;;;;;;;;;10123:16;;;:41;;;;7160:6542;10119:149;;;7160:6542;;;10180:27;7160:6542;10188:11;7160:6542;10180:27;:::i;:::-;10188:11;7160:6542;10119:149;7160:6542;;;;;10284:25;7160:6542;;;;;10119:149;7160:6542;;;;;;10239:29;7160:6542;;;;;10239:29;:::i;:::-;7160:6542;;;;;;;;10119:149;;10123:41;10143:21;10157:6;10143:21;;10123:41;;7160:6542;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;12163:41;7160:6542;12185:5;7160:6542;;12171:10;:19;12163:41;:::i;:::-;7160:6542;;;;12223:78;7160:6542;12223:78;;12267:33;12223:78;;;7160:6542;;12223:78;;;7160:6542;12223:78;;;;;;;;;;;;;7160:6542;;;;;;;;12372:10;7160:6542;;;;;;;;12372:24;12368:56;;7160:6542;-1:-1:-1;12457:13:0;;-1:-1:-1;12457:13:0;;7160:6542;;12372:10;;12457:13;;;12465:1;12457:13;;7160:6542;;;;;;;;;;;;;;;;12457:13;12185:5;12457:13;;;12368:56;12398:12;7160:6542;;;;;;;;;;;;;;;;12372:10;7160:6542;;;;12398:12;7160:6542;;:::i;:::-;;;;;;;;;;;;;;;;;;;12368:56;;;;;;;;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12223:78;;;;;;;;;;;;;;:::i;:::-;;;;;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;12960:46;7160:6542;;;;12968:10;:21;12960:46;:::i;:::-;13105:45;13124:5;13040:55;13113:16;13105:45;:::i;:::-;7700:42;13263:50;;;;;;7160:6542;;;;;13263:50;;;;;7160:6542;13263:50;;13288:4;13263:50;;;7160:6542;;;;;;;;;;;;13263:50;;;;;;;;;;7160:6542;;;13263:50;;;;:::i;:::-;7160:6542;;;;;;;;;;;;;;;;7837:58;7160:6542;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12026:5;7160:6542;;;;12004:41;7160:6542;;;12012:10;:19;12004:41;:::i;:::-;7160:6542;;;;12026:5;7160:6542;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9377:10;;;;7160:6542;;9367:9;7160:6542;;;;;;;;;;;;;;;;;;;;;9421:36;9377:10;;9421:36;;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;8981:12;7160:6542;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7366:56;;7381:41;7366:56;;:99;;;;;7160:6542;7366:150;;;;7160:6542;7366:194;;;;7160:6542;;;;;;;7366:194;7535:25;7520:40;;;7366:194;;;:150;7484:32;7469:47;;;-1:-1:-1;7366:150:0;;:99;7441:24;7426:39;;;-1:-1:-1;7366:99:0;;7160:6542;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;12398:12;7160:6542;;;;;;12398:12;-1:-1:-1;7160:6542:0;;;;-1:-1:-1;7160:6542:0;:::o;:::-;;;;;;;;;;9009:127;;;7160:6542;;;;;;;;9093:9;9121:6;7160:6542;;9009:127::o;7160:6542::-;;-1:-1:-1;7160:6542:0;;;;;-1:-1:-1;7160:6542:0;9148:129;;9240:6;;;7160:6542;;;;;;;;;9148:129;:::o;7160:6542::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;4702:313::-;4010:1;4831:7;7160:6542;4831:18;4827:88;;4010:1;4831:7;7160:6542;4702:313::o;4827:88::-;4873:30;7160:6542;;4873:30;;;;7160:6542;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
ipfs://b7c7b9340106e5340810bd6db3158787a850828dff71528e4497847fb0a52783
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.