More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15043580 | 32 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; //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 is_active(uint256 tokenId) external view returns (bool, uint256); function totalStaked() external view returns (uint256); } contract sdaemon0x_GameCenter is ISdaemon0x_GameCenter, ISdaemon0x_GameTreasury, Ownable { IERC20 public sdeamon = IERC20(0x16a0BfC1C6e331788E0A5096911cDCd9943D2C9c); uint256 public gameFeeRate = 2000; 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; } 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); gamesArray.push(games[gameAddr]); } // open bar function addGameBank(address gameAddr, uint256 amount) external { require(gameAddr != address(0)); require(games[gameAddr].game == gameAddr); sdeamon.transferFrom(msg.sender, address(this), amount); games[gameAddr].amountBanked += amount; } function claimGameFee(address gameAddr) external { require(games[gameAddr].game == gameAddr); 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; } function removeGame(address gameAddr) external onlyMasterOfGames { require(games[gameAddr].game == gameAddr); require(games[gameAddr].owner != address(0)); uint256 tax_claim = (games[gameAddr].amountBanked * gameFeeRate) / 10000; sdeamon.transfer(games[gameAddr].owner, games[gameAddr].amountBanked - tax_claim); sdeamon.transfer(address(stakingContract), tax_claim); stakingContract.sync(); //reset game 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 Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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":"gameAddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addGameBank","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"}],"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"}],"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
608080604052346100ae57600080547388524e752144c15dc1a12ba3978c2d700dc974986001600160a01b031980831682178455604093927316a0bfc1c6e331788e0a5096911cdcd9943d2c9c919083906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a360015416176001556107d0600255816003558152600560205220600160ff198254161790556118e390816100b48239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80630bb53157146111f15780630ded70b514610ef1578063139f5e5714610eb1578063715018a614610e1457806379131a1914610d6c5780637e16aad614610b415780638da5cb5b14610af05780639200b1f214610ab357806397ed1ed314610a315780639b0e9829146109d75780639c5325b41461099a578063b19d2c1814610933578063bce24669146108d6578063bf918e7514610855578063c90dfe11146107b3578063e36b17b114610773578063e573edcc1461071c578063ee99205c146106c7578063f2fde38b146105e257838163f579ef92146103ab57508063f7b21d661461028e5763f7cf8b241461011557600080fd5b3461028a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028a5761014b6112e1565b6024359233855260066020528085209273ffffffffffffffffffffffffffffffffffffffff933385825416036102865785610184578680f35b600201805480871161028257610202926020926101a28980946114df565b905585898860015416928751968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156102785791602093917f357af010beebe8985647fbfd4f7dce9fc9fe48758cdbe845b04b0365b9491027959361024b575b50519485521692a23880808080808680f35b61026a90853d8111610271575b6102628183611398565b8101906113d9565b5038610239565b503d610258565b82513d88823e3d90fd5b8780fd5b8680fd5b8280fd5b50903461028a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028a576102c66112e1565b916024359273ffffffffffffffffffffffffffffffffffffffff8091169182156103a757828652600660205282828588205416036103a75760015484517f23b872dd000000000000000000000000000000000000000000000000000000008152339281019283523060208085019190915260408401889052909390928492908390036060019183918a91165af1801561039d579161037a939160029361037f575b5085526006602052842001918254611490565b905580f35b6103969060203d8111610271576102628183611398565b5038610367565b83513d87823e3d90fd5b8580fd5b929050346105de57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058b5773ffffffffffffffffffffffffffffffffffffffff90816103fe6112e1565b16918286526006855283862083828254160361028657816001820154163303610286576002015480156102865761043b61271091600254906114cc565b04816001541684885260068752610458826002888b2001546114df565b908787518092818c816104b57fa9059cbb0000000000000000000000000000000000000000000000000000000098898352338d84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156105d4579161050f939189936105b7575b508460015416908a86885416918a519687958694859384528b84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156105ad57610590575b5081541690813b156103a757859182918551809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561039d57908591610577575b5052600690915281206002015580f35b61058090611355565b61058b578338610567565b505050fd5b6105a690863d8811610271576102628183611398565b503861051e565b85513d89823e3d90fd5b6105cd90843d8611610271576102628183611398565b50386104cc565b87513d8b823e3d90fd5b5050fd5b503461028a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028a5761061a6112e1565b90610623611304565b73ffffffffffffffffffffffffffffffffffffffff809216928315610698575050600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b50913461071957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610719575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80fd5b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5080fd5b83823461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576107ac611304565b3560025580f35b50503461076f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576107eb6112e1565b90602435918215158093036108515773ffffffffffffffffffffffffffffffffffffffff90610818611304565b168352600560205282209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905580f35b8380fd5b83823461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5773ffffffffffffffffffffffffffffffffffffffff6108a36112e1565b6108ab611304565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b50503461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57600160ff6109136112e1565b9233855260056020528420541615150361076f57610930906114ec565b80f35b50503461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760ff8160209373ffffffffffffffffffffffffffffffffffffffff6109876112e1565b1681526005855220541690519015158152f35b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576020906003549051908152f35b5082346107195760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610719575035610a24612710610a1c600254846114cc565b048092611490565b9082519182526020820152f35b83346107195760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107195773ffffffffffffffffffffffffffffffffffffffff610a7e6112e1565b610a86611304565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576020906002549051908152f35b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5091903461076f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57610b7b6112e1565b906024359173ffffffffffffffffffffffffffffffffffffffff808416809403610d675760443592338652602060058152600160ff838920541615150361028657851561028657858752600681528282882054166102865784610cdd575b8151956060870187811067ffffffffffffffff821117610caf5791600691849386955280895284828a01971687528389019788528952528620945116907fffffffffffffffffffffffff0000000000000000000000000000000000000000918286541617855560018501925116908254161790555160028201556007549268010000000000000000841015610c835750610c7d836001610930949501600755611277565b906113f1565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60015482517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b019081523060208201526040810188905290918391839187169082908c90829060600103925af18015610d5d57610d40575b50610bd9565b610d5690823d8411610271576102628183611398565b5038610d3a565b83513d8a823e3d90fd5b600080fd5b8284346107195760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261071957610e108273ffffffffffffffffffffffffffffffffffffffff9283610dc06112e1565b168152600660205220926002838554169360018601541694015490519384938460409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b0390f35b833461071957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261071957610e4b611304565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83823461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57610eea611304565b3560035580f35b5082903461076f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57610f2a6112e1565b602435913384526020916006835273ffffffffffffffffffffffffffffffffffffffff9133838888205416036103a757841561119557610f9a61271080610f73600254896114cc565b0490610f7f8289611490565b50600354801561118c57610f9390896114cc565b0490611490565b60015488517f23b872dd0000000000000000000000000000000000000000000000000000000080825273ffffffffffffffffffffffffffffffffffffffff8616858301908152306020820152604081018a905290928891839189169082908d90829060600103925af18015611182579161106293918893611165575b508660015416908a88875416918d519687958694859384528b8b850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af1801561115b5761113e575b508281541690813b1561028657869182918951809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561113457611101575b507fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec546939495338752600684526002818820016110f5878254611490565b9055519485521692a280f35b9461112d7fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec5469596611355565b94936110b8565b87513d88823e3d90fd5b61115490853d8711610271576102628183611398565b5087611071565b88513d89823e3d90fd5b61117b90843d8611610271576102628183611398565b508b611016565b8a513d8b823e3d90fd5b50508790611490565b606490848851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601260248201527f496e76616c69642066656520616d6f756e7400000000000000000000000000006044820152fd5b5082903461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f573590600754821015610719575061123990611277565b5080546001820154600290920154925173ffffffffffffffffffffffffffffffffffffffff9182168152911660208201526040810191909152606090f35b6007548110156112b2576003906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d6757565b73ffffffffffffffffffffffffffffffffffffffff60005416330361132557565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b67ffffffffffffffff811161136957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761136957604052565b90816020910312610d6757518015158103610d675790565b919061146157808203611402575050565b6002809173ffffffffffffffffffffffffffffffffffffffff808254167fffffffffffffffffffffffff000000000000000000000000000000000000000090818754161786556001860191600184015416908254161790550154910155565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b9190820180921161149d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181029291811591840414171561149d57565b9190820391821161149d57565b906000918273ffffffffffffffffffffffffffffffffffffffff80921680825260209060068252604093848420948282875416036118a957600195828782015416156103a75760020154600254611542916114cc565b61271090049382875416948487526006825282872081858a8301541691600201549061156d916114df565b968385518092818c817fa9059cbb000000000000000000000000000000000000000000000000000000009788825260049e8f8301916115ce926020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561189f5790849291611882575b50858a5416888a8882541693611625895197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156118785761185b575b5082855416803b15610286578690868451809c81937ffff6cae90000000000000000000000000000000000000000000000000000000083525af19889156102785787989961183f575b50600091600660029286899c9b9c525286208281558288820155015583965b6116aa575b50505050509050565b60078054808910156118385783836116c18b611277565b505416146117285750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87146116fc57958401958461169c565b6024846011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b9150949596929391507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9283820191821161180c578181106117ef575b505083549081156117c35750019261177c84611277565b929092611796575081600060029281809555820155015555565b6000907f4e487b710000000000000000000000000000000000000000000000000000000082525260246000fd5b806031857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b610c7d6117fe61180593611277565b5091611277565b3880611765565b6024836011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50506116a1565b91600660029297611851600095611355565b979250509161167d565b61187190823d8411610271576102628183611398565b5038611634565b83513d89823e3d90fd5b61189890833d8511610271576102628183611398565b50386115e1565b85513d8b823e3d90fd5b8480fdfea26469706673582212203acac7add62a4ff1770c24547299868195ea71bc25ce06544c44e70e4dc112f564736f6c63430008130033
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b600091823560e01c80630bb53157146111f15780630ded70b514610ef1578063139f5e5714610eb1578063715018a614610e1457806379131a1914610d6c5780637e16aad614610b415780638da5cb5b14610af05780639200b1f214610ab357806397ed1ed314610a315780639b0e9829146109d75780639c5325b41461099a578063b19d2c1814610933578063bce24669146108d6578063bf918e7514610855578063c90dfe11146107b3578063e36b17b114610773578063e573edcc1461071c578063ee99205c146106c7578063f2fde38b146105e257838163f579ef92146103ab57508063f7b21d661461028e5763f7cf8b241461011557600080fd5b3461028a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028a5761014b6112e1565b6024359233855260066020528085209273ffffffffffffffffffffffffffffffffffffffff933385825416036102865785610184578680f35b600201805480871161028257610202926020926101a28980946114df565b905585898860015416928751968795869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156102785791602093917f357af010beebe8985647fbfd4f7dce9fc9fe48758cdbe845b04b0365b9491027959361024b575b50519485521692a23880808080808680f35b61026a90853d8111610271575b6102628183611398565b8101906113d9565b5038610239565b503d610258565b82513d88823e3d90fd5b8780fd5b8680fd5b8280fd5b50903461028a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028a576102c66112e1565b916024359273ffffffffffffffffffffffffffffffffffffffff8091169182156103a757828652600660205282828588205416036103a75760015484517f23b872dd000000000000000000000000000000000000000000000000000000008152339281019283523060208085019190915260408401889052909390928492908390036060019183918a91165af1801561039d579161037a939160029361037f575b5085526006602052842001918254611490565b905580f35b6103969060203d8111610271576102628183611398565b5038610367565b83513d87823e3d90fd5b8580fd5b929050346105de57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058b5773ffffffffffffffffffffffffffffffffffffffff90816103fe6112e1565b16918286526006855283862083828254160361028657816001820154163303610286576002015480156102865761043b61271091600254906114cc565b04816001541684885260068752610458826002888b2001546114df565b908787518092818c816104b57fa9059cbb0000000000000000000000000000000000000000000000000000000098898352338d84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156105d4579161050f939189936105b7575b508460015416908a86885416918a519687958694859384528b84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156105ad57610590575b5081541690813b156103a757859182918551809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561039d57908591610577575b5052600690915281206002015580f35b61058090611355565b61058b578338610567565b505050fd5b6105a690863d8811610271576102628183611398565b503861051e565b85513d89823e3d90fd5b6105cd90843d8611610271576102628183611398565b50386104cc565b87513d8b823e3d90fd5b5050fd5b503461028a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028a5761061a6112e1565b90610623611304565b73ffffffffffffffffffffffffffffffffffffffff809216928315610698575050600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b50913461071957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610719575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80fd5b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5080fd5b83823461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576107ac611304565b3560025580f35b50503461076f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576107eb6112e1565b90602435918215158093036108515773ffffffffffffffffffffffffffffffffffffffff90610818611304565b168352600560205282209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905580f35b8380fd5b83823461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5773ffffffffffffffffffffffffffffffffffffffff6108a36112e1565b6108ab611304565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b50503461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57600160ff6109136112e1565b9233855260056020528420541615150361076f57610930906114ec565b80f35b50503461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760ff8160209373ffffffffffffffffffffffffffffffffffffffff6109876112e1565b1681526005855220541690519015158152f35b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576020906003549051908152f35b5082346107195760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610719575035610a24612710610a1c600254846114cc565b048092611490565b9082519182526020820152f35b83346107195760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107195773ffffffffffffffffffffffffffffffffffffffff610a7e6112e1565b610a86611304565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576020906002549051908152f35b50503461076f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5091903461076f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57610b7b6112e1565b906024359173ffffffffffffffffffffffffffffffffffffffff808416809403610d675760443592338652602060058152600160ff838920541615150361028657851561028657858752600681528282882054166102865784610cdd575b8151956060870187811067ffffffffffffffff821117610caf5791600691849386955280895284828a01971687528389019788528952528620945116907fffffffffffffffffffffffff0000000000000000000000000000000000000000918286541617855560018501925116908254161790555160028201556007549268010000000000000000841015610c835750610c7d836001610930949501600755611277565b906113f1565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60418a7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60015482517f23b872dd00000000000000000000000000000000000000000000000000000000815233818b019081523060208201526040810188905290918391839187169082908c90829060600103925af18015610d5d57610d40575b50610bd9565b610d5690823d8411610271576102628183611398565b5038610d3a565b83513d8a823e3d90fd5b600080fd5b8284346107195760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261071957610e108273ffffffffffffffffffffffffffffffffffffffff9283610dc06112e1565b168152600660205220926002838554169360018601541694015490519384938460409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b0390f35b833461071957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261071957610e4b611304565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83823461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57610eea611304565b3560035580f35b5082903461076f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57610f2a6112e1565b602435913384526020916006835273ffffffffffffffffffffffffffffffffffffffff9133838888205416036103a757841561119557610f9a61271080610f73600254896114cc565b0490610f7f8289611490565b50600354801561118c57610f9390896114cc565b0490611490565b60015488517f23b872dd0000000000000000000000000000000000000000000000000000000080825273ffffffffffffffffffffffffffffffffffffffff8616858301908152306020820152604081018a905290928891839189169082908d90829060600103925af18015611182579161106293918893611165575b508660015416908a88875416918d519687958694859384528b8b850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af1801561115b5761113e575b508281541690813b1561028657869182918951809481937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561113457611101575b507fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec546939495338752600684526002818820016110f5878254611490565b9055519485521692a280f35b9461112d7fdc53da547478eaea03c718ce85bc5dd60ca5bd9ddc84145885177deaea5ec5469596611355565b94936110b8565b87513d88823e3d90fd5b61115490853d8711610271576102628183611398565b5087611071565b88513d89823e3d90fd5b61117b90843d8611610271576102628183611398565b508b611016565b8a513d8b823e3d90fd5b50508790611490565b606490848851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601260248201527f496e76616c69642066656520616d6f756e7400000000000000000000000000006044820152fd5b5082903461076f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f573590600754821015610719575061123990611277565b5080546001820154600290920154925173ffffffffffffffffffffffffffffffffffffffff9182168152911660208201526040810191909152606090f35b6007548110156112b2576003906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d6757565b73ffffffffffffffffffffffffffffffffffffffff60005416330361132557565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b67ffffffffffffffff811161136957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761136957604052565b90816020910312610d6757518015158103610d675790565b919061146157808203611402575050565b6002809173ffffffffffffffffffffffffffffffffffffffff808254167fffffffffffffffffffffffff000000000000000000000000000000000000000090818754161786556001860191600184015416908254161790550154910155565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b9190820180921161149d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181029291811591840414171561149d57565b9190820391821161149d57565b906000918273ffffffffffffffffffffffffffffffffffffffff80921680825260209060068252604093848420948282875416036118a957600195828782015416156103a75760020154600254611542916114cc565b61271090049382875416948487526006825282872081858a8301541691600201549061156d916114df565b968385518092818c817fa9059cbb000000000000000000000000000000000000000000000000000000009788825260049e8f8301916115ce926020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561189f5790849291611882575b50858a5416888a8882541693611625895197889687958694855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af180156118785761185b575b5082855416803b15610286578690868451809c81937ffff6cae90000000000000000000000000000000000000000000000000000000083525af19889156102785787989961183f575b50600091600660029286899c9b9c525286208281558288820155015583965b6116aa575b50505050509050565b60078054808910156118385783836116c18b611277565b505416146117285750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87146116fc57958401958461169c565b6024846011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b9150949596929391507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9283820191821161180c578181106117ef575b505083549081156117c35750019261177c84611277565b929092611796575081600060029281809555820155015555565b6000907f4e487b710000000000000000000000000000000000000000000000000000000082525260246000fd5b806031857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b610c7d6117fe61180593611277565b5091611277565b3880611765565b6024836011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50506116a1565b91600660029297611851600095611355565b979250509161167d565b61187190823d8411610271576102628183611398565b5038611634565b83513d89823e3d90fd5b61189890833d8511610271576102628183611398565b50386115e1565b85513d8b823e3d90fd5b8480fdfea26469706673582212203acac7add62a4ff1770c24547299868195ea71bc25ce06544c44e70e4dc112f564736f6c63430008130033
Deployed Bytecode Sourcemap
5724:4996:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;9503:10;;5724:4996;;9497:5;5724:4996;;;;;;;9503:10;;5724:4996;;;;9497:36;5724:4996;;10475:10;10471:239;;5724:4996;;;10471:239;10520:30;;5724:4996;;10510:40;;;5724:4996;;10621:32;10566:40;5724:4996;10566:40;;;;;;:::i;:::-;5724:4996;;;;;;;;;;;10621:32;;;;;;;5724:4996;10621:32;;;;5724:4996;;;;;;;;;;;;;;;;;10621:32;;;;;;;;;;5724:4996;10621:32;;10673:25;10621:32;;;;10471:239;5724:4996;;;;;;10673:25;;10471:239;;;;;;5724:4996;;;10621:32;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;7882:22;;;5724:4996;;;;;7924:5;5724:4996;;;;;;;;;7924:32;5724:4996;;;;;;;7968:55;;7989:10;7968:55;;;5724:4996;;;8009:4;5724:4996;;;;;;;;;;;;;;;;;;;;7968:55;;;;5724:4996;7968:55;;5724:4996;;;;;7968:55;;;;;;;8034:38;7968:55;;8034:28;7968:55;;;5724:4996;;;;7924:5;5724:4996;;;;8034:28;5724:4996;;;8034:38;:::i;:::-;5724:4996;;;;7968:55;;;5724:4996;7968:55;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;8154:5;5724:4996;;;;;;;;;;8154:32;5724:4996;;8206:21;;;;5724:4996;;8231:10;8206:35;5724:4996;;8261:28;;5724:4996;8261:32;;5724:4996;;8326:42;8372:5;5724:4996;8261:28;5724:4996;8326:42;;:::i;:::-;5724:4996;;8206:21;5724:4996;;;;;8154:5;5724:4996;;8417:40;5724:4996;8261:28;5724:4996;;;8417:28;5724:4996;8417:40;:::i;:::-;5724:4996;;;;;;;;;8388:70;5724:4996;8388:70;;;;8231:10;8388:70;;;5724:4996;;;;;;;;;;;;;;;;;8388:70;;;;;;;;;;8469:53;8388:70;;;;;;5724:4996;;;8206:21;5724:4996;;;;;;;;;;;8469:53;;;;;;;;;;;;5724:4996;;;;;;;;;;;;;;;;;8469:53;;;;;;;;;;;5724:4996;;;;;8533:22;;;;;;5724:4996;;;;;;8533:22;;;;5724:4996;8533:22;;;;;;;;;;;;;5724:4996;-1:-1:-1;5724:4996:0;8154:5;5724:4996;;;;;8261:28;8566;5724:4996;;;8533:22;;;;:::i;:::-;5724:4996;;8533:22;;;;5724:4996;;;;;8469:53;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;8388:70;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;;:::i;:::-;5724:4996;;;;4392:22;;;4388:93;;5724:4996;;;;;;;;;;;;4828:40;5724:4996;4828:40;;5724:4996;;4388:93;5724:4996;;;;;4438:31;;;;;;5724:4996;4438:31;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5820:74;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5724:4996;7129:26;5724:4996;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;3236:65;;;:::i;:::-;5724:4996;;;6392:14;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;:::i;:::-;5724:4996;;;;;;;;;;;;;;;;;;;;;;;6517:4;5724:4996;;;:::i;:::-;6502:10;;5724:4996;;6487:14;5724:4996;;;;;;;;6487:34;5724:4996;;6533:1;;;:::i;:::-;5724:4996;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6254:46;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;5941:31;5724:4996;;;;;;;;;;;;;;;;;;;;;;9726:21;9702:5;9678:20;9687:11;5724:4996;9678:20;;:::i;:::-;5724:4996;9726:21;;;:::i;:::-;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:65;;:::i;:::-;5724:4996;;6045:24;5724:4996;;;6045:24;5724:4996;;;;;;;;;;;;;;;;;;5901:33;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6502:10;;5724:4996;;;6487:14;5724:4996;;;;;;;;;;;6487:34;5724:4996;;7476:22;;5724:4996;;;;;7518:5;5724:4996;;;;;;;;;;7568:10;7564:98;;5724:4996;;;;;;;;;;;;;;;;;7518:5;5724:4996;;;;;;;;;7690:32;;;;5724:4996;;;;7690:32;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7733:10;5724:4996;;;;;;;;;;;;;;;;7733:10;5724:4996;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;7564:98;5724:4996;;;;;7595:55;;6502:10;7595:55;;;5724:4996;;;7636:4;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;7595:55;;;;;;;;;;7564:98;;;;7595:55;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6652:37;5724:4996;;;;6652:37;5724:4996;;;;6652:37;;;;5724:4996;;6652:37;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5724:4996;;;;;;;;;;4828:40;;;;5724:4996;;;;;;;;;;;;;;;3236:65;;:::i;:::-;5724:4996;7329:18;5724:4996;;;;;;;;;;;;;;;;;;;:::i;:::-;;;9503:10;;5724:4996;;;;9497:5;5724:4996;;;9503:10;;5724:4996;;;;;;9497:36;5724:4996;;9862:10;;5724:4996;;10070:17;9702:5;5724:4996;9678:20;9687:11;5724:4996;9678:20;;:::i;:::-;5724:4996;9726:21;;;;;:::i;:::-;-1:-1:-1;9983:12:0;5724:4996;9983:16;;;;10004:21;;;;:::i;:::-;5724:4996;9982:56;10070:17;:::i;:::-;5724:4996;;;;;10098:51;;;5724:4996;;;10098:51;;;5724:4996;;;10135:4;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;;10098:51;;;;;;;;;10160:66;10098:51;;;;;;9982:56;5724:4996;;;;;;;;;;;;;;10160:66;;;;;;;;;;;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;10160:66;;;;;;;;;;;9982:56;5724:4996;;;;;10237:22;;;;;;5724:4996;;;;;;10237:22;;;;5724:4996;10237:22;;;;;;;;;;9982:56;9503:10;10354:23;9503:10;;;;5724:4996;;9497:5;5724:4996;;9687:11;5724:4996;;;10270:30;:40;5724:4996;;;10270:40;:::i;:::-;5724:4996;;;;;;;10354:23;;5724:4996;;10237:22;;;10354:23;10237:22;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;10160:66;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;10098:51;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;9982:56;;;;;10070:17;:::i;5724:4996::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6696:24;5724:4996;6696:24;;;;;;;;;:::i;:::-;-1:-1:-1;5724:4996:0;;;6696:24;;5724:4996;6696:24;;;;5724:4996;;;;;;;;;;;;;;;;;;;;;;;;;;6696:24;5724:4996;;;;;;;;6696:24;-1:-1:-1;5724:4996:0;;;;;-1:-1:-1;5724:4996:0;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;3543:166::-;5724:4996;3453:6;5724:4996;;1488:10;3603:23;3599:103;;3543:166::o;3599:103::-;5724:4996;;;3650:40;;;1488:10;3650:40;;;5724:4996;3650:40;5724:4996;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;8612:840::-;;-1:-1:-1;5724:4996:0;;;;;;;;;;;8696:5;5724:4996;;;;;;;;;;;;;8696:32;5724:4996;;8748:21;;;;;;5724:4996;;8748:35;5724:4996;;8826:28;;5724:4996;8826:28;5724:4996;8826:42;;;:::i;:::-;8872:5;5724:4996;;;;;;;;;;;8696:5;5724:4996;;;;;8905:21;;;;;5724:4996;;8928:28;8826;8928;5724:4996;8928:40;;;;:::i;:::-;5724:4996;;;;;;;;;;8888:81;;;;;;;;;;;;5724:4996;;;;;;;;;;;;;;;;;8888:81;;;;;;;;;;;;;;;8612:840;5724:4996;;;;;;;;;;;;8980:53;5724:4996;;8980:53;;;;;;;;;;;5724:4996;;;;;;;;;;;;;;;;;8980:53;;;;;;;;;;;8612:840;5724:4996;;;;;9044:22;;;;;5724:4996;;;;;9044:22;;;;5724:4996;9044:22;;;;;;;;;;;;;;8612:840;5724:4996;-1:-1:-1;5724:4996:0;8696:5;8826:28;5724:4996;;;;;;;;;;;;;;;;;;;;9165:13;9160:285;8748:21;;;9160:285;8612:840;;;;;;;:::o;9203:3::-;9184:10;5724:4996;;9180:21;;;;;;9227:13;;;;;:::i;:::-;5724:4996;;;9227:30;9223:211;;9203:3;;5724:4996;;;;;;;;;;9165:13;;5724:4996;;;;;;;;;;9223:211;5724:4996;;;;;;;;;;;;;;;;;;;9282:25;;;9278:80;;9223:211;5724:4996;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;8826:28:0;5724:4996;;;;;;;;;;;9412:7::o;5724:4996::-;-1:-1:-1;5724:4996:0;;;;;;-1:-1:-1;5724:4996:0;;;;;;;;;;;9278:80;9309:13;9325:33;9309:49;9325:33;;:::i;:::-;9309:13;;;:::i;:49::-;9278:80;;;;5724:4996;;;;;;;;;;9180:21;;;;;9044:22;;8696:5;8826:28;9044:22;;;-1:-1:-1;9044:22:0;;:::i;:::-;;;;;;;;8980:53;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;8888:81;;;;;;;;;;;;;:::i;:::-;;;;;;5724:4996;;;;;;;;;;;;
Swarm Source
ipfs://3acac7add62a4ff1770c24547299868195ea71bc25ce06544c44e70e4dc112f5
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
[ 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.