Source Code
Overview
S Balance
Token Holdings
More Info
ContractCreator
Latest 25 from a total of 396 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Play | 23714465 | 3 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23712085 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23712067 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23707940 | 4 hrs ago | IN | 0 S | 0.00021627 | ||||
Play | 23707914 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707868 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707840 | 4 hrs ago | IN | 0 S | 0.00025917 | ||||
Play | 23707802 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707754 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707716 | 4 hrs ago | IN | 0 S | 0.00025917 | ||||
Play | 23707672 | 4 hrs ago | IN | 0 S | 0.00025917 | ||||
Play | 23707640 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707614 | 4 hrs ago | IN | 0 S | 0.00025917 | ||||
Play | 23707594 | 4 hrs ago | IN | 0 S | 0.0002268 | ||||
Play | 23707588 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23707570 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707554 | 4 hrs ago | IN | 0 S | 0.00032687 | ||||
Play | 23707542 | 4 hrs ago | IN | 0 S | 0.0002268 | ||||
Play | 23707526 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23707495 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23707475 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707474 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23707449 | 4 hrs ago | IN | 0 S | 0.00027947 | ||||
Play | 23707445 | 4 hrs ago | IN | 0 S | 0.00022155 | ||||
Play | 23707429 | 4 hrs ago | IN | 0 S | 0.00027947 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
23714469 | 3 hrs ago | 0 S | ||||
23714465 | 3 hrs ago | 0 S | ||||
23714465 | 3 hrs ago | 0 S | ||||
23714465 | 3 hrs ago | 0 S | ||||
23712089 | 4 hrs ago | 0 S | ||||
23712085 | 4 hrs ago | 0 S | ||||
23712085 | 4 hrs ago | 0 S | ||||
23712085 | 4 hrs ago | 0 S | ||||
23712072 | 4 hrs ago | 0 S | ||||
23712067 | 4 hrs ago | 0 S | ||||
23712067 | 4 hrs ago | 0 S | ||||
23712067 | 4 hrs ago | 0 S | ||||
23707944 | 4 hrs ago | 0 S | ||||
23707940 | 4 hrs ago | 0 S | ||||
23707940 | 4 hrs ago | 0 S | ||||
23707940 | 4 hrs ago | 0 S | ||||
23707918 | 4 hrs ago | 0 S | ||||
23707914 | 4 hrs ago | 0 S | ||||
23707914 | 4 hrs ago | 0 S | ||||
23707914 | 4 hrs ago | 0 S | ||||
23707871 | 4 hrs ago | 0 S | ||||
23707868 | 4 hrs ago | 0 S | ||||
23707868 | 4 hrs ago | 0 S | ||||
23707868 | 4 hrs ago | 0 S | ||||
23707843 | 4 hrs ago | 0 S |
Loading...
Loading
Contract Name:
sdeamon0xWheelGame
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\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\token\ERC721\IERC721.sol // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.19; /** * @dev Required interface of an ERC-721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon * a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC-721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or * {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon * a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC-721 * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must * understand this adds an external call which potentially creates a reentrancy vulnerability. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 tokenId) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the address zero. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) 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/games/sdeamon_wheel.sol pragma solidity ^0.8.19; interface sdeamon0xRandomCallback { function onRandomCallback(uint256 uid, uint256 res) external; } interface sdeamon0xRandomItf { function beginRandom(sdeamon0xRandomCallback CA) external returns (uint256); } contract sdeamon0xWheelGame is ReentrancyGuard, sdeamon0xRandomCallback { struct Gift { bool erc20; //type of gift convention ERC20 false, ERC20 true, address tokenAddress; //ERC20 or ERC721 uint256 value; //amount or tokenId } address public _dev; constructor() { _dev = msg.sender; } event GamePlaying(address indexed payer, address indexed player, uint256 uid); event GamePlayed(uint256 uid, address indexed player, uint256 result); event GameWon(uint256 uid, address indexed player, uint256 result, uint256 amount); event GiftWon(address indexed player, uint256 result, bool erc20_, address token, uint256 value_); bool public running = false; mapping (uint256 => Gift[]) public _gifts; sdeamon0xRandomItf public randomizer; modifier onlyDev() { require(msg.sender == _dev, "Only dev"); _; } function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } modifier onlyHuman() { require(!isContract(msg.sender), "Contracts cannot play"); _; } function startGame(uint256 luckyNumber, uint256 luckyMaxNumber) public onlyDev { require(!running); _luckyNumber = luckyNumber; _modulo = luckyMaxNumber; running = true; } function stopGame() public onlyDev { require(running); running = false; } function addGift(uint256 luckyNumber, bool erc20_, address token, uint256 value_) public onlyDev { require(luckyNumber < _modulo); if (erc20_) IERC20(token).transferFrom(msg.sender, address(this), value_); else IERC721(token).transferFrom(msg.sender, address(this), value_); _gifts[luckyNumber].push(Gift({erc20: erc20_, tokenAddress: token, value: value_})); } function delGift(uint256 luckyNumber, bool erc20_, address token, uint256 value_) public onlyDev { for(uint i=0; i<_gifts[luckyNumber].length; ++i) { Gift storage g = _gifts[luckyNumber][i]; if (g.erc20 == erc20_ && g.tokenAddress == token && g.value == value_) { if (erc20_) IERC20(token).transfer(msg.sender, value_); else { IERC721(token).approve(msg.sender, value_); IERC721(token).transferFrom(address(this), msg.sender, value_); } _gifts[luckyNumber][i] = _gifts[luckyNumber][_gifts[luckyNumber].length-1]; _gifts[luckyNumber].pop(); return; } } } function rewardGift(uint256 luckyNumber, address to_) internal { uint256 l = _gifts[luckyNumber].length; for(uint i=0; i<l; ++i) { Gift storage g = _gifts[luckyNumber][i]; if (g.erc20) IERC20(g.tokenAddress).transfer(to_, g.value); else { IERC721(g.tokenAddress).approve(to_, g.value); IERC721(g.tokenAddress).transferFrom(address(this), to_, g.value); } emit GiftWon(to_, luckyNumber, g.erc20, g.tokenAddress, g.value); } for (uint256 i=0; i<l; ++i) { _gifts[luckyNumber].pop(); } } function giftSize(uint256 luckyNumber) public view returns (uint256) { return _gifts[luckyNumber].length; } function setRandomizer(address rnd) public onlyDev { randomizer = sdeamon0xRandomItf(rnd); } mapping(address => uint256) public tos_uid; mapping(uint256 => address) public uid_wallet; uint256 public _price = 666 * 10 ** 18; IERC20 public _token = IERC20(0x16a0BfC1C6e331788E0A5096911cDCd9943D2C9c); function setTokenPriceGame(uint256 price_, IERC20 token_) public onlyDev { _token = token_; _price = price_; } //to discern from gift. uint256 public banked = 0; address[] public _winners; function sizeWinners() public view returns (uint256) { return _winners.length; } address[] public _winners_gift; uint256 public _luckyNumber = 66; uint256 public _modulo = 100; //dest to play fo other! function play(address dest) public nonReentrant onlyHuman returns (uint256) { require(running, "not started"); require(tos_uid[dest] == 0, "Game already in progress"); if (_token.balanceOf(msg.sender) < _price) revert("Insufficient sDeamon on your wallet"); _token.transferFrom(msg.sender, address(this), _price); uint256 uid = randomizer.beginRandom(this); // never accrosss stream (Ghostbuster 1984) tos_uid[dest] = uid; uid_wallet[uid] = dest; banked += _price; emit GamePlaying(msg.sender, dest, uid); return uid; } enum Result { LOOSE, WIN_JP, WIN_GIFT, WIN_JP_GIFT } struct SessionPlayed { address player; Result res; uint256 muid; uint256 tos; } SessionPlayed[] public played_sessions; function getPlayedSessions() public view returns (uint256) { return played_sessions.length; } function onRandomCallback(uint256 uid, uint256 tos) external { require(msg.sender == address(randomizer)); uint256 dice = tos % _modulo; address player = uid_wallet[uid]; uid_wallet[uid] = address(0); tos_uid[player] = 0; Result res = Result.LOOSE; emit GamePlayed(uid, player, dice); if (_gifts[dice].length > 0) { _winners_gift.push(player); rewardGift(dice, player); res = Result.WIN_GIFT; } if (dice == _luckyNumber) { res = (res == Result.WIN_GIFT) ? Result.WIN_JP_GIFT : Result.WIN_JP; _winners.push(player); uint256 amount = _token.balanceOf(address(this)); uint256 v = (banked < amount) ? banked : amount; banked = 0; _token.transfer(player, v); emit GameWon(uid, player, dice, v); } played_sessions.push(SessionPlayed(player, res, uid, dice)); } }
{ "metadata": { "appendCBOR": true, "bytecodeHash": "ipfs", "useLiteralContent": false }, "optimizer": { "enabled": true, "runs": 1000000 }, "viaIR": true, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"uid","type":"uint256"},{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"result","type":"uint256"}],"name":"GamePlayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payer","type":"address"},{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"uid","type":"uint256"}],"name":"GamePlaying","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"uid","type":"uint256"},{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"result","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"GameWon","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"result","type":"uint256"},{"indexed":false,"internalType":"bool","name":"erc20_","type":"bool"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"value_","type":"uint256"}],"name":"GiftWon","type":"event"},{"inputs":[],"name":"_dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"_gifts","outputs":[{"internalType":"bool","name":"erc20","type":"bool"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_luckyNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_modulo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_winners","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_winners_gift","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"luckyNumber","type":"uint256"},{"internalType":"bool","name":"erc20_","type":"bool"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"addGift","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"banked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"luckyNumber","type":"uint256"},{"internalType":"bool","name":"erc20_","type":"bool"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"delGift","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getPlayedSessions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"luckyNumber","type":"uint256"}],"name":"giftSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"uid","type":"uint256"},{"internalType":"uint256","name":"tos","type":"uint256"}],"name":"onRandomCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dest","type":"address"}],"name":"play","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"played_sessions","outputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"enum sdeamon0xWheelGame.Result","name":"res","type":"uint8"},{"internalType":"uint256","name":"muid","type":"uint256"},{"internalType":"uint256","name":"tos","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"randomizer","outputs":[{"internalType":"contract sdeamon0xRandomItf","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"running","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"rnd","type":"address"}],"name":"setRandomizer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price_","type":"uint256"},{"internalType":"contract IERC20","name":"token_","type":"address"}],"name":"setTokenPriceGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sizeWinners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"luckyNumber","type":"uint256"},{"internalType":"uint256","name":"luckyMaxNumber","type":"uint256"}],"name":"startGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tos_uid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uid_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608080604052346100705760016000818155815468241a9b4f617a280000600655600780546001600160a01b0319167316a0bfc1c6e331788e0a5096911cdcd9943d2c9c1790556008919091556042600b556064600c556001600160a81b0319163317905561202090816100768239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80631ee196fa146118d9578063235b6ea11461189c578063256a85c1146118575780632b7eba5c14611593578063730b838114611509578063767bcab51461147f5780637e798d351461144257806383bd72ba146113bb578063a4b1d16814610b35578063aff33aab14610af4578063b4dace3c14610a94578063b745c5e714610a57578063bf75f1b214610a1a578063d85bd526146109d5578063d9ac97a814610950578063e492814f146104bb578063e79ffa1114610468578063e7b0a108146103a9578063ecd0c0c314610356578063f10fb58414610303578063f19dd14e146102c6578063f590c9221461025b578063f6903411146101d3578063faf2ca27146101925763fd8594cf1461013457600080fd5b3461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e578160209373ffffffffffffffffffffffffffffffffffffffff92358152600585522054169051908152f35b8280fd5b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf57602090600c549051908152f35b5080fd5b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e573591600954831015610258575073ffffffffffffffffffffffffffffffffffffffff60209260096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0154169051908152f35b80fd5b5050346101cf5761026b366119ee565b929081526002602052818120908154841015610258575060609261028e91611a8c565b5090600182549201549073ffffffffffffffffffffffffffffffffffffffff81519360ff81161515855260081c166020840152820152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf57602090600b549051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209073ffffffffffffffffffffffffffffffffffffffff600754169051908152f35b5091346102585760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610258578235600d548110156101cf576103ef90611a22565b5080549260ff8460a01c16600260018401549301549373ffffffffffffffffffffffffffffffffffffffff8351961686528682101561043c57506080955060208501528301526060820152f35b806021887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b50913461025857602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576104f6611969565b60028354146109285760028355333b6108cc5760ff60015460a01c16156108705773ffffffffffffffffffffffffffffffffffffffff80911690818452858552828420546108145780600754168351907f70a0823100000000000000000000000000000000000000000000000000000000825233888301528682602481845afa91821561080a5786926107db575b506006548092106107595784517f23b872dd00000000000000000000000000000000000000000000000000000000815233818a019081523060208201526040810193909352918791839182908990829060600103925af1801561074f57918691869493610722575b506003541660248551809781937fca28204e000000000000000000000000000000000000000000000000000000008352308c8401525af19384156107185782946106e4575b50808252858552838383205583825260058552828220817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556006546008549081018091116106b857906001929160085583518581527f985e5b5073dd810cbbed07f025a77e939816615a1b24fdf8ebaba2519a930463873392a35551908152f35b6024836011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b9093508481813d8311610711575b6106fc8183611b50565b8101031261070c57519238610631565b600080fd5b503d6106f2565b83513d84823e3d90fd5b61074190833d8511610748575b6107398183611b50565b810190611b91565b50386105ec565b503d61072f565b84513d87823e3d90fd5b608488888751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f496e73756666696369656e7420734465616d6f6e206f6e20796f75722077616c60448201527f6c657400000000000000000000000000000000000000000000000000000000006064820152fd5b9091508681813d8311610803575b6107f38183611b50565b8101031261070c57519038610584565b503d6107e9565b85513d88823e3d90fd5b606486868551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601860248201527f47616d6520616c726561647920696e2070726f677265737300000000000000006044820152fd5b606485858451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600b60248201527f6e6f7420737461727465640000000000000000000000000000000000000000006044820152fd5b606485858451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f436f6e7472616374732063616e6e6f7420706c617900000000000000000000006044820152fd5b8482517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e573591600a54831015610258575073ffffffffffffffffffffffffffffffffffffffff602092600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80154169051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209060ff60015460a01c1690519015158152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576020906009549051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf57602090600d549051908152f35b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e57602092829173ffffffffffffffffffffffffffffffffffffffff610ae6611969565b168252845220549051908152f35b833461025857610b32610b063661198c565b92610b2d73ffffffffffffffffffffffffffffffffffffffff600194939454163314611aa8565b611ca9565b80f35b50903461018e57610b45366119ee565b9073ffffffffffffffffffffffffffffffffffffffff918260035416330361135d57600c5490811561138f5706918186526020936005855280872095865492808416977fffffffffffffffffffffffff0000000000000000000000000000000000000000809516905587895281875288838120558892887f5ec3545abc9e56c3d29262ac2dc66e1f210bb7ab3ee3b9e6d9b0a05a1be9765c8280518981528a8c820152a2868a52600297888152818b2054610fef575b600b548814610daa575b81519960808b018b811067ffffffffffffffff821117610d7c5783528a5289019383811015610d50578452880194855260608801958652600d5468010000000000000000811015610d2457806001610c609201600d55611a22565b989098610cf957511691828854948516178855519080821015610ccd575074ff00000000000000000000000000000000000000007fffffffffffffffffffffff0000000000000000000000000000000000000000009160a01b169216171784555160018401555191015580f35b8860216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248a80857f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248a6041857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248b6021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6041867f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b9383811015610d50578803610fe85760035b9360095468010000000000000000811015610fba576001810180600955811015610f8c5760096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018a8782541617905582600754168b83517f70a0823100000000000000000000000000000000000000000000000000000000815230878201528381602481865afa908115610f82579184918e938291610f4c575b5093610ecf939460085490808210600014610f4257509485925b806008558a8951968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af18015610f38578c927ff84628f2e60bdbeba9f69b77bc46e521674525a65d95c82a999a4ec15e8b521292606092610f1b575b508551908b82528c8683015286820152a2610c05565b610f3190863d8811610748576107398183611b50565b5038610f05565b84513d8f823e3d90fd5b9050948592610e74565b9350505081813d8311610f7b575b610f648183611b50565b8101031261070c57518b9083908e90610ecf610e5a565b503d610f5a565b85513d84823e3d90fd5b6032857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6001610dbc565b9350600a54680100000000000000008110156113615760019081810180600a55811015610f8c57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018a87825416179055878b52888552818b2054908a8c8a815b85831061109757925050508391505b8c83821061107757505050508793610bfb565b61109092818c61108b93528d8a5220611c05565b611ba9565b8290611064565b528b88528d886110a983888420611a8c565b509182549460ff86166000146111c0578394955089611124945460081c169087860154928c8b51968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156111b45760808f928b8f9161118e97968c917fdc3b8296069668af42a73d0a830e69d036ec5558ca2b98a9183b81c01593911c96611197575b505b898154910154928c5194855260ff821615159085015260081c168a8301526060820152a2611ba9565b8b908a8e611055565b6111ad90843d8611610748576107398183611b50565b5038611163565b8f8751903d90823e3d90fd5b9150919388600891821c16868601928354823b1561135d57611236928692838f8e51968795869485937f095ea7b300000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af18015611353578a9291859161133a575b50508554901c16905490803b1561018e578f9183916112c593838d8c51968795869485937f23b872dd0000000000000000000000000000000000000000000000000000000085523090850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af18015611330578f9289908f938d9361130d575b5050916080917fdc3b8296069668af42a73d0a830e69d036ec5558ca2b98a9183b81c01593911c9361118e97611165565b925093505061131c9150611b0d565b61132c578c8b8f888b91386112dc565b8d80fd5b87513d84823e3d90fd5b61134691929350611b0d565b61018e578890833861124a565b89513d86823e3d90fd5b8580fd5b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6024876012887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b833461025857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102585760015461140e73ffffffffffffffffffffffffffffffffffffffff82163314611aa8565b60ff8160a01c16156101cf577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1660015580f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576020906008549051908152f35b83346102585760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610258576114b7611969565b73ffffffffffffffffffffffffffffffffffffffff906114dc82600154163314611aa8565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035580f35b833461025857611518366119ee565b9060015461153d73ffffffffffffffffffffffffffffffffffffffff82163314611aa8565b60ff8160a01c1661158f5774010000000000000000000000000000000000000000927fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff92600b55600c55161760015580f35b8380fd5b509190346101cf576115a43661198c565b92919373ffffffffffffffffffffffffffffffffffffffff926115cc84600154163314611aa8565b600c548110156118535785156117d45781517f23b872dd000000000000000000000000000000000000000000000000000000008152338982019081523060208281019190915260408201889052908290819060600103818b8989165af180156117ca576117ac575b505b86526002602052808620908051956060870187811067ffffffffffffffff82111761177e57825215158652836020870193168352850193845280549068010000000000000000821015611752579061169391600182018155611a8c565b9490946117275791611720916116da60019594511515879060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b5185547fffffffffffffffffffffff0000000000000000000000000000000000000000ff16911660081b74ffffffffffffffffffffffffffffffffffffffff0016178455565b5191015580f35b60248680897f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248760418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6117c39060203d8111610748576107398183611b50565b5038611634565b83513d8a823e3d90fd5b838316803b1561184f5782517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b01908152306020820152604081018890529091899183919082908490829060600103925af180156117ca5761183c575b50611636565b61184890979197611b0d565b9538611836565b8780fd5b8680fd5b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e5760209282913581526002845220549051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576020906006549051908152f35b50903461018e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760243573ffffffffffffffffffffffffffffffffffffffff80821680920361158f5761193990600154163314611aa8565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060075416176007553560065580f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361070c57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc608091011261070c5760043590602435801515810361070c579060443573ffffffffffffffffffffffffffffffffffffffff8116810361070c579060643590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604091011261070c576004359060243590565b600d54811015611a5d57600390600d600052027fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611a5d5760005260206000209060011b0190600090565b15611aaf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4f6e6c79206465760000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff8111611b2157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b2157604052565b9081602091031261070c5751801515810361070c5790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611bd65760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80548015611c7a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611c3a8282611a8c565b611c4b576001816000809355015555565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b91909160005b816000526002602090808252604090816000208054851015611fdf5784611cd591611a8c565b509283548960ff958a15158784161515149283611fb8575b5082611faa575b5050611d0c5750505050611d0790611ba9565b611caf565b94939297919695859196600014611ead5787517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015260248101939093528290604490829060009073ffffffffffffffffffffffffffffffffffffffff165af18015611ea257611e85575b505b81600052838352846000208054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211611bd657611dd691611dc491611a8c565b50918360005285855286600020611a8c565b919091611c4b57611df896818303611dfa575b50505060005252600020611c05565b565b611e3290825416839060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b805482547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1674ffffffffffffffffffffffffffffffffffffffff00909116178255600180910154910155388080611de9565b611e9b90843d8611610748576107398183611b50565b5038611d7d565b86513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff91501690813b1561070c5786517f095ea7b30000000000000000000000000000000000000000000000000000000081523360048083019190915260248201839052919060008160448183885af18015611f9f57611f90575b50823b1561070c5787517f23b872dd0000000000000000000000000000000000000000000000000000000081523092810192835233602084015260408301919091529160009183919082908490829060600103925af18015611ea257611f81575b50611d7f565b611f8a90611b0d565b38611f7b565b611f9990611b0d565b38611f1a565b89513d6000823e3d90fd5b600101541490508938611cf4565b60081c73ffffffffffffffffffffffffffffffffffffffff908116908b1614925038611ced565b50505050505050505056fea264697066735822122056daab8e89a0cc0644b22d6a70f3b4b35b889048341ca47ff5ea15420fd19f3d64736f6c63430008130033
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b600091823560e01c80631ee196fa146118d9578063235b6ea11461189c578063256a85c1146118575780632b7eba5c14611593578063730b838114611509578063767bcab51461147f5780637e798d351461144257806383bd72ba146113bb578063a4b1d16814610b35578063aff33aab14610af4578063b4dace3c14610a94578063b745c5e714610a57578063bf75f1b214610a1a578063d85bd526146109d5578063d9ac97a814610950578063e492814f146104bb578063e79ffa1114610468578063e7b0a108146103a9578063ecd0c0c314610356578063f10fb58414610303578063f19dd14e146102c6578063f590c9221461025b578063f6903411146101d3578063faf2ca27146101925763fd8594cf1461013457600080fd5b3461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e578160209373ffffffffffffffffffffffffffffffffffffffff92358152600585522054169051908152f35b8280fd5b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf57602090600c549051908152f35b5080fd5b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e573591600954831015610258575073ffffffffffffffffffffffffffffffffffffffff60209260096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0154169051908152f35b80fd5b5050346101cf5761026b366119ee565b929081526002602052818120908154841015610258575060609261028e91611a8c565b5090600182549201549073ffffffffffffffffffffffffffffffffffffffff81519360ff81161515855260081c166020840152820152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf57602090600b549051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209073ffffffffffffffffffffffffffffffffffffffff600754169051908152f35b5091346102585760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610258578235600d548110156101cf576103ef90611a22565b5080549260ff8460a01c16600260018401549301549373ffffffffffffffffffffffffffffffffffffffff8351961686528682101561043c57506080955060208501528301526060820152f35b806021887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b50913461025857602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576104f6611969565b60028354146109285760028355333b6108cc5760ff60015460a01c16156108705773ffffffffffffffffffffffffffffffffffffffff80911690818452858552828420546108145780600754168351907f70a0823100000000000000000000000000000000000000000000000000000000825233888301528682602481845afa91821561080a5786926107db575b506006548092106107595784517f23b872dd00000000000000000000000000000000000000000000000000000000815233818a019081523060208201526040810193909352918791839182908990829060600103925af1801561074f57918691869493610722575b506003541660248551809781937fca28204e000000000000000000000000000000000000000000000000000000008352308c8401525af19384156107185782946106e4575b50808252858552838383205583825260058552828220817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556006546008549081018091116106b857906001929160085583518581527f985e5b5073dd810cbbed07f025a77e939816615a1b24fdf8ebaba2519a930463873392a35551908152f35b6024836011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b9093508481813d8311610711575b6106fc8183611b50565b8101031261070c57519238610631565b600080fd5b503d6106f2565b83513d84823e3d90fd5b61074190833d8511610748575b6107398183611b50565b810190611b91565b50386105ec565b503d61072f565b84513d87823e3d90fd5b608488888751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f496e73756666696369656e7420734465616d6f6e206f6e20796f75722077616c60448201527f6c657400000000000000000000000000000000000000000000000000000000006064820152fd5b9091508681813d8311610803575b6107f38183611b50565b8101031261070c57519038610584565b503d6107e9565b85513d88823e3d90fd5b606486868551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601860248201527f47616d6520616c726561647920696e2070726f677265737300000000000000006044820152fd5b606485858451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600b60248201527f6e6f7420737461727465640000000000000000000000000000000000000000006044820152fd5b606485858451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f436f6e7472616374732063616e6e6f7420706c617900000000000000000000006044820152fd5b8482517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e573591600a54831015610258575073ffffffffffffffffffffffffffffffffffffffff602092600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80154169051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760209060ff60015460a01c1690519015158152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576020906009549051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf57602090600d549051908152f35b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e57602092829173ffffffffffffffffffffffffffffffffffffffff610ae6611969565b168252845220549051908152f35b833461025857610b32610b063661198c565b92610b2d73ffffffffffffffffffffffffffffffffffffffff600194939454163314611aa8565b611ca9565b80f35b50903461018e57610b45366119ee565b9073ffffffffffffffffffffffffffffffffffffffff918260035416330361135d57600c5490811561138f5706918186526020936005855280872095865492808416977fffffffffffffffffffffffff0000000000000000000000000000000000000000809516905587895281875288838120558892887f5ec3545abc9e56c3d29262ac2dc66e1f210bb7ab3ee3b9e6d9b0a05a1be9765c8280518981528a8c820152a2868a52600297888152818b2054610fef575b600b548814610daa575b81519960808b018b811067ffffffffffffffff821117610d7c5783528a5289019383811015610d50578452880194855260608801958652600d5468010000000000000000811015610d2457806001610c609201600d55611a22565b989098610cf957511691828854948516178855519080821015610ccd575074ff00000000000000000000000000000000000000007fffffffffffffffffffffff0000000000000000000000000000000000000000009160a01b169216171784555160018401555191015580f35b8860216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248a80857f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248a6041857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248b6021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6041867f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b9383811015610d50578803610fe85760035b9360095468010000000000000000811015610fba576001810180600955811015610f8c5760096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018a8782541617905582600754168b83517f70a0823100000000000000000000000000000000000000000000000000000000815230878201528381602481865afa908115610f82579184918e938291610f4c575b5093610ecf939460085490808210600014610f4257509485925b806008558a8951968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af18015610f38578c927ff84628f2e60bdbeba9f69b77bc46e521674525a65d95c82a999a4ec15e8b521292606092610f1b575b508551908b82528c8683015286820152a2610c05565b610f3190863d8811610748576107398183611b50565b5038610f05565b84513d8f823e3d90fd5b9050948592610e74565b9350505081813d8311610f7b575b610f648183611b50565b8101031261070c57518b9083908e90610ecf610e5a565b503d610f5a565b85513d84823e3d90fd5b6032857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6001610dbc565b9350600a54680100000000000000008110156113615760019081810180600a55811015610f8c57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018a87825416179055878b52888552818b2054908a8c8a815b85831061109757925050508391505b8c83821061107757505050508793610bfb565b61109092818c61108b93528d8a5220611c05565b611ba9565b8290611064565b528b88528d886110a983888420611a8c565b509182549460ff86166000146111c0578394955089611124945460081c169087860154928c8b51968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156111b45760808f928b8f9161118e97968c917fdc3b8296069668af42a73d0a830e69d036ec5558ca2b98a9183b81c01593911c96611197575b505b898154910154928c5194855260ff821615159085015260081c168a8301526060820152a2611ba9565b8b908a8e611055565b6111ad90843d8611610748576107398183611b50565b5038611163565b8f8751903d90823e3d90fd5b9150919388600891821c16868601928354823b1561135d57611236928692838f8e51968795869485937f095ea7b300000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af18015611353578a9291859161133a575b50508554901c16905490803b1561018e578f9183916112c593838d8c51968795869485937f23b872dd0000000000000000000000000000000000000000000000000000000085523090850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af18015611330578f9289908f938d9361130d575b5050916080917fdc3b8296069668af42a73d0a830e69d036ec5558ca2b98a9183b81c01593911c9361118e97611165565b925093505061131c9150611b0d565b61132c578c8b8f888b91386112dc565b8d80fd5b87513d84823e3d90fd5b61134691929350611b0d565b61018e578890833861124a565b89513d86823e3d90fd5b8580fd5b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6024876012887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b833461025857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102585760015461140e73ffffffffffffffffffffffffffffffffffffffff82163314611aa8565b60ff8160a01c16156101cf577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1660015580f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576020906008549051908152f35b83346102585760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610258576114b7611969565b73ffffffffffffffffffffffffffffffffffffffff906114dc82600154163314611aa8565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035580f35b833461025857611518366119ee565b9060015461153d73ffffffffffffffffffffffffffffffffffffffff82163314611aa8565b60ff8160a01c1661158f5774010000000000000000000000000000000000000000927fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff92600b55600c55161760015580f35b8380fd5b509190346101cf576115a43661198c565b92919373ffffffffffffffffffffffffffffffffffffffff926115cc84600154163314611aa8565b600c548110156118535785156117d45781517f23b872dd000000000000000000000000000000000000000000000000000000008152338982019081523060208281019190915260408201889052908290819060600103818b8989165af180156117ca576117ac575b505b86526002602052808620908051956060870187811067ffffffffffffffff82111761177e57825215158652836020870193168352850193845280549068010000000000000000821015611752579061169391600182018155611a8c565b9490946117275791611720916116da60019594511515879060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b5185547fffffffffffffffffffffff0000000000000000000000000000000000000000ff16911660081b74ffffffffffffffffffffffffffffffffffffffff0016178455565b5191015580f35b60248680897f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248760418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6117c39060203d8111610748576107398183611b50565b5038611634565b83513d8a823e3d90fd5b838316803b1561184f5782517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b01908152306020820152604081018890529091899183919082908490829060600103925af180156117ca5761183c575b50611636565b61184890979197611b0d565b9538611836565b8780fd5b8680fd5b503461018e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018e5760209282913581526002845220549051908152f35b5050346101cf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf576020906006549051908152f35b50903461018e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cf5760243573ffffffffffffffffffffffffffffffffffffffff80821680920361158f5761193990600154163314611aa8565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060075416176007553560065580f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361070c57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc608091011261070c5760043590602435801515810361070c579060443573ffffffffffffffffffffffffffffffffffffffff8116810361070c579060643590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604091011261070c576004359060243590565b600d54811015611a5d57600390600d600052027fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611a5d5760005260206000209060011b0190600090565b15611aaf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4f6e6c79206465760000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff8111611b2157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b2157604052565b9081602091031261070c5751801515810361070c5790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611bd65760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80548015611c7a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611c3a8282611a8c565b611c4b576001816000809355015555565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b91909160005b816000526002602090808252604090816000208054851015611fdf5784611cd591611a8c565b509283548960ff958a15158784161515149283611fb8575b5082611faa575b5050611d0c5750505050611d0790611ba9565b611caf565b94939297919695859196600014611ead5787517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015260248101939093528290604490829060009073ffffffffffffffffffffffffffffffffffffffff165af18015611ea257611e85575b505b81600052838352846000208054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211611bd657611dd691611dc491611a8c565b50918360005285855286600020611a8c565b919091611c4b57611df896818303611dfa575b50505060005252600020611c05565b565b611e3290825416839060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b805482547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1674ffffffffffffffffffffffffffffffffffffffff00909116178255600180910154910155388080611de9565b611e9b90843d8611610748576107398183611b50565b5038611d7d565b86513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff91501690813b1561070c5786517f095ea7b30000000000000000000000000000000000000000000000000000000081523360048083019190915260248201839052919060008160448183885af18015611f9f57611f90575b50823b1561070c5787517f23b872dd0000000000000000000000000000000000000000000000000000000081523092810192835233602084015260408301919091529160009183919082908490829060600103925af18015611ea257611f81575b50611d7f565b611f8a90611b0d565b38611f7b565b611f9990611b0d565b38611f1a565b89513d6000823e3d90fd5b600101541490508938611cf4565b60081c73ffffffffffffffffffffffffffffffffffffffff908116908b1614925038611ced565b50505050505050505056fea264697066735822122056daab8e89a0cc0644b22d6a70f3b4b35b889048341ca47ff5ea15420fd19f3d64736f6c63430008130033
Deployed Bytecode Sourcemap
10504:6492:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14299:45;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14885:28;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;14677:25;10504:6492;14677:25;;;;;10504:6492;;;;14677:25;10504:6492;;;;;;;;;;;;14677:25;;;10504:6492;;;;;;;;;:::i;:::-;;;;;11294:42;10504:6492;;;;;;;;11294:42;;;;;;10504:6492;11294:42;;;;:::i;:::-;10504:6492;;11294:42;10504:6492;;11294:42;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14846:32;10504:6492;;;;;;;;;;;;;;;;;;;;;;;11344:36;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;14396:74;10504:6492;;;;;;;;;;;;;;;;;;;;;;;15818:38;10504:6492;15818:38;;;;;;;;:::i;:::-;10504:6492;;;;;;;;;15818:38;10504:6492;15818:38;;10504:6492;15818:38;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10811:19;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8687:1;10504:6492;;9508:18;9504:88;;8687:1;10504:6492;;11736:10;11582:63;10504:6492;;;15051:7;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;15155:6;10504:6492;;;;15155:28;10504:6492;15155:28;;11736:10;15155:28;;;10504:6492;15155:28;;10504:6492;15155:28;;;;;;;;;;;;;10504:6492;;15186:6;10504:6492;15155:37;;;15151:88;;10504:6492;;;15250:54;;11736:10;15250:54;;;10504:6492;;;15290:4;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;15250:54;;;;;;;;;;;;;;;;10504:6492;;15329:10;10504:6492;;;;;15329:28;;;;10504:6492;15329:28;;15290:4;15329:28;;;10504:6492;15329:28;;;;;;;;;;;10504:6492;;;;;;;;;;;;;;;;15451:10;10504:6492;;;;;;;;;;;;;15186:6;10504:6492;15484:16;10504:6492;;;;;;;;;;15051:7;10504:6492;;15484:16;10504:6492;;;;;;15516:34;11736:10;;15516:34;;10504:6492;;;;;;;;;;;;;;;;15329:28;;;;;;;;;;;;;;;;;:::i;:::-;;;10504:6492;;;;;15329:28;;;;10504:6492;;;;15329:28;;;;;;10504:6492;;;;;;;;;15250:54;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;10504:6492;;;;;;;;;15151:88;10504:6492;;;;;15194:45;;;;;;10504:6492;;;;;;;;;;;;;;;;15194:45;15155:28;;;;;;;;;;;;;;;;;:::i;:::-;;;10504:6492;;;;;15155:28;;;;;;;;;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9504:88;10504:6492;;;9550:30;;;;10504:6492;;;;;;;;;;;;;;14809:30;10504:6492;14809:30;;;;;10504:6492;;;;14809:30;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;11252:29;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;14780:8;10504:6492;;;;;;;;;;;;;;;;;;;;;;15940:15;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11467:1;10504:6492;;;:::i;:::-;;11417:39;10504:6492;11439:4;10504:6492;;;;;11425:10;:18;11417:39;:::i;:::-;11467:1;:::i;:::-;10504:6492;;;;;;;;;;;:::i;:::-;;;;;16078:10;10504:6492;;16056:10;:33;10504:6492;;16122:7;10504:6492;;;;;;;;;;;;;16157:10;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16252:25;10504:6492;;16293:29;10504:6492;;;;;;;;;;;16293:29;10504:6492;;;16347:6;10504:6492;;;;;;;;16343:157;;10504:6492;16532:12;10504:6492;16524:20;;16520:396;;10504:6492;;;;;;;;;;;;;;;;;;;;16947:37;;10504:6492;;;;;;;;;16947:37;;10504:6492;;;16947:37;;;10504:6492;;;16926:15;10504:6492;;;;;;;;;;;;16926:15;10504:6492;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16520:396;10504:6492;;;;;;;16568:22;;16347:6;;16078:10;16567:61;10504:6492;16643:8;10504:6492;;;;;;;;;;;16643:8;10504:6492;;;;;;16643:8;10504:6492;;;;;;;;;;;;;16696:6;10504:6492;;;;;;16696:31;;16721:4;16696:31;;;10504:6492;16696:31;;10504:6492;16696:31;;;;;;;;;;;;;;;;;;16567:61;10504:6492;;16829:26;10504:6492;;16755:6;10504:6492;16754:35;16755:15;;;16754:35;16755:15;;;16754:35;;;;;10504:6492;16755:6;10504:6492;;;;16829:26;;;;;;;10504:6492;16829:26;;;;10504:6492;;;;;;;;;;;;;;;;;16829:26;;;;;;;;;;;16875:29;16829:26;10504:6492;16829:26;;;16754:35;10504:6492;;;;;;;;;;;;;;;;16875:29;16520:396;;16829:26;;;;;;;;;;;;;:::i;:::-;;;;;;10504:6492;;;;;;;;;16754:35;;;;;;;;16696:31;;;;;;;;;;;;;;;;;:::i;:::-;;;10504:6492;;;;;;;;;;;16829:26;16696:31;;;;;;;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16567:61;10504:6492;16567:61;;16343:157;10504:6492;;16387:13;10504:6492;;;;;;;;;;;;;16387:13;10504:6492;;;;;;16387:13;10504:6492;;;;;;;;;;;;;;;;;;;;;;13467:8;;;;;13477:3;;;;;;13920:11;;;;;;;13933:3;;;;;;;16467:21;;;;;16343:157;;;13938:3;;10504:6492;;;13958:23;10504:6492;;;;;;13958:23;:::i;:::-;13938:3;:::i;:::-;13920:11;;;;13482:3;10504:6492;;;;;;13519:22;10504:6492;;;;13519:22;:::i;:::-;10504:6492;;;;;;;;13556:259;10504:6492;;;;;;;;13586:45;10504:6492;;;;;13623:7;;;;10504:6492;;;;;13586:45;;;;;;;10504:6492;13586:45;;;;10504:6492;;;;;;;;;;;;;;;;;13586:45;;;;;;;;;10504:6492;13586:45;;;;;13482:3;13586:45;;;;13834:59;13586:45;;;13556:259;;;10504:6492;;;13885:7;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;13834:59;13482:3;:::i;:::-;13467:8;;;;;;13586:45;;;;;;;;;;;;;:::i;:::-;;;;;;10504:6492;;;;;;;;;;;13556:259;10504:6492;;;;;;;;;;13707:7;;;10504:6492;;;13670:45;;;;;;10504:6492;;;;;;;13670:45;;;;;;;10504:6492;13670:45;;;;10504:6492;;;;;;;;;;;;;;;;;13670:45;;;;;;;;;;;;;;;;13556:259;10504:6492;;;;;;;;;13734:65;;;;;;10504:6492;;;;13734:65;10504:6492;;;;;13734:65;;;;;;;10504:6492;13734:65;;13779:4;13734:65;;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;13734:65;;;;;;;;;;;;;;;;;;;13556:259;;;;10504:6492;13556:259;13834:59;13556:259;13482:3;13556:259;;;13734:65;;;;;;;;;;:::i;:::-;10504:6492;;13734:65;;;;;;;;;10504:6492;;;;13734:65;10504:6492;;;;;;;;;13670:45;;;;;;;:::i;:::-;10504:6492;;13670:45;;;;;;;10504:6492;;;;;;;;;13670:45;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11439:4;10504:6492;11417:39;10504:6492;;;11425:10;:18;11417:39;:::i;:::-;10504:6492;;;;;;;;;;11439:4;10504:6492;;;;;;;;;;;;;;;;;;14645:25;10504:6492;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;11417:39;10504:6492;11439:4;10504:6492;;11425:10;:18;11417:39;:::i;:::-;10504:6492;;14197:36;10504:6492;;;14197:36;10504:6492;;;;;;;;;;;:::i;:::-;;11439:4;10504:6492;11417:39;10504:6492;;;11425:10;:18;11417:39;:::i;:::-;10504:6492;;;;;;;;;;;11917:26;10504:6492;11954:24;10504:6492;;;11439:4;10504:6492;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;11417:39;10504:6492;11439:4;10504:6492;;11425:10;:18;11417:39;:::i;:::-;12249:7;10504:6492;12235:21;;10504:6492;;;12268:178;;;;10504:6492;;;12293:61;;11425:10;12293:61;;;10504:6492;;;12340:4;12293:61;10504:6492;;;;;;;;;;;;;12293:61;10504:6492;;;;;;12293:61;10504:6492;;;;;12293:61;;;;;;;;12268:178;;;10504:6492;;12457:6;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;12482:57;10504:6492;12482:57;;10504:6492;;;;12482:57;;10504:6492;;;;;;;;;;;;;;;11439:4;10504:6492;;;;;:::i;:::-;;;;;;;;;;11439:4;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12293:61;;;;;;;;;;;;;:::i;:::-;;;;;;10504:6492;;;;;;;;;12268:178;10504:6492;;;12384:62;;;;;10504:6492;;;12384:62;;11425:10;12384:62;;;10504:6492;;;12432:4;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;12384:62;;;;;;;;;;12268:178;;;;12384:62;;;;;;;:::i;:::-;;;;;;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;14095:6;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;14351:38;10504:6492;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11417:39;10504:6492;;;;11425:10;:18;11417:39;:::i;:::-;10504:6492;14561:15;10504:6492;;;14561:15;10504:6492;;14587:15;10504:6492;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;16926:15;10504:6492;;;;;;;;16926:15;-1:-1:-1;10504:6492:0;;;;;-1:-1:-1;10504:6492:0;:::o;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;10504:6492:0;;-1:-1:-1;10504:6492:0;;;;;;-1:-1:-1;10504:6492:0;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;12554:780;;;;12673:1;12706:3;10504:6492;12673:1;10504:6492;12678:6;10504:6492;;;;;;;;12673:1;10504:6492;;;12676:28;;;;;12743:22;;;;:::i;:::-;10504:6492;;;;;;;;;;;;;;;12784:17;:44;;;;12706:3;12784:65;;;;12706:3;12780:536;;;;12706:3;;;;;;;:::i;:::-;12666:8;;12780:536;12870:269;;;;;;;;;;;;;;10504:6492;;;12903:42;;12926:10;12903:42;;;10504:6492;;;;;;;;;;;;;;-1:-1:-1;;10504:6492:0;;12903:42;;;;;;;;12870:269;;;10504:6492;12673:1;10504:6492;;;;;12673:1;10504:6492;;;;;;;;;;;;13157:22;13182:49;;;;:::i;:::-;10504:6492;;;12673:1;10504:6492;;;;;12673:1;10504:6492;13157:22;:::i;:::-;10504:6492;;;;;13250:23;10504:6492;;;;;;12870:269;10504:6492;;;12673:1;10504:6492;;12673:1;10504:6492;13250:23;:::i;:::-;13294:7::o;10504:6492::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13229:1;10504:6492;;;;;;;;;;;;12903:42;;;;;;;;;;;;;:::i;:::-;;;;;;10504:6492;;;12673:1;10504:6492;;;;;12870:269;10504:6492;;;;12992:42;;;;;;10504:6492;;;12992:42;;13015:10;12992:42;;;;10504:6492;;;;;;;;;;12992:42;10504:6492;-1:-1:-1;10504:6492:0;;;-1:-1:-1;12992:42:0;;;;;;;;;12870:269;13057:62;;;;;;10504:6492;;;13057:62;;13093:4;13057:62;;;10504:6492;;;13015:10;10504:6492;;;;;;;;;;;;12673:1;;10504:6492;;;;;12673:1;;10504:6492;;;;13057:62;;;;;;;;;;12870:269;;;;13057:62;;;;:::i;:::-;;;;12992:42;;;;:::i;:::-;;;;;10504:6492;;;12673:1;10504:6492;;;;;12784:65;12832:7;;10504:6492;12832:17;;-1:-1:-1;12784:65:0;;;;:44;10504:6492;;;;;;;;;12805:23;;-1:-1:-1;12784:44:0;;;12676:28;;;;;;;;;;12554:780::o
Swarm Source
ipfs://56daab8e89a0cc0644b22d6a70f3b4b35b889048341ca47ff5ea15420fd19f3d
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.