Source Code
Overview
S Balance
Token Holdings
More Info
ContractCreator
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
26030784 | 12 hrs ago | 0 S | ||||
26030763 | 12 hrs ago | 0 S | ||||
26030747 | 12 hrs ago | 0 S | ||||
26030730 | 12 hrs ago | 0 S | ||||
26030715 | 12 hrs ago | 0 S | ||||
26030697 | 12 hrs ago | 0 S | ||||
26030682 | 12 hrs ago | 0 S | ||||
26030667 | 12 hrs ago | 0 S | ||||
26030649 | 12 hrs ago | 0 S | ||||
26030632 | 12 hrs ago | 0 S | ||||
26030614 | 12 hrs ago | 0 S | ||||
26030596 | 12 hrs ago | 0 S | ||||
26030578 | 12 hrs ago | 0 S | ||||
26030560 | 12 hrs ago | 0 S | ||||
26030543 | 12 hrs ago | 0 S | ||||
26030529 | 12 hrs ago | 0 S | ||||
26030513 | 12 hrs ago | 0 S | ||||
26030496 | 12 hrs ago | 0 S | ||||
26030476 | 12 hrs ago | 0 S | ||||
26030456 | 12 hrs ago | 0 S | ||||
26030439 | 12 hrs ago | 0 S | ||||
26030423 | 12 hrs ago | 0 S | ||||
26030405 | 12 hrs ago | 0 S | ||||
26030384 | 12 hrs ago | 0 S | ||||
26030367 | 12 hrs ago | 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; //from GameProposal. interface ISdaemon0x_GameCenter { function addGame(address creator_, address gameAddr, uint256 amount) external; function claimGameFee(address gameAddr) external; function removeGame(address gameAddr) external; } //from Game. interface ISdaemon0x_GameTreasury { function compute_game_price(uint256 amount) external view returns (uint256, uint256); function betGame(address player, uint256 amount) external; function payPlayer(address player, uint256 amount) external; } // to holding for fee... 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, ISdaemon0x_GameTreasury, Ownable { IERC20 public sdeamon = IERC20(0x16a0BfC1C6e331788E0A5096911cDCd9943D2C9c); uint256 public gameFeeRate = 1000; uint256 public internal_tax = 0; function init_ERC20(address erc20_) external onlyOwner { sdeamon = IERC20(erc20_); } 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 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_, 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_, 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); delete games[gameAddr]; //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(address player, uint256 amount) external onlyGame { require(amount > 0, "Invalid fee amount"); (,uint256 fee) = compute_game_price(amount); uint256 feeInternal = (internal_tax > 0) ? (amount * internal_tax) / 10000 : 0; uint256 feeHolders = fee + feeInternal; sdeamon.transferFrom(player, address(this), amount); sdeamon.transferFrom(player, address(stakingContract), feeHolders); stakingContract.sync(); games[msg.sender].amountBanked += amount; //C'est le game quie bank emit GameBet(player, 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":"address","name":"gameAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"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":"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":"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":[{"internalType":"address","name":"erc20_","type":"address"}],"name":"init_ERC20","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
608080604052346100ae57600080547388524e752144c15dc1a12ba3978c2d700dc974986001600160a01b031980831682178455604093927316a0bfc1c6e331788e0a5096911cdcd9943d2c9c919083906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a360015416176001556103e8600255816003558152600560205220600160ff1982541617905561182690816100b48239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80630bb531571461113a5780630ded70b514610e36578063139f5e5714610df6578063715018a614610d5957806379131a1914610ca55780637e16aad614610a6c5780638da5cb5b14610a1b5780639200b1f2146109de57806397ed1ed31461095c5780639b0e9829146109025780639c5325b4146108c5578063b19d2c181461085e578063bce2466914610801578063bf918e7514610780578063c90dfe11146106e2578063e36b17b1146106a2578063e573edcc1461064b578063ee99205c146105f6578063f2fde38b14610511578063f579ef92146102815763f7cf8b241461010857600080fd5b3461027d57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761013e611236565b6024359233855260066020528085209273ffffffffffffffffffffffffffffffffffffffff933385825416036102795785610177578680f35b6002018054808711610275576101f59260209261019589809461143e565b905585898860015416928751968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561026b5791602093917f357af010beebe8985647fbfd4f7dce9fc9fe48758cdbe845b04b0365b9491027959361023e575b50519485521692a23880808080808680f35b61025d90853d8111610264575b61025581836112ed565b81019061132e565b503861022c565b503d61024b565b82513d88823e3d90fd5b8780fd5b8680fd5b8280fd5b503461027d576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895773ffffffffffffffffffffffffffffffffffffffff91826102d1611236565b16928386526006835284862084828254160361027957600301546201518081018091116104e5579086929142111561027d57848352600684528583208160018201541633036104895760020154801561048957610334612710916002549061142b565b04816001541690868552600686526103528160028a8820015461143e565b9086895180948189816103af7fa9059cbb0000000000000000000000000000000000000000000000000000000098898352338d84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af19182156104db576104089388936104be575b508460015416908786885416918c519687958694859384528b84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156104b457610497575b5081541690813b1561027d57829182918751809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561048d57610475575b50916006925252812081600282015560034291015580f35b61047e906112aa565b61048957833861045d565b8380fd5b85513d84823e3d90fd5b6104ad90853d87116102645761025581836112ed565b5038610417565b87513d86823e3d90fd5b6104d490843d86116102645761025581836112ed565b50386103c5565b89513d88823e3d90fd5b6024876011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d57610549611236565b90610552611259565b73ffffffffffffffffffffffffffffffffffffffff8092169283156105c7575050600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b50913461064857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610648575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80fd5b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5080fd5b83823461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e576106db611259565b3560025580f35b50503461069e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5761071a611236565b90602435918215158093036104895773ffffffffffffffffffffffffffffffffffffffff90610747611259565b168352600560205282209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905580f35b83823461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5773ffffffffffffffffffffffffffffffffffffffff6107ce611236565b6107d6611259565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b50503461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57600160ff61083e611236565b9233855260056020528420541615150361069e5761085b9061144b565b80f35b50503461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5760ff8160209373ffffffffffffffffffffffffffffffffffffffff6108b2611236565b1681526005855220541690519015158152f35b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e576020906003549051908152f35b5082346106485760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064857503561094f6127106109476002548461142b565b0480926113ef565b9082519182526020820152f35b83346106485760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106485773ffffffffffffffffffffffffffffffffffffffff6109a9611236565b6109b1611259565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e576020906002549051908152f35b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5091903461069e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57610aa6611236565b6024359073ffffffffffffffffffffffffffffffffffffffff90818316809303610ca0576044359133865260209460058652600160ff828920541615150361027957841561027957848752600686528181882054166102795783610c16575b8051956080870187811067ffffffffffffffff821117610be857829160069185945287895283818a019616865282890196875260608901974289528a52528720955116907fffffffffffffffffffffffff0000000000000000000000000000000000000000918287541617865560018601925116908254161790555160028301555160038201556007549268010000000000000000841015610bbc5750610bb683600161085b9495016007556111cd565b90611346565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60015481517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b019081523060208201526040810187905290918891839186169082908c90829060600103925af18015610c9657610c79575b50610b05565b610c8f90873d89116102645761025581836112ed565b5038610c73565b82513d8a823e3d90fd5b600080fd5b8284346106485760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064857610d558273ffffffffffffffffffffffffffffffffffffffff9283610cf9611236565b16815260066020522092828454169260018501541693600360028201549101549151948594859092606092959493608083019673ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201520152565b0390f35b833461064857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064857610d90611259565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83823461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57610e2f611259565b3560035580f35b5082903461069e57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57610e6f611236565b602435913384526020916006835273ffffffffffffffffffffffffffffffffffffffff9133838888205416036111365784156110da57610edf61271080610eb86002548961142b565b0490610ec482896113ef565b5060035480156110d157610ed8908961142b565b04906113ef565b60015488517f23b872dd0000000000000000000000000000000000000000000000000000000080825273ffffffffffffffffffffffffffffffffffffffff8616858301908152306020820152604081018a905290928891839189169082908d90829060600103925af180156110c75791610fa7939188936110aa575b508660015416908a88875416918d519687958694859384528b8b850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af180156110a057611083575b508281541690813b1561027957869182918951809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561107957611046575b507fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec5469394953387526006845260028188200161103a8782546113ef565b9055519485521692a280f35b946110727fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec54695966112aa565b9493610ffd565b87513d88823e3d90fd5b61109990853d87116102645761025581836112ed565b5087610fb6565b88513d89823e3d90fd5b6110c090843d86116102645761025581836112ed565b508b610f5b565b8a513d8b823e3d90fd5b505087906113ef565b606490848851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601260248201527f496e76616c69642066656520616d6f756e7400000000000000000000000000006044820152fd5b8580fd5b5082903461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5735906007548210156106485750611182906111cd565b50805460018201546002830154600390930154935173ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260408101919091526060810191909152608090f35b60075481101561120757600760005260021b7fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610ca057565b73ffffffffffffffffffffffffffffffffffffffff60005416330361127a57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b67ffffffffffffffff81116112be57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176112be57604052565b90816020910312610ca057518015158103610ca05790565b91906113c057808203611357575050565b6003809173ffffffffffffffffffffffffffffffffffffffff808254167fffffffffffffffffffffffff00000000000000000000000000000000000000009081875416178655600186019160018401541690825416179055600281015460028501550154910155565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b919082018092116113fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818102929181159184041417156113fc57565b919082039182116113fc57565b906000918273ffffffffffffffffffffffffffffffffffffffff80921691828252602092600684526040918284208282825416036117ec5760028091015481546114949161142b565b6127109004936001968388541695858852600682528084848a200154906114ba9161143e565b83517fa9059cbb0000000000000000000000000000000000000000000000000000000080825233600480840191909152602483019390935291988490829060449082908e905af180156117e257908492916117c5575b50868b5416898b8982541693611554895197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156117bb5761179e575b5083865416803b15610275578790878451809d81937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1998a156117945788999a611780575b5060069085889b9a9b525285209160008355600087840155600082840155600060038094015585985b6115e5575b505050505050509050565b60078054808b10156117795785836115fc8d6111cd565b505416146116635750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89146116375797860197866115d5565b6024866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b915096979892959193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9283820191821161174d57818110611730575b50508554908115611704575001946116b8866111cd565b9390936116d75750829160008095949281809455840155820155015555565b6000907f4e487b710000000000000000000000000000000000000000000000000000000082525260246000fd5b806031867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b610bb661173f611746936111cd565b50916111cd565b38806116a1565b6024836011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50506115da565b9661178d600692986112aa565b96906115ac565b82513d89823e3d90fd5b6117b490823d84116102645761025581836112ed565b5038611563565b83513d8a823e3d90fd5b6117db90833d85116102645761025581836112ed565b5038611510565b85513d8c823e3d90fd5b8480fdfea2646970667358221220e1cb49a7bf03b5c6a72c595ebcf6822ac339543673cc3e01be5489fa323cf79e64736f6c63430008130033
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b600091823560e01c80630bb531571461113a5780630ded70b514610e36578063139f5e5714610df6578063715018a614610d5957806379131a1914610ca55780637e16aad614610a6c5780638da5cb5b14610a1b5780639200b1f2146109de57806397ed1ed31461095c5780639b0e9829146109025780639c5325b4146108c5578063b19d2c181461085e578063bce2466914610801578063bf918e7514610780578063c90dfe11146106e2578063e36b17b1146106a2578063e573edcc1461064b578063ee99205c146105f6578063f2fde38b14610511578063f579ef92146102815763f7cf8b241461010857600080fd5b3461027d57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761013e611236565b6024359233855260066020528085209273ffffffffffffffffffffffffffffffffffffffff933385825416036102795785610177578680f35b6002018054808711610275576101f59260209261019589809461143e565b905585898860015416928751968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561026b5791602093917f357af010beebe8985647fbfd4f7dce9fc9fe48758cdbe845b04b0365b9491027959361023e575b50519485521692a23880808080808680f35b61025d90853d8111610264575b61025581836112ed565b81019061132e565b503861022c565b503d61024b565b82513d88823e3d90fd5b8780fd5b8680fd5b8280fd5b503461027d576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104895773ffffffffffffffffffffffffffffffffffffffff91826102d1611236565b16928386526006835284862084828254160361027957600301546201518081018091116104e5579086929142111561027d57848352600684528583208160018201541633036104895760020154801561048957610334612710916002549061142b565b04816001541690868552600686526103528160028a8820015461143e565b9086895180948189816103af7fa9059cbb0000000000000000000000000000000000000000000000000000000098898352338d84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af19182156104db576104089388936104be575b508460015416908786885416918c519687958694859384528b84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156104b457610497575b5081541690813b1561027d57829182918751809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561048d57610475575b50916006925252812081600282015560034291015580f35b61047e906112aa565b61048957833861045d565b8380fd5b85513d84823e3d90fd5b6104ad90853d87116102645761025581836112ed565b5038610417565b87513d86823e3d90fd5b6104d490843d86116102645761025581836112ed565b50386103c5565b89513d88823e3d90fd5b6024876011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d57610549611236565b90610552611259565b73ffffffffffffffffffffffffffffffffffffffff8092169283156105c7575050600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b50913461064857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610648575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80fd5b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5080fd5b83823461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e576106db611259565b3560025580f35b50503461069e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5761071a611236565b90602435918215158093036104895773ffffffffffffffffffffffffffffffffffffffff90610747611259565b168352600560205282209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905580f35b83823461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5773ffffffffffffffffffffffffffffffffffffffff6107ce611236565b6107d6611259565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b50503461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57600160ff61083e611236565b9233855260056020528420541615150361069e5761085b9061144b565b80f35b50503461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5760ff8160209373ffffffffffffffffffffffffffffffffffffffff6108b2611236565b1681526005855220541690519015158152f35b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e576020906003549051908152f35b5082346106485760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064857503561094f6127106109476002548461142b565b0480926113ef565b9082519182526020820152f35b83346106485760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106485773ffffffffffffffffffffffffffffffffffffffff6109a9611236565b6109b1611259565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e576020906002549051908152f35b50503461069e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5091903461069e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57610aa6611236565b6024359073ffffffffffffffffffffffffffffffffffffffff90818316809303610ca0576044359133865260209460058652600160ff828920541615150361027957841561027957848752600686528181882054166102795783610c16575b8051956080870187811067ffffffffffffffff821117610be857829160069185945287895283818a019616865282890196875260608901974289528a52528720955116907fffffffffffffffffffffffff0000000000000000000000000000000000000000918287541617865560018601925116908254161790555160028301555160038201556007549268010000000000000000841015610bbc5750610bb683600161085b9495016007556111cd565b90611346565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60015481517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b019081523060208201526040810187905290918891839186169082908c90829060600103925af18015610c9657610c79575b50610b05565b610c8f90873d89116102645761025581836112ed565b5038610c73565b82513d8a823e3d90fd5b600080fd5b8284346106485760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064857610d558273ffffffffffffffffffffffffffffffffffffffff9283610cf9611236565b16815260066020522092828454169260018501541693600360028201549101549151948594859092606092959493608083019673ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201520152565b0390f35b833461064857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261064857610d90611259565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83823461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57610e2f611259565b3560035580f35b5082903461069e57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e57610e6f611236565b602435913384526020916006835273ffffffffffffffffffffffffffffffffffffffff9133838888205416036111365784156110da57610edf61271080610eb86002548961142b565b0490610ec482896113ef565b5060035480156110d157610ed8908961142b565b04906113ef565b60015488517f23b872dd0000000000000000000000000000000000000000000000000000000080825273ffffffffffffffffffffffffffffffffffffffff8616858301908152306020820152604081018a905290928891839189169082908d90829060600103925af180156110c75791610fa7939188936110aa575b508660015416908a88875416918d519687958694859384528b8b850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af180156110a057611083575b508281541690813b1561027957869182918951809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561107957611046575b507fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec5469394953387526006845260028188200161103a8782546113ef565b9055519485521692a280f35b946110727fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec54695966112aa565b9493610ffd565b87513d88823e3d90fd5b61109990853d87116102645761025581836112ed565b5087610fb6565b88513d89823e3d90fd5b6110c090843d86116102645761025581836112ed565b508b610f5b565b8a513d8b823e3d90fd5b505087906113ef565b606490848851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601260248201527f496e76616c69642066656520616d6f756e7400000000000000000000000000006044820152fd5b8580fd5b5082903461069e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261069e5735906007548210156106485750611182906111cd565b50805460018201546002830154600390930154935173ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260408101919091526060810191909152608090f35b60075481101561120757600760005260021b7fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610ca057565b73ffffffffffffffffffffffffffffffffffffffff60005416330361127a57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b67ffffffffffffffff81116112be57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176112be57604052565b90816020910312610ca057518015158103610ca05790565b91906113c057808203611357575050565b6003809173ffffffffffffffffffffffffffffffffffffffff808254167fffffffffffffffffffffffff00000000000000000000000000000000000000009081875416178655600186019160018401541690825416179055600281015460028501550154910155565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b919082018092116113fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818102929181159184041417156113fc57565b919082039182116113fc57565b906000918273ffffffffffffffffffffffffffffffffffffffff80921691828252602092600684526040918284208282825416036117ec5760028091015481546114949161142b565b6127109004936001968388541695858852600682528084848a200154906114ba9161143e565b83517fa9059cbb0000000000000000000000000000000000000000000000000000000080825233600480840191909152602483019390935291988490829060449082908e905af180156117e257908492916117c5575b50868b5416898b8982541693611554895197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156117bb5761179e575b5083865416803b15610275578790878451809d81937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1998a156117945788999a611780575b5060069085889b9a9b525285209160008355600087840155600082840155600060038094015585985b6115e5575b505050505050509050565b60078054808b10156117795785836115fc8d6111cd565b505416146116635750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89146116375797860197866115d5565b6024866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b915096979892959193507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9283820191821161174d57818110611730575b50508554908115611704575001946116b8866111cd565b9390936116d75750829160008095949281809455840155820155015555565b6000907f4e487b710000000000000000000000000000000000000000000000000000000082525260246000fd5b806031867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b610bb661173f611746936111cd565b50916111cd565b38806116a1565b6024836011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50506115da565b9661178d600692986112aa565b96906115ac565b82513d89823e3d90fd5b6117b490823d84116102645761025581836112ed565b5038611563565b83513d8a823e3d90fd5b6117db90833d85116102645761025581836112ed565b5038611510565b85513d8c823e3d90fd5b8480fdfea2646970667358221220e1cb49a7bf03b5c6a72c595ebcf6822ac339543673cc3e01be5489fa323cf79e64736f6c63430008130033
Deployed Bytecode Sourcemap
5932:4898:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;9613:10;;5932:4898;;9607:5;5932:4898;;;;;;;9613:10;;5932:4898;;;;9607:36;5932:4898;;10585:10;10581:239;;5932:4898;;;10581:239;10630:30;;5932:4898;;10620:40;;;5932:4898;;10731:32;10676:40;5932:4898;10676:40;;;;;;:::i;:::-;5932:4898;;;;;;;;;;;10731:32;;;;;;;5932:4898;10731:32;;;;5932:4898;;;;;;;;;;;;;;;;;10731:32;;;;;;;;;;5932:4898;10731:32;;10783:25;10731:32;;;;10581:239;5932:4898;;;;;;10783:25;;10581:239;;;;;;5932:4898;;;10731:32;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;8104:5;5932:4898;;;;;;;;;;8104:32;5932:4898;;8157:29;;5932:4898;8189:6;5932:4898;;;;;;;8199:15;;;;;-1:-1:-1;5932:4898:0;;;;;;8104:5;5932:4898;;;;;8234:21;;;;5932:4898;;8259:10;8234:35;5932:4898;;8289:28;;5932:4898;8289:32;;5932:4898;;8354:42;8400:5;5932:4898;8289:28;5932:4898;8354:42;;:::i;:::-;5932:4898;;8234:21;5932:4898;;;;;;8104:5;5932:4898;;8445:40;5932:4898;8289:28;5932:4898;;;8445:28;5932:4898;8445:40;:::i;:::-;5932:4898;;;;;;;;;8416:70;5932:4898;8416:70;;;;8259:10;8416:70;;;5932:4898;;;;;;;;;;;;;;;;;8416:70;;;;;;;;;;8497:53;8416:70;;;;;5932:4898;;;8234:21;5932:4898;;;;;;;;;;;8497:53;;;;;;;;;;;;5932:4898;;;;;;;;;;;;;;;;;8497:53;;;;;;;;;;;5932:4898;;;;;8561:22;;;;;;5932:4898;;;;;;8561:22;;;;5932:4898;8561:22;;;;;;;;;;5932:4898;;;8104:5;5932:4898;;;;;8594:28;8289;8594;;5932:4898;8157:29;8199:15;8637:29;;5932:4898;;;8561:22;;;;:::i;:::-;5932:4898;;8561:22;;;;5932:4898;;;;8561:22;5932:4898;;;;;;;;;8497:53;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;8416:70;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;;:::i;:::-;5932:4898;;;;4392:22;;;4388:93;;5932:4898;;;;;;;;;;;;4828:40;5932:4898;4828:40;;5932:4898;;4388:93;5932:4898;;;;;4438:31;;;;;;5932:4898;4438:31;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6028:74;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5932:4898;7369:26;5932:4898;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;3236:65;;;:::i;:::-;5932:4898;;;6600:14;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;:::i;:::-;5932:4898;;;;;;;;;;;;;;;;;;;;;;;6725:4;5932:4898;;;:::i;:::-;6710:10;;5932:4898;;6695:14;5932:4898;;;;;;;;6695:34;5932:4898;;6741:1;;;:::i;:::-;5932:4898;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6462:46;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:31;5932:4898;;;;;;;;;;;;;;;;;;;;;;9836:21;9812:5;9788:20;9797:11;5932:4898;9788:20;;:::i;:::-;5932:4898;9836:21;;;:::i;:::-;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;:::i;:::-;5932:4898;;6253:24;5932:4898;;;6253:24;5932:4898;;;;;;;;;;;;;;;;;;6109:33;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6710:10;;5932:4898;;;;6695:14;5932:4898;;;;;;;;;;;6695:34;5932:4898;;7716:22;;5932:4898;;;;;7758:5;5932:4898;;;;;;;;;;7808:10;7804:98;;5932:4898;;;;;;;;;;;;;;;;;;7758:5;5932:4898;;;;;;;7930:49;;;;5932:4898;;;;7930:49;;;5932:4898;;;;7930:49;;7963:15;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7990:10;5932:4898;;;;;;;;;;;;;;;;7990:10;5932:4898;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;7804:98;5932:4898;;;;;7835:55;;6710:10;7835:55;;;5932:4898;;;7876:4;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;7835:55;;;;;;;;;;7804:98;;;;7835:55;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6892:37;5932:4898;;;;;;;;6892:37;;;;5932:4898;;6892:37;;;;;5932:4898;6892:37;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5932:4898;;;;;;;;;;4828:40;;;;5932:4898;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5932:4898;7569:18;5932:4898;;;;;;;;;;;;;;;;;;;:::i;:::-;;;9613:10;;5932:4898;;;;9607:5;5932:4898;;;9613:10;;5932:4898;;;;;;9607:36;5932:4898;;9972:10;;5932:4898;;10180:17;9812:5;5932:4898;9788:20;9797:11;5932:4898;9788:20;;:::i;:::-;5932:4898;9836:21;;;;;:::i;:::-;-1:-1:-1;10093:12:0;5932:4898;10093:16;;;;10114:21;;;;:::i;:::-;5932:4898;10092:56;10180:17;:::i;:::-;5932:4898;;;;;10208:51;;;5932:4898;;;10208:51;;;5932:4898;;;10245:4;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;10208:51;;;;;;;;;10270:66;10208:51;;;;;;10092:56;5932:4898;;;;;;;;;;;;;;10270:66;;;;;;;;;;;;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;10270:66;;;;;;;;;;;10092:56;5932:4898;;;;;10347:22;;;;;;5932:4898;;;;;;10347:22;;;;5932:4898;10347:22;;;;;;;;;;10092:56;9613:10;10464:23;9613:10;;;;5932:4898;;9607:5;5932:4898;;9797:11;5932:4898;;;10380:30;:40;5932:4898;;;10380:40;:::i;:::-;5932:4898;;;;;;;10464:23;;5932:4898;;10347:22;;;10464:23;10347:22;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;10270:66;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;10208:51;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;10092:56;;;;;10180:17;:::i;5932:4898::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6936:24;5932:4898;6936:24;;;;;;;;;:::i;:::-;-1:-1:-1;5932:4898:0;;;6936:24;;5932:4898;6936:24;;;5932:4898;6936:24;;;;5932:4898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6936:24;5932:4898;;;;;;6936:24;-1:-1:-1;5932:4898:0;;;;;;-1:-1:-1;5932:4898:0;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;3543:166::-;5932:4898;3453:6;5932:4898;;1488:10;3603:23;3599:103;;3543:166::o;3599:103::-;5932:4898;;;3650:40;;;1488:10;3650:40;;;5932:4898;3650:40;5932:4898;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;8698:855::-;;-1:-1:-1;5932:4898:0;;;;;;;;;;;;8782:5;5932:4898;;;;;;;;;;;;8782:32;5932:4898;;8847:28;;;;5932:4898;;;8847:42;;;:::i;:::-;8893:5;5932:4898;;8909:7;;5932:4898;;;;;;;;;8782:5;5932:4898;;;;;;;8938:28;5932:4898;8938:40;;;;:::i;:::-;5932:4898;;;8909:70;;;8926:10;8909:70;;;;5932:4898;;;;;;;;;;;8909:70;;5932:4898;;;;;;;;8909:70;;;;;;;;;;;;;;8698:855;5932:4898;;;;;;;;;;;;8990:53;5932:4898;;8990:53;;;;;;;;;;;5932:4898;;;;;;;;;;;;;;;;;8990:53;;;;;;;;;;;8698:855;5932:4898;;;;;9054:22;;;;;5932:4898;;;;;9054:22;;;;5932:4898;9054:22;;;;;;;;;;;;;;8698:855;5932:4898;8782:5;5932:4898;;;;;;;;;;;-1:-1:-1;5932:4898:0;;-1:-1:-1;5932:4898:0;;;;-1:-1:-1;5932:4898:0;;;;-1:-1:-1;5932:4898:0;;;;;9266:13;9261:285;8909:7;;;9261:285;8698:855;;;;;;;;;:::o;9304:3::-;9285:10;5932:4898;;9281:21;;;;;;9328:13;;;;;:::i;:::-;5932:4898;;;9328:30;9324:211;;9304:3;;5932:4898;;;;;;;;;;9266:13;;5932:4898;;;;;;;;;;9324:211;5932:4898;;;;;;;;;;;;;;;;;;;;9383:25;;;9379:80;;9324:211;5932:4898;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;5932:4898:0;;;;;;;;;;;;;;;;;9513:7::o;5932:4898::-;-1:-1:-1;5932:4898:0;;;;;;-1:-1:-1;5932:4898:0;;;;;;;;;;;9379:80;9410:13;9426:33;9410:49;9426:33;;:::i;:::-;9410:13;;;:::i;:49::-;9379:80;;;;5932:4898;;;;;;;;;;9281:21;;;;;9054:22;;;8782:5;9054:22;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;8990:53;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;8909:70;;;;;;;;;;;;;:::i;:::-;;;;;;5932:4898;;;;;;;;;;;;
Swarm Source
ipfs://e1cb49a7bf03b5c6a72c595ebcf6822ac339543673cc3e01be5489fa323cf79e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 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.