Source Code
Overview
S Balance
More Info
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
25482238 | 3 days ago | Contract Creation | 0 S |
Loading...
Loading
Contract Name:
sdaemon0x_GameCenter
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\Context.sol pragma solidity ^0.8.19; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File: contracts\openzeppelin\contracts\access\Ownable.sol // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.19; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: contracts/sdaemon0x/games/sdaemon0xGameCenter.sol pragma solidity ^0.8.19; interface ISdaemon0x_GameCenter { function addGame(address creator, uint256 tokenId, address gameAddr, uint256 amount) external; function claimGameFee(address gameAddr) external; function removeGame(address gameAddr) external; function compute_game_price(uint256 amount) external view returns (uint256, uint256); function betGame(uint256 amount) external; function payPlayer(address player, uint256 amount) external; } interface TreasuryHolding { function sync() external; function getStakerVolume(address staker) external view returns (uint256); function totalStaked() external view returns (uint256); function get_nb_stake() external view returns (uint256); function get_active(uint256 tokenId) external view returns (bool); function get_amount(uint256 tokenId) external view returns (uint256); } contract sdaemon0x_GameCenter is ISdaemon0x_GameCenter, Ownable { IERC20 public sdeamon = IERC20(0x16a0BfC1C6e331788E0A5096911cDCd9943D2C9c); uint256 public gameFeeRate = 1000; uint256 public internal_tax = 0; TreasuryHolding public stakingContract; function initStakingContract(address addr) external onlyOwner { stakingContract = TreasuryHolding(addr); } mapping(address => bool) public MastersOfGames; function set_masterOfGames(address master_, bool enable) public onlyOwner { MastersOfGames[master_] = enable; } modifier onlyMasterOfGames() { require(MastersOfGames[msg.sender] == true); _; } struct Game { address game; address owner; uint256 tokenId; uint256 amountBanked; uint256 lastClaimGame; } mapping(address => Game) public games; Game[] public gamesArray; event GameBet(address indexed player, uint256 amount); event PlayerWin(address indexed player, uint256 amount); constructor() Ownable(0x88524E752144C15dc1a12BA3978c2d700dc97498) { MastersOfGames[0x88524E752144C15dc1a12BA3978c2d700dc97498] = true; } // not get in the player price view! function setGameFeeRate(uint256 _gameFeeRate) external onlyOwner { gameFeeRate = _gameFeeRate; } // get on part of game fee! 0 is prefered but maybe nice to equalize the game fee function setInternalTax(uint256 tax) external onlyOwner { internal_tax = tax; } function addGame(address creator_, uint256 tokenId, address gameAddr, uint256 amount) external onlyMasterOfGames { require(gameAddr != address(0)); require(games[gameAddr].game == address(0)); if (amount > 0) { sdeamon.transferFrom(msg.sender, address(this), amount); } games[gameAddr] = Game(gameAddr, creator_, tokenId, amount, block.timestamp); gamesArray.push(games[gameAddr]); } function claimGameFee(address gameAddr) external { require(games[gameAddr].game == gameAddr); require((games[gameAddr].lastClaimGame + 1 days) < block.timestamp); require(games[gameAddr].owner == msg.sender); require(games[gameAddr].amountBanked > 0); uint256 tax_claim = (games[gameAddr].amountBanked * gameFeeRate) / 10000; sdeamon.transfer(msg.sender, games[gameAddr].amountBanked - tax_claim); sdeamon.transfer(address(stakingContract), tax_claim); stakingContract.sync(); games[gameAddr].amountBanked = 0; games[gameAddr].lastClaimGame = block.timestamp; } function removeGame(address gameAddr) external onlyMasterOfGames { require(games[gameAddr].game == gameAddr); uint256 tax_claim = (games[gameAddr].amountBanked * gameFeeRate) / 10000; sdeamon.transfer(msg.sender, games[gameAddr].amountBanked - tax_claim); sdeamon.transfer(address(stakingContract), tax_claim); stakingContract.sync(); //reset game games[gameAddr].amountBanked = 0; games[gameAddr].game = address(0); //erase gamesArray for (uint256 i = 0; i < gamesArray.length; i++) { if (gamesArray[i].game == gameAddr) { if (i < gamesArray.length - 1) gamesArray[i] = gamesArray[gamesArray.length - 1]; gamesArray.pop(); return; } } } modifier onlyGame() { require(games[msg.sender].game == msg.sender); _; } function compute_game_price(uint256 amount) public view returns (uint256, uint256) { uint256 feeForReward = (amount * gameFeeRate) / 10000; return (amount + feeForReward, feeForReward); } function betGame(uint256 amount) external onlyGame { require(amount > 0, "Invalid fee amount"); (uint256 totalAmoutToPay, uint256 fee) = compute_game_price(amount); uint256 feeInternal = (internal_tax > 0) ? (amount * internal_tax) / 10000 : 0; uint256 feeHolders = fee + feeInternal; sdeamon.transferFrom(msg.sender, address(this), totalAmoutToPay); sdeamon.transfer(address(stakingContract), feeHolders); stakingContract.sync(); games[msg.sender].amountBanked += amount; emit GameBet(msg.sender, amount); } function payPlayer(address player, uint256 amount) external onlyGame { if (amount > 0) { require(amount <= games[msg.sender].amountBanked); games[msg.sender].amountBanked -= amount; sdeamon.transfer(player, amount); emit PlayerWin(player, amount); } } }
{ "metadata": { "appendCBOR": true, "bytecodeHash": "ipfs", "useLiteralContent": false }, "optimizer": { "enabled": true, "runs": 1000000 }, "viaIR": true, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"GameBet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PlayerWin","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"MastersOfGames","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creator_","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"gameAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"betGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"gameAddr","type":"address"}],"name":"claimGameFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"compute_game_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gameFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"games","outputs":[{"internalType":"address","name":"game","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amountBanked","type":"uint256"},{"internalType":"uint256","name":"lastClaimGame","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"gamesArray","outputs":[{"internalType":"address","name":"game","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amountBanked","type":"uint256"},{"internalType":"uint256","name":"lastClaimGame","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"initStakingContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"internal_tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"payPlayer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"gameAddr","type":"address"}],"name":"removeGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sdeamon","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gameFeeRate","type":"uint256"}],"name":"setGameFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"setInternalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"master_","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"set_masterOfGames","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingContract","outputs":[{"internalType":"contract TreasuryHolding","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608080604052346100ae57600080547388524e752144c15dc1a12ba3978c2d700dc974986001600160a01b031980831682178455604093927316a0bfc1c6e331788e0a5096911cdcd9943d2c9c919083906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a360015416176001556103e8600255816003558152600560205220600160ff198254161790556117d690816100b48239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80630bb53157146110c4578063139f5e57146110845780633c27c26214610d82578063594be94f14610b3c578063715018a614610a9f57806379131a19146109e05780638da5cb5b1461098f5780639200b1f2146109525780639b0e9829146108f85780639c5325b4146108bb578063b19d2c1814610854578063bce24669146107f7578063bf918e7514610776578063c90dfe11146106d8578063e36b17b114610698578063e573edcc14610645578063ee99205c146105f0578063f2fde38b1461050b578063f579ef92146102765763f7cf8b24146100fd57600080fd5b3461027257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610272576101336111d4565b6024359233855260066020528085209273ffffffffffffffffffffffffffffffffffffffff9333858254160361026e578561016c578680f35b600301805480871161026a576101ea9260209261018a8980946113e6565b905585898860015416928751968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156102605791602093917f357af010beebe8985647fbfd4f7dce9fc9fe48758cdbe845b04b0365b94910279593610233575b50519485521692a23880808080808680f35b61025290853d8111610259575b61024a818361128b565b8101906112cc565b5038610221565b503d610240565b82513d88823e3d90fd5b8780fd5b8680fd5b8280fd5b509034610272576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105075773ffffffffffffffffffffffffffffffffffffffff90816102c76111d4565b16918286526006825283862083828254160361026e578501546201518081018091116104db579086914211156104895783825260068352848220816001820154163303610272576003015480156102725761032861271091600254906113d3565b048683856103a485600154168984526006835261034b8660038d872001546113e6565b8b519485809481937fa9059cbb00000000000000000000000000000000000000000000000000000000998a8452339084016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156104d157908692916104b4575b508360015416898686825416936103fc8c5197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156104aa5761048d575b50855416803b1561048957818091878751809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561047f57610467575b509160069252528220908260038301554291015580f35b61047090611248565b61047b578438610450565b8480fd5b85513d84823e3d90fd5b5080fd5b6104a390843d86116102595761024a818361128b565b503861040b565b86513d85823e3d90fd5b6104ca90833d85116102595761024a818361128b565b50386103b7565b88513d87823e3d90fd5b6024876011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8380fd5b50346102725760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610272576105436111d4565b9061054c6111f7565b73ffffffffffffffffffffffffffffffffffffffff8092169283156105c1575050600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b50913461064257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610642575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80fd5b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b8382346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576106d16111f7565b3560025580f35b50503461048957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576107106111d4565b90602435918215158093036105075773ffffffffffffffffffffffffffffffffffffffff9061073d6111f7565b168352600560205282209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905580f35b8382346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895773ffffffffffffffffffffffffffffffffffffffff6107c46111d4565b6107cc6111f7565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b5050346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048957600160ff6108346111d4565b9233855260056020528420541615150361048957610851906113f3565b80f35b5050346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895760ff8160209373ffffffffffffffffffffffffffffffffffffffff6108a86111d4565b1681526005855220541690519015158152f35b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576020906003549051908152f35b5082346106425760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064257503561094561271061093d600254846113d3565b048092611397565b9082519182526020820152f35b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576020906002549051908152f35b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b509190346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895780610a9b9173ffffffffffffffffffffffffffffffffffffffff9384610a366111d4565b168152600660205220838154169360018201541694600282015490600383015492015492519586958691959493909260809360a084019773ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201520152565b0390f35b833461064257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064257610ad66111f7565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b509190346104895760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048957610b766111d4565b6044359073ffffffffffffffffffffffffffffffffffffffff808316809303610d7d576064359133865260209160058352600160ff878920541615150361026e57841561026e578487526006835280868820541661026e5783610cf3575b85519560a0870187811067ffffffffffffffff821117610cc55790829181528688528185890194168452600681890195602435875260608a0197885260808a0198428a528b52528820965116907fffffffffffffffffffffffff00000000000000000000000000000000000000009182885416178755600187019251169082541617905551600284015551600383015551838201556007549268010000000000000000841015610c995750610c9383600161085194950160075561116a565b906112e4565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60015486517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b019081523060208201526040810187905290918591839185169082908c90829060600103925af18015610d7357610d56575b50610bd4565b610d6c90843d86116102595761024a818361128b565b5038610d50565b87513d8a823e3d90fd5b600080fd5b50903461027257602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610507578235923385526006835273ffffffffffffffffffffffffffffffffffffffff3381848820541603611080578415611024579085916127108386610e7c610e2b84610e016002548d6113d3565b04610e0c818d611397565b958c60035480151560001461101a57610e24916113d3565b0490611397565b60015489517f23b872dd000000000000000000000000000000000000000000000000000000008152338982019081523060208201526040810197909752919591948593918816928492839160600190565b03925af1801561101057918791610ef393610ff3575b508360015416848654168789518096819582947fa9059cbb0000000000000000000000000000000000000000000000000000000084528b84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af18015610fe957610fcc575b50815416803b156102725782918451809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af18015610fc257610f8d575b50907fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec5469133855260068252600381862001610f81858254611397565b9055519283523392a280f35b93610fba7fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec546939295611248565b939091610f45565b82513d87823e3d90fd5b610fe290863d88116102595761024a818361128b565b5038610f02565b85513d86823e3d90fd5b61100990833d85116102595761024a818361128b565b5038610e92565b86513d87823e3d90fd5b5050508490611397565b508260649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601260248201527f496e76616c69642066656520616d6f756e7400000000000000000000000000006044820152fd5b8580fd5b8382346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576110bd6111f7565b3560035580f35b5091346106425760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064257823590600754821015610642575061110f610a9b9161116a565b5080546001820154600283015460038401549690930154945173ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604081019190915260608101939093526080830191909152819060a0820190565b6007548110156111a5576005906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d7d57565b73ffffffffffffffffffffffffffffffffffffffff60005416330361121857565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b67ffffffffffffffff811161125c57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761125c57604052565b90816020910312610d7d57518015158103610d7d5790565b9190611368578082036112f5575050565b6004809173ffffffffffffffffffffffffffffffffffffffff808254167fffffffffffffffffffffffff0000000000000000000000000000000000000000908187541617865560018601916001840154169082541617905560028101546002850155600381015460038501550154910155565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b919082018092116113a457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818102929181159184041417156113a457565b919082039182116113a457565b906000918273ffffffffffffffffffffffffffffffffffffffff809216808252602092600684526040918284209181818454160361047b5760038093015460025461143d916113d3565b6127109004936001968288541695848852600682528086848a20015490611463916113e6565b83517fa9059cbb0000000000000000000000000000000000000000000000000000000080825233600480840191909152602483019390935291988490829060449082908e905af180156117965790849291611779575b50858b5416898b88825416936114fd895197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561176f57611752575b5082865416803b1561026a578790878451809d81937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1998a156117485788999a611734575b5060069084889b9a9b5252852085848201557fffffffffffffffffffffffff0000000000000000000000000000000000000000815416905584975b61159f575b5050505050509050565b60078054808a101561172d5783836115b68c61116a565b5054161461161d5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88146115f1579685019685611590565b6024856011867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91509592969791507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91828201918211611701578181106116e4575b5050845480156116b857019461166e8661116a565b92909261168d5790848092818555840155816002840155820155015555565b60248580867f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b6024856031867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b610c936116f36116fa9361116a565b509161116a565b3880611659565b6024866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050611595565b9661174160069298611248565b9690611555565b82513d89823e3d90fd5b61176890823d84116102595761024a818361128b565b503861150c565b83513d8a823e3d90fd5b61178f90833d85116102595761024a818361128b565b50386114b9565b85513d8c823e3d90fdfea26469706673582212203dacab04a35f41120ce035353236a6e44e881c86b4de6221d199b306957c28f464736f6c63430008130033
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b600091823560e01c80630bb53157146110c4578063139f5e57146110845780633c27c26214610d82578063594be94f14610b3c578063715018a614610a9f57806379131a19146109e05780638da5cb5b1461098f5780639200b1f2146109525780639b0e9829146108f85780639c5325b4146108bb578063b19d2c1814610854578063bce24669146107f7578063bf918e7514610776578063c90dfe11146106d8578063e36b17b114610698578063e573edcc14610645578063ee99205c146105f0578063f2fde38b1461050b578063f579ef92146102765763f7cf8b24146100fd57600080fd5b3461027257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610272576101336111d4565b6024359233855260066020528085209273ffffffffffffffffffffffffffffffffffffffff9333858254160361026e578561016c578680f35b600301805480871161026a576101ea9260209261018a8980946113e6565b905585898860015416928751968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156102605791602093917f357af010beebe8985647fbfd4f7dce9fc9fe48758cdbe845b04b0365b94910279593610233575b50519485521692a23880808080808680f35b61025290853d8111610259575b61024a818361128b565b8101906112cc565b5038610221565b503d610240565b82513d88823e3d90fd5b8780fd5b8680fd5b8280fd5b509034610272576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105075773ffffffffffffffffffffffffffffffffffffffff90816102c76111d4565b16918286526006825283862083828254160361026e578501546201518081018091116104db579086914211156104895783825260068352848220816001820154163303610272576003015480156102725761032861271091600254906113d3565b048683856103a485600154168984526006835261034b8660038d872001546113e6565b8b519485809481937fa9059cbb00000000000000000000000000000000000000000000000000000000998a8452339084016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156104d157908692916104b4575b508360015416898686825416936103fc8c5197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156104aa5761048d575b50855416803b1561048957818091878751809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561047f57610467575b509160069252528220908260038301554291015580f35b61047090611248565b61047b578438610450565b8480fd5b85513d84823e3d90fd5b5080fd5b6104a390843d86116102595761024a818361128b565b503861040b565b86513d85823e3d90fd5b6104ca90833d85116102595761024a818361128b565b50386103b7565b88513d87823e3d90fd5b6024876011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8380fd5b50346102725760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610272576105436111d4565b9061054c6111f7565b73ffffffffffffffffffffffffffffffffffffffff8092169283156105c1575050600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b50913461064257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610642575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80fd5b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b8382346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576106d16111f7565b3560025580f35b50503461048957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576107106111d4565b90602435918215158093036105075773ffffffffffffffffffffffffffffffffffffffff9061073d6111f7565b168352600560205282209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905580f35b8382346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895773ffffffffffffffffffffffffffffffffffffffff6107c46111d4565b6107cc6111f7565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b5050346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048957600160ff6108346111d4565b9233855260056020528420541615150361048957610851906113f3565b80f35b5050346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895760ff8160209373ffffffffffffffffffffffffffffffffffffffff6108a86111d4565b1681526005855220541690519015158152f35b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576020906003549051908152f35b5082346106425760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064257503561094561271061093d600254846113d3565b048092611397565b9082519182526020820152f35b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576020906002549051908152f35b50503461048957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b509190346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895780610a9b9173ffffffffffffffffffffffffffffffffffffffff9384610a366111d4565b168152600660205220838154169360018201541694600282015490600383015492015492519586958691959493909260809360a084019773ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201520152565b0390f35b833461064257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064257610ad66111f7565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b509190346104895760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048957610b766111d4565b6044359073ffffffffffffffffffffffffffffffffffffffff808316809303610d7d576064359133865260209160058352600160ff878920541615150361026e57841561026e578487526006835280868820541661026e5783610cf3575b85519560a0870187811067ffffffffffffffff821117610cc55790829181528688528185890194168452600681890195602435875260608a0197885260808a0198428a528b52528820965116907fffffffffffffffffffffffff00000000000000000000000000000000000000009182885416178755600187019251169082541617905551600284015551600383015551838201556007549268010000000000000000841015610c995750610c9383600161085194950160075561116a565b906112e4565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60015486517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b019081523060208201526040810187905290918591839185169082908c90829060600103925af18015610d7357610d56575b50610bd4565b610d6c90843d86116102595761024a818361128b565b5038610d50565b87513d8a823e3d90fd5b600080fd5b50903461027257602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610507578235923385526006835273ffffffffffffffffffffffffffffffffffffffff3381848820541603611080578415611024579085916127108386610e7c610e2b84610e016002548d6113d3565b04610e0c818d611397565b958c60035480151560001461101a57610e24916113d3565b0490611397565b60015489517f23b872dd000000000000000000000000000000000000000000000000000000008152338982019081523060208201526040810197909752919591948593918816928492839160600190565b03925af1801561101057918791610ef393610ff3575b508360015416848654168789518096819582947fa9059cbb0000000000000000000000000000000000000000000000000000000084528b84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af18015610fe957610fcc575b50815416803b156102725782918451809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af18015610fc257610f8d575b50907fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec5469133855260068252600381862001610f81858254611397565b9055519283523392a280f35b93610fba7fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec546939295611248565b939091610f45565b82513d87823e3d90fd5b610fe290863d88116102595761024a818361128b565b5038610f02565b85513d86823e3d90fd5b61100990833d85116102595761024a818361128b565b5038610e92565b86513d87823e3d90fd5b5050508490611397565b508260649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601260248201527f496e76616c69642066656520616d6f756e7400000000000000000000000000006044820152fd5b8580fd5b8382346104895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610489576110bd6111f7565b3560035580f35b5091346106425760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064257823590600754821015610642575061110f610a9b9161116a565b5080546001820154600283015460038401549690930154945173ffffffffffffffffffffffffffffffffffffffff928316815291166020820152604081019190915260608101939093526080830191909152819060a0820190565b6007548110156111a5576005906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d7d57565b73ffffffffffffffffffffffffffffffffffffffff60005416330361121857565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b67ffffffffffffffff811161125c57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761125c57604052565b90816020910312610d7d57518015158103610d7d5790565b9190611368578082036112f5575050565b6004809173ffffffffffffffffffffffffffffffffffffffff808254167fffffffffffffffffffffffff0000000000000000000000000000000000000000908187541617865560018601916001840154169082541617905560028101546002850155600381015460038501550154910155565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b919082018092116113a457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818102929181159184041417156113a457565b919082039182116113a457565b906000918273ffffffffffffffffffffffffffffffffffffffff809216808252602092600684526040918284209181818454160361047b5760038093015460025461143d916113d3565b6127109004936001968288541695848852600682528086848a20015490611463916113e6565b83517fa9059cbb0000000000000000000000000000000000000000000000000000000080825233600480840191909152602483019390935291988490829060449082908e905af180156117965790849291611779575b50858b5416898b88825416936114fd895197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561176f57611752575b5082865416803b1561026a578790878451809d81937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1998a156117485788999a611734575b5060069084889b9a9b5252852085848201557fffffffffffffffffffffffff0000000000000000000000000000000000000000815416905584975b61159f575b5050505050509050565b60078054808a101561172d5783836115b68c61116a565b5054161461161d5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88146115f1579685019685611590565b6024856011867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91509592969791507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91828201918211611701578181106116e4575b5050845480156116b857019461166e8661116a565b92909261168d5790848092818555840155816002840155820155015555565b60248580867f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b6024856031867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b610c936116f36116fa9361116a565b509161116a565b3880611659565b6024866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050611595565b9661174160069298611248565b9690611555565b82513d89823e3d90fd5b61176890823d84116102595761024a818361128b565b503861150c565b83513d8a823e3d90fd5b61178f90833d85116102595761024a818361128b565b50386114b9565b85513d8c823e3d90fdfea26469706673582212203dacab04a35f41120ce035353236a6e44e881c86b4de6221d199b306957c28f464736f6c63430008130033
Deployed Bytecode Sourcemap
5830:4760:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;9388:10;;5830:4760;;9382:5;5830:4760;;;;;;;9388:10;;5830:4760;;;;9382:36;5830:4760;;10345:10;10341:239;;5830:4760;;;10341:239;10390:30;;5830:4760;;10380:40;;;5830:4760;;10491:32;10436:40;5830:4760;10436:40;;;;;;:::i;:::-;5830:4760;;;;;;;;;;;10491:32;;;;;;;5830:4760;10491:32;;;;5830:4760;;;;;;;;;;;;;;;;;10491:32;;;;;;;;;;5830:4760;10491:32;;10543:25;10491:32;;;;10341:239;5830:4760;;;;;;10543:25;;10341:239;;;;;;5830:4760;;;10491:32;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;7925:5;5830:4760;;;;;;;;;;7925:32;5830:4760;;7978:29;;5830:4760;8010:6;5830:4760;;;;;;;8020:15;;;;-1:-1:-1;5830:4760:0;;;;;;7925:5;5830:4760;;;;;8055:21;;;;5830:4760;;8080:10;8055:35;5830:4760;;8110:28;;5830:4760;8110:32;;5830:4760;;8175:42;8221:5;5830:4760;8206:11;5830:4760;8175:42;;:::i;:::-;5830:4760;;;;8237:70;5830:4760;8055:21;5830:4760;;;;;7925:5;5830:4760;;8266:40;5830:4760;8110:28;5830:4760;;;8266:28;5830:4760;8266:40;:::i;:::-;5830:4760;;;;;;;;;8237:70;;;;8080:10;8237:70;;;5830:4760;;;;;;;;;;;;;;;;;8237:70;;;;;;;;;;;;;;;5830:4760;;;8055:21;5830:4760;;;;;;;;;8318:53;5830:4760;;8318:53;;;;;;;;;;;5830:4760;;;;;;;;;;;;;;;;;8318:53;;;;;;;;;;;5830:4760;;;;;8382:22;;;;;5830:4760;;;;;;8382:22;;;;5830:4760;8382:22;;;;;;;;;;5830:4760;;;7925:5;5830:4760;;;;;8415:28;;8110;8415;;5830:4760;8020:15;8458:29;;5830:4760;;;8382:22;;;;:::i;:::-;5830:4760;;8382:22;;;;5830:4760;;;;8382:22;5830:4760;;;;;;;;;8382:22;5830:4760;;;8318:53;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;8237:70;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;;:::i;:::-;5830:4760;;;;4392:22;;;4388:93;;5830:4760;;;;;;;;;;;;4828:40;5830:4760;4828:40;;5830:4760;;4388:93;5830:4760;;;;;4438:31;;;;;;5830:4760;4438:31;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:74;5830:4760;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5830:4760;7164:26;5830:4760;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;3236:65;;;:::i;:::-;5830:4760;;;6369:14;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;:::i;:::-;5830:4760;;;;;;;;;;;;;;;;;;;;;;;6494:4;5830:4760;;;:::i;:::-;6479:10;;5830:4760;;6464:14;5830:4760;;;;;;;;6464:34;5830:4760;;6510:1;;;:::i;:::-;5830:4760;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6231:46;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;6022:31;5830:4760;;;;;;;;;;;;;;;;;;;;;;9611:21;9587:5;9563:20;9572:11;5830:4760;9563:20;;:::i;:::-;5830:4760;9611:21;;;:::i;:::-;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;5982:33;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6687:37;5830:4760;;;;;;;6687:37;;;;5830:4760;;6687:37;;;;5830:4760;6687:37;;;;5830:4760;6687:37;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5830:4760;;;;;;;;;;4828:40;;;;5830:4760;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6479:10;;5830:4760;;;;6464:14;5830:4760;;;;;;;;;;;6464:34;5830:4760;;7528:22;;5830:4760;;;;;7570:5;5830:4760;;;;;;;;;;7620:10;7616:98;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;7742:58;;;;5830:4760;;;;7570:5;7742:58;;;5830:4760;;;;;;7742:58;;5830:4760;;;;7742:58;;7784:15;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7811:10;5830:4760;;;;;;;;;;;;;;;;7811:10;5830:4760;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;7616:98;5830:4760;;;;;7647:55;;6479:10;7647:55;;;5830:4760;;;7688:4;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:55;;;;;;;;;;7616:98;;;;7647:55;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9388:10;;5830:4760;;9382:5;5830:4760;;;9388:10;5830:4760;;;;;;9382:36;5830:4760;;9731:10;;5830:4760;;9587:5;;;;5830:4760;;9991:64;9963:17;5830:4760;9563:20;9572:11;5830:4760;9563:20;;:::i;:::-;5830:4760;9611:21;;;;:::i;:::-;5830:4760;;9876:12;5830:4760;9876:16;;;9875:56;9876:16;;;9897:21;;;:::i;:::-;5830:4760;9875:56;9963:17;:::i;:::-;5830:4760;;;;;9991:64;;9388:10;9991:64;;;5830:4760;;;10032:4;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9991:64;;;;;;;;;;;;10066:54;9991:64;;;9875:56;5830:4760;;;;;;;;;;;;10066:54;;;;;;5830:4760;10066:54;;;;;5830:4760;;;;;;;;;;;;;;;;;10066:54;;;;;;;;;;;9875:56;5830:4760;;;;10131:22;;;;;5830:4760;;;;10131:22;;;;5830:4760;10131:22;;;;;;;;;;9875:56;9388:10;;10220:27;9388:10;;5830:4760;;9382:5;5830:4760;;9876:12;5830:4760;;;10164:30;:40;5830:4760;;;10164:40;:::i;:::-;5830:4760;;;;;;9388:10;10220:27;;5830:4760;;10131:22;;;10220:27;10131:22;;;;:::i;:::-;;;;;;;5830:4760;;;;;;;;;10066:54;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;9991:64;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;9875:56;;;;;;9963:17;:::i;5830:4760::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5830:4760;7364:18;5830:4760;;;;;;;;;;;;;;;;;;;6731:24;5830:4760;6731:24;;;;;;;5830:4760;6731:24;;:::i;:::-;-1:-1:-1;5830:4760:0;;;6731:24;;5830:4760;6731:24;;;5830:4760;6731:24;;;5830:4760;6731:24;;;;5830:4760;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6731:24;5830:4760;;;;;;;;6731:24;-1:-1:-1;5830:4760:0;;;;;-1:-1:-1;5830:4760:0;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;3543:166::-;5830:4760;3453:6;5830:4760;;1488:10;3603:23;3599:103;;3543:166::o;3599:103::-;5830:4760;;;3650:40;;;1488:10;3650:40;;;5830:4760;3650:40;5830:4760;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;8519:818::-;;-1:-1:-1;5830:4760:0;;;;;;;;;;;8603:5;5830:4760;;;;;;;;;;;;;8603:32;5830:4760;;8668:28;;;;5830:4760;8699:11;5830:4760;8668:42;;;:::i;:::-;8714:5;5830:4760;;8730:7;;5830:4760;;;;;;;;;8603:5;5830:4760;;;;;;;8759:28;5830:4760;8759:40;;;;:::i;:::-;5830:4760;;;8730:70;;;8747:10;8730:70;;;;5830:4760;;;;;;;;;;;8730:70;;5830:4760;;;;;;;;8730:70;;;;;;;;;;;;;;8519:818;5830:4760;;;;;;;;;;;;8811:53;5830:4760;;8811:53;;;;;;;;;;;5830:4760;;;;;;;;;;;;;;;;;8811:53;;;;;;;;;;;8519:818;5830:4760;;;;;8875:22;;;;;5830:4760;;;;;8875:22;;;;5830:4760;8875:22;;;;;;;;;;;;;;8519:818;5830:4760;8603:5;5830:4760;;;;;;;;;;8930:28;;;;5830:4760;;;;;;;9050:13;9045:285;8730:7;;;9045:285;8519:818;;;;;;;;:::o;9088:3::-;9069:10;5830:4760;;9065:21;;;;;;9112:13;;;;;:::i;:::-;5830:4760;;;9112:30;9108:211;;9088:3;;5830:4760;;;;;;;;;;9050:13;;5830:4760;;;;;;;;;;9108:211;5830:4760;;;;;;;;;;;;;;;;;;9167:25;;;9163:80;;9108:211;5830:4760;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8699:11;5830:4760;;;;;;;;;9297:7::o;5830:4760::-;;;;;;;;;;;;;;;;;;;;9163:80;9194:13;9210:33;9194:49;9210:33;;:::i;:::-;9194:13;;;:::i;:49::-;9163:80;;;;5830:4760;;;;;;;;;;9065:21;;;;;8875:22;;;8603:5;8875:22;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;8811:53;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;;8730:70;;;;;;;;;;;;;:::i;:::-;;;;;;5830:4760;;;;;;;;
Swarm Source
ipfs://3dacab04a35f41120ce035353236a6e44e881c86b4de6221d199b306957c28f4
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.