More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Vault Addres... | 11232293 | 1544 days ago | IN | 0 ETH | 0.00082627 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Approver
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-10 */ pragma solidity >=0.6.2; /////////////////////////////////////////////////////////////////////// /// Libraries /// /////////////////////////////////////////////////////////////////////// library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c;} function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow");} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c;} function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) {return 0;} uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c;} function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero");} function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c;} function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero");} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b;} } library Math { function max(uint x, uint y) internal pure returns (uint z) { z = x < y ? y : x; } function min(uint x, uint y) internal pure returns (uint z) { z = x < y ? x : y; } // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method) function sqrt(uint y) internal pure returns (uint z) { if (y > 3) { z = y; uint x = y / 2 + 1; while (x < z) { z = x; x = (y / x + x) / 2; } } else if (y != 0) { z = 1; } } } /////////////////////////////////////////////////////////////////////// /// Interfaces /// /////////////////////////////////////////////////////////////////////// interface IERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /////////////////////////////////////////////////////////////////////// /// Approver Contract /// /////////////////////////////////////////////////////////////////////// contract Approver is Context { using SafeMath for uint256; mapping (address => uint256) public expLpAllowances; uint256 public expLpTotal; address internal constant WETHxEXP = 0x015Ee710300E80b0c8430a6eb0E8680F25BF2a7f; address public immutable ADMIN_ADDRESS; constructor () public { ADMIN_ADDRESS = msg.sender; //set allowances expLpAllowances[address(0xdC19Aff81AcE5E295267bc24f2975Bcf1DEd40dC)] = 116582199079856208; expLpAllowances[address(0x894808E2B4dBB8af32a8A0b33800218835df79e3)] = 116582199079856208; expLpAllowances[address(0x2D40e6CFF578871980A7377885DCdC9f8e534D59)] = 233164398159712416; expLpAllowances[address(0xe181cd64CdBdF34c39cE7F55f49AC069d1B94262)] = 233164398159712416; expLpAllowances[address(0x9A9fECad7a9D3145181e59f2B0E2F27BA913A863)] = 116582199079856208; expLpAllowances[address(0x9dBFCF31baC3636A731C49eCdAA91531025a164b)] = 466328796319424832; expLpAllowances[address(0x33F0Ef226d443bC0bae66b452F919f244163dC08)] = 466328796319424832; expLpAllowances[address(0x8EDAB1576B34b0BFdcdF4F368eFDE5200ff6F4e8)] = 326430157423597376; expLpAllowances[address(0x3fa9F1ac66FFCC5704a2EAEEe86975C6bFB3A2cd)] = 139898638895827456; expLpAllowances[address(0xCbC23ed3E05e767fb93877299118084c7943D6e4)] = 69949319447913728; expLpAllowances[address(0xFC527e222254F7fd7451853a18c77935b582f9dB)] = 349746597239568640; expLpAllowances[address(0xeBFf30F569222c8fe4B9e1102Bd943576bF62D5f)] = 233164398159712416; expLpAllowances[address(0xbCC44956d70536bed17C146a4D9E66261BB701DD)] = 466328796319424832; expLpAllowances[address(0x4c9C3626Cf1828Da7b58a50DC2F6AA2C4546609e)] = 58291099539928104; expLpAllowances[address(0x8375A41C445df074709eEFA1F4AEfEE5B8b15c59)] = 466328796319424832; expLpAllowances[address(0x62A32ea089109e7b8f0fE29d839736DDB0C753F6)] = 466328796319424832; expLpAllowances[address(0x1bAb572ea3a00Acf701f4D503e593F3B988856d8)] = 466328796319424832; expLpAllowances[address(0xCd993Dcb50cc7d6Daab807230F4Dd7a3a36d6C22)] = 466328796319424832; expLpAllowances[address(0x758c32D2F0B32D3e0EA1e8D0D24696fe9B69D148)] = 466328796319424832; expLpAllowances[address(0x398eae62677A5aB84122E18E2b2F86a970b6f75d)] = 466328796319424832; expLpAllowances[address(0x5EfA2d42e6815DfD4C528bF9c9343F24A05D7f1C)] = 466328796319424832; expLpAllowances[address(0x6e6b30AF6d8CcE0e156D64D8eddba80842d6fC31)] = 443012356503453568; expLpAllowances[address(0x566DEffc17EF08f1Ec7d559D65704f865F8C4a0D)] = 466328796319424832; expLpAllowances[address(0x9dED136C7A66A31d39f546e7c186609bed12089E)] = 466328796319424832; expLpAllowances[address(0xF12657e7A1e2320b85b2Dd10C5F047eB14F02517)] = 466328796319424832; expLpAllowances[address(0xDa22F5773603426AFf614FF788756dB655CB9E12)] = 466328796319424832; expLpAllowances[address(0x165f80e98B36ddb9e9E0Db1D5d407f9D4CbD2371)] = 466328796319424832; expLpAllowances[address(0x0bbD66238b552398E64E1E9D6497379Db8C352cb)] = 466328796319424832; expLpAllowances[address(0x9630fb9CbC3eB2e5c442fD2eE48E5D9C8856ae44)] = 466328796319424832; expLpAllowances[address(0x0bf3d045D9247AaC601F47235caEe8174EAF854F)] = 116582199079856208; expLpAllowances[address(0xD596d58285BdDE7cBF4070f448E92F9aa69e329C)] = 233164398159712416; expLpAllowances[address(0xdbDA2dD2888740767154485c485c4a0Df5120A3d)] = 46632879631942488; expLpAllowances[address(0xB4Cb303E4b3b34F626bF3304521E8B157A237Dd7)] = 69949319447913728; expLpAllowances[address(0x952c23f8F067A5e7e165ff0E42491f51D87DBc95)] = 233164398159712416; expLpAllowances[address(0x3A409EfF50A47aEeF294E3f0BB3874490dD99abc)] = 466328796319424832; expLpAllowances[address(0x75B318B2AD119838Af79F7052A67EA649aC700dF)] = 128240418987841824; expLpAllowances[address(0x8Fe9C787995D12b6EF3a9448aA944593DaC93C6c)] = 58103718536968352; expLpAllowances[address(0x740B097AF71f55ab430B870b1aED9b4E00140460)] = 7260003354251993; expLpAllowances[address(0x052D4Fbf9357689b3b8aF529d4f6Fac97a8f436C)] = 72848264014350368; expLpAllowances[address(0xC8D37cE5761aC85D14F160C3aaa2d6e0bc3DC359)] = 15614274769852304; expLpAllowances[address(0xC390baa7CA9740C9b1596D3F61d51132D61c66Aa)] = 14862090974167356; expLpAllowances[address(0x9591f5D9061a6280691eAC12Dc7562E4c844B565)] = 29306000869885268; expLpAllowances[address(0xF00aeA879FEc57C08F2739E5ba89B455942C7d4e)] = 1182307439853353; expLpAllowances[address(0xA17b91BdDcE741528fDDF8E5738A767B3053ac18)] = 17429699919347148; expLpAllowances[address(0xa9F245Fb512C6d2fBd5E1085af87020FdF7D1BBd)] = 26873723594382772; expLpAllowances[address(0xA11a93b057ADFa32c9b38f68ac48Ba3938812331)] = 6589706101829668; expLpAllowances[address(0xC7B5d5d41295e39ce33b2b20feCE12F052B6710e)] = 2229411656463131; expLpAllowances[address(0xAAdeC7c10842de8E62ce4FaEd9314AaD09A367D1)] = 2182019546314342; expLpAllowances[address(0xD2F3Dc6CA0B917fB1BfCaD4b6570a39983eEE4db)] = 21687962044039856; expLpAllowances[address(0xe1cD19D059cE0a47B285F85c29fccd59fBb69853)] = 4124426955917707; expLpAllowances[address(0xD3f11Fa172A7723D91770A8321C1cf409531bF3B)] = 2011174118535889; expLpAllowances[address(0x9A857D68E598787E0Dbb8aa3c2B61dA709C083dE)] = 1004064309018416; expLpAllowances[address(0x0723fF2d0F410319caFB6627e97a55d8AC17077F)] = 20732254874637924; expLpAllowances[address(0x3b1000cE4f9501C537AC42658b407bb57139cB54)] = 4581837392200263; expLpAllowances[address(0x49566F7335C0228484A030C0924fFACC4903CcEE)] = 18095407954324680; expLpAllowances[address(0x7495e20fE8F3aE370c4d98f89daa59fB7956006F)] = 9944907443539016; expLpAllowances[address(0x1CB4831B6dF1d9cB07279b93a0E101DB9B2295D0)] = 18895261968838852; expLpAllowances[address(0x9F975F77c016E84987f3eeE177463E442D0320DA)] = 18698994346077696; expLpAllowances[address(0xEd72Bb9086D1B6e325FFBcb293A2E4365790dd9e)] = 20422032167052816; expLpAllowances[address(0x529771885770a756eaAb634F68B61495687D3156)] = 7059805366522799; expLpAllowances[address(0x4d822a8cEde7b180215D95eb968d6FDcF288560d)] = 19667503648613168; expLpAllowances[address(0x77CB8c64e42ea076594A0C1E08115D8444Fa9fAc)] = 415299268947027; expLpAllowances[address(0xe9d571949669c530690f2879A3a653f0b5f9f168)] = 456668637669976192; expLpAllowances[address(0x82602a683BB9eccA55d0cA772Cac631d5417489D)] = 23324590485719084; expLpAllowances[address(0x6B0CFBA6667A8D04C04e511371a742bc66799Dd7)] = 660435526728169; expLpAllowances[address(0x106f6651Eb3Dbf96952524d6176618aB9D8DD27C)] = 13142693497146968; expLpAllowances[address(0xaD09A17c48921D9DCeD1DC86E9F0aE610Ddf0514)] = 489199155901513; expLpAllowances[address(0xd0103edA26ee0e8911b9F3C1a96E33980c7Ee042)] = 4505017946198619; expLpAllowances[address(0xA33a8b1171941B4Eb04A57605dCcDeffd4860EB8)] = 6003647629672430; expLpAllowances[address(0xD55c63fc94c2246e6265191D4a80403F1A43fF24)] = 7365743024149646; expLpAllowances[address(0x7f7eEfB0b18f4D6DBf078eC8eC0B08A7f64D77E8)] = 10017463729110036; expLpAllowances[address(0xA11ab4E97d862833167e5C1C72f49E46FF97Aa99)] = 32954782917923700; expLpAllowances[address(0x86Db26D8668C99e696922f62C90530143697D99B)] = 3496457219717707; expLpAllowances[address(0x491fBace93352CB63278218eC57DaE98C0795ad4)] = 17004552667591900; expLpAllowances[address(0x1a93c570251ec9cE34216AF5EEe618097026bd06)] = 6930048466356487; expLpAllowances[address(0x4eD9c6193ede88A5D41b2E833E46508800420780)] = 76124086917172144; expLpAllowances[address(0x318f85f96076C2b61Ff04302B46d0079146509Df)] = 304602862918484864; expLpAllowances[address(0x9731b1BA46Fad438D3cb960dD965e4D785e48A01)] = 266777067106253248; expLpAllowances[address(0x3238B53A910B69f5dBDb31786613cE944536BA19)] = 60773325253515808; expLpAllowances[address(0x184a7a4A16eE839e40CAd1744e9C09355B217810)] = 631181628434378; } address private VAULT_ADDRESS; bool private vaultAddressGiven = false; //ADMIN-function: define address of staking contract //Can only be called once to set vault address function setVaultAddress(address _VAULT_ADDRESS) public { require(msg.sender == ADMIN_ADDRESS, "Caller is not admin."); require(!vaultAddressGiven, "Vault Address already defined."); vaultAddressGiven = true; VAULT_ADDRESS = _VAULT_ADDRESS; } //ADMIN-function: adjust expLpAllowances function setExpLpAllowance(address who, uint256 amount) public { require(msg.sender == ADMIN_ADDRESS, "Caller is not admin."); expLpAllowances[who] = amount; } //stake exp lp tokens function approveStake(address who, uint256 lpAmount) public returns (uint256) { require(msg.sender == VAULT_ADDRESS, "Caller is not Vault."); uint256 validAmount; if (lpAmount > expLpAllowances[who]) { validAmount = expLpAllowances[who]; } else { validAmount = lpAmount; } require(validAmount > 0, "You cannot stake more EXP LP tokens."); //reduce allowance, calc balance expLpAllowances[who] = expLpAllowances[who].sub(validAmount); expLpTotal = expLpTotal.add(validAmount); //get lp from user - lp tokens need to be approved by user first require(IERC20(WETHxEXP).transferFrom(who, address(this), validAmount), "Token transfer failed."); return validAmount; } //refund LP Token function doRefund(address who, uint256 refundAmount) public { require(msg.sender == VAULT_ADDRESS, "Caller is not Vault."); //increase allowance and send tokens expLpAllowances[who] = expLpAllowances[who].add(refundAmount); require(IERC20(WETHxEXP).transfer(who, refundAmount), "LP Token transfer failed."); } //view total balance function viewTotalExpLpBalance() public view returns (uint256) { return expLpTotal; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ADMIN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"uint256","name":"lpAmount","type":"uint256"}],"name":"approveStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"uint256","name":"refundAmount","type":"uint256"}],"name":"doRefund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"expLpAllowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"expLpTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setExpLpAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_VAULT_ADDRESS","type":"address"}],"name":"setVaultAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewTotalExpLpBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a06040526002805460ff60a01b1916905534801561001d57600080fd5b5033606081901b6080526000602081905267019e2ee47349e8507f6c1c930a9e3cffd78e024e52b5a0e41e982cbe26ccf93f98ae363d49a581b8fc8190557fbcaabe79b4451c761fa7c8a45d9e69f7353b276c15f6e3cb0adbad308f76645b81905567033c5dc8e693d0a07fc1cd1f8c089e5a78b1c7741bdc2774afd47cb8ceeb2ce233ca8ef3fcd67534508190557f4fc2529d02cae00f08c75dae6419f7c4f723eef6162357188f8f0e758d3e792f8190557f62451adb9a48728e79bcaa2a16450b0d51cc62ad0f720a051e2a958ac3672eff829055670678bb91cd27a1407fd9feaf79223d686bfb18a67dcd11b0fc593e6dbed22816e6331d770c122c917a8190557f8933d13858aeb6c75a2b2931efe17a396273558507f1a1b6d1ae838d34d934b6819055670487b67fa93557407fd07e2806aa9b900045f7d40d3f070839fd41d1c9d8c54eaaa682a100c1ac8262556701f1051223f24a007f5a4beef8f73ccf504a560fa48bd24f6338ab5809ac2c7f005a569cf2c1f8462f5566f8828911f925007f80cbdf1c09c888cbbae688f1c8d30de3ee7d1b270187f1e3a3c9105603667b158190556704da8cad59ddb9007fbc1d9e64fb758372bc935634ea39377d86bf5497dfb4c8e5cc40e88507cd6cc0557f60ad4c85cb1e66f3acc843d0b1d79c41972184618e594d7298341517f43bf1ff8390557f9d9706db6da5a3d5a63efcbb8b1b83a10beb13b0d62bffaa7acacf4c7acee5d982905566cf177239a4f4287f2a1af9c6ec868f6b9aa630843391c43367b86b9f2236d368b5b654cc6a6e8c21557fc1007e673f8327ae337f88a31d245913c7fe7aec4617025052118ce865e131288290557f571bd997e070df5ba4d18f1c5c39ace78199b6bf41411109fb84761db66eb3c58290557fc468c5f4ce1abb34a723c57d8e8b7ba4848593e5be6e6df21253a4b4fccec4878290557faf65dcd3e9040f566c62e347726dfff231ef0eac36944c57d4b791e1bf64e8488290557fcf309cc03f1455e7dd7ed8d8fa56012db144a9df5e3d5979d8d001e2e4362cd68290557f5874093cf12c66b2e6a3583a3ab1654d9885b4cc00e708eeb1922f3b5f4c250e8290557f2a9b7f80a281e855f046f270d03293909c03c177429f6c25f517157a2123369a829055670625e5641c7f3f807f865d4dc4bcaf90f9bd136df8aa4a33d46b01e4565b1fb2429e70483068fb966f557f3910db2b95390498753377013b9319447f3d90899d186fc8522fa5ddee1f35d78290557febac4eac0ce45f9fa65c6fd7fd293947fd7897ecbe3731b0b7a1bf62fbc28b208290557fc17becc7eb40b6398b7c97466f362747af7b53fc5bc834788aad72e96a5b89448290557febeec9a13870fb8674be29c5290a28555711022804b0ba6ff22d537b1f13b9038290557f923f75bccb7c6bc2a86edcc57d33b424ae609aad49868300d9ca4d39bf3a94938290557f365df8672200fdb3bacac9eb69a48b90cca62d29c2ff45c52c829e19c0cf44c28290557f26d2b2450e375a9ed81d5604ef9fff05b4ad2529da82d147de782bf536ad21158290557fb28e6f371c1f50b0e25c7512cb8501ff6dba52b6dfd29ad8620fa3893ace34a3939093557f46222a72d77bf1ed9af2d24ee367ae25dbc1e3a006d21e310823bb6fe3f8be2182905566a5ac5b6150c3587fafe17399033f50aa88d162183d790d7c2f55801cbc23f564d225e6bf2da84f1d557f0574c798e159a79e03f077bacfc4b96755940961205b2d439de7b9a22f6ddf3e929092557f2c411d169b1a2bb1937080144090d141301c3ba4266ccce5389485ab2e899379557f475da6b90b9a4213e81902850077a5f69010fa243e6c5c2ade0a2ee3c57a3724556701c799fb4b9e19207f16aac9320c97effadd6196ec01958eff80603e4c58a6bedf560b9b66253cc6d85566ce6d062f8678a07fb7b6ea4e3f1f9af135e5a46af7064e2f1cf2b68c083478fa5023eab734f8b05c556619caef40ff92d97f860dc981c88fd835faa9a7537ed37c0edd3c03a4022b3b5f9a57f9b8efe96d3855670102cf1c331448207f859709681b5a354f039517f96744b4384f393ea9491b99f946cc3609e5209fde5566377919a51517907f624cb392d983e518aefa5cf9e49cda52017c62575647b9dc1af34eaed31e3902556634ccfe3522813c7f7f5e95540dfdb9ac3ff6c8468695e9ebe204adeb63e8e9c72d0bfcb81756bd875566681da70ba305547f5ab2dbc98318415e4278a52a0212d8c936f1712b1a17a273728686089ad014a0556604334d66f7bf297f1181551730db0fc16bc63b1bfbcb213d259e8792b43440c7837ced4d640a891c55663dec38403bfdcc7fa1eaedd74366cafbebb8791a9485cc860ec6a42ec25d575e9f6e0da13d3a849255665f79825ca29db47f1fbde90a0c92bc00993e30616d5c1a5738675390f5ccfed04bbb5bbf5724512b556617694d835fb0247fe3a2c0c90e42bcce5436c8fcc8a673ba068b5605e6816e18cc4bf925c83dc117556607eba359d7731b7fb1bc6c6ef9ce6cf6d74c74c39850ea40dbbc5c23a85197ff56aa2b76bdd7d0b4556607c08903f376667faa3df86ddb296d5489a3056ac8511c3b906c1c37f18698e99135be748585a1b355664d0d16298982b07fe34d51481e940a69ab396a41e3386bc5760f3a55a43ae36d9e4216b86338f72c55660ea724fb9c098b7f6e259cfbecd3665ad5c00e4a8aee0b9092eca18d4c35a3a31655eb77a12ff2e05566072526f6eab2d17f921d6b9106a0e73eeafa1d7bcefe767f2e94607b8da6b4d222d52602773376775566039130f0787f307f62cf43471eb85d7d68b93f61af744c3c10fa3fb820a7b78098ef62eb198c2206556649a7e03f3216647f88eb8fb3b42bd1816b73223f13285e6ae9d831584ef5078f5688145cfe4f80245566104728262e42477f3d7f6ba38c7ccc4dac039dd8e1779546401bb132533f4366367c13275fbb671d55664049ad7b2eecc87f45e6d052466b7dcbc2f7b3037d84635684b391215054d534bc878fcfef37f46f55662354d7337f0c487f4f6c1349889f7beb9749a7dd295950bcc361d434ccf9825e905f9b964e6a801c5566432124019730c47fcbbe747faeb715f2c79147fcfab3d37afb982ca3407e4acdc169361043d4841e5566426ea2e3a7ae007ff686b0a97160f51ae3b0ee6235d87a590d59b6af3ea675af542aed42d515f1155566488dbae4e8a6107f477df8f58eaf6f804774784c1d1a685c0df2131834c03757a1948aa0771c2fc055661914db070e13af7f0a7a7d50d6377ce70b9fb59f64087991df8cf89f7af2fcb7d710cd72d91bf390556645df7d889823307f5681a2dc11a8ce15fbb59086c59e25d8deb3f3d05ab9cf29294ef06b2624b8c355660179b66566ac537fc4c09babb184fbea4f91913aa9ff2d0378ece8228b80195c5b922cb8ae2d8e745567065669b4d86168807fcee8cd143ef5d55f3165519666586b3cd75558c5ec4e9abb0dc98bf16b0911c8556652dd976a6ec82c7fbd47cc811cf1739af49da39c5e67044c877bd87bf4159554c1085f62b818e95e55660258a9a0f7b9e97fcbd8c7111d6f62caee31775e71eece2bbf28c797569f565f274837518258646e55662eb135c94a0e587fd7c36eb497175fd9125fa39861a6e733fd0681b97fe7ba489309fd301dcdbbb1556601bcec8de974497fd26dde80937e7104e29f63f263896e835e12c910d4df6690722f5dfde3ec35e0556610014a3a63d25b7f64baced2ac749c3c3dc263fe073ef68d7246bf102eba9aee5254ae49287e30c055661554492452bfee7f5bae17d24e5d8646c918a3890208bc8db3e4ef9ac0f801c9e8887f986eb479d955661a2b1ab076148e7f669d7489b2fbd6af19573eae76f25a0503c8d2a368a28fdd6632bb2f9695a9bb55662396d4871fbc147f2a7c7550d4ee4446e896674cb9d29abafe88865084a6bdb85131df2130d7af8a5566751433517913747fc7ef0dcfb964224835d04077b5df40d7ab1e72d2370f6d06714d2e724d72eebc55660c6c02628dba4b7f924e4a9075f2526d0c5aae31b1498fe67fdd1394d6faa670ef2e719a7d6bbb6855663c698cf150f4dc7ff465a1f4fabeeed12e4877f91631b5ff0b01d7decdabec22f46ac9665d338c155566189ed7a51d09077f02ace0d8d0baaafb6c334f442bc54c88aa9a0812f3a9de5691a6f6d434e834615567010e7274278c8bb07f864eec8b1948b69bf4a7eb657d7aadac222d46d3fc147e401569e01f45c06b025567043a2ab0a1d2c3807f92a1a01167af65e306764ec05293b3b0b589998c419b4b20e8246fd7660730e8556703b3c8543f16b9c07febd7be9ea7b8903a41c40b44aafbd55df7233a248c2d49dbac9a04e5dc2647ea5566d7e9046f8e1a207f7073661637fe6c8b0abcf503ddc2afea0a5582bda84535db5dab3767d42093fb5573184a7a4a16ee839e40cad1744e9c09355b217810815266023e0e6cc067ca7fb03299585ef788fb5cd32bf3c2c07c67faa5bb988034a71c9736b118276c95325561089190610d0390398061032652806103c852806106e152506108916000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806399ef04af1161005b57806399ef04af14610145578063ab9526261461014d578063f57ad98914610179578063fddf46881461019d57610088565b80632344b5df1461008d57806359f9198c146100bb5780635ff0312d146100e757806385535cc51461011f575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101a5565b005b6100b9600480360360408110156100d157600080fd5b506001600160a01b03813516906020013561031b565b61010d600480360360208110156100fd57600080fd5b50356001600160a01b03166103ab565b60408051918252519081900360200190f35b6100b96004803603602081101561013557600080fd5b50356001600160a01b03166103bd565b61010d6104c1565b61010d6004803603604081101561016357600080fd5b506001600160a01b0381351690602001356104c7565b6101816106df565b604080516001600160a01b039092168252519081900360200190f35b61010d610703565b6002546001600160a01b031633146101fb576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba102b30bab63a1760611b604482015290519081900360640190fd5b6001600160a01b038216600090815260208190526040902054610224908263ffffffff61070916565b6001600160a01b03831660008181526020818152604080832094909455835163a9059cbb60e01b8152600481019390935260248301859052925173015ee710300e80b0c8430a6eb0e8680f25bf2a7f9363a9059cbb93604480820194929392918390030190829087803b15801561029a57600080fd5b505af11580156102ae573d6000803e3d6000fd5b505050506040513d60208110156102c457600080fd5b5051610317576040805162461bcd60e51b815260206004820152601960248201527f4c5020546f6b656e207472616e73666572206661696c65642e00000000000000604482015290519081900360640190fd5b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461038f576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba1030b236b4b71760611b604482015290519081900360640190fd5b6001600160a01b03909116600090815260208190526040902055565b60006020819052908152604090205481565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610431576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba1030b236b4b71760611b604482015290519081900360640190fd5b600254600160a01b900460ff1615610490576040805162461bcd60e51b815260206004820152601e60248201527f5661756c74204164647265737320616c726561647920646566696e65642e0000604482015290519081900360640190fd5b60028054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b0392909216919091179055565b60015481565b6002546000906001600160a01b03163314610520576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba102b30bab63a1760611b604482015290519081900360640190fd5b6001600160a01b03831660009081526020819052604081205483111561055f57506001600160a01b038316600090815260208190526040902054610562565b50815b600081116105a15760405162461bcd60e51b81526004018080602001828103825260248152602001806108386024913960400191505060405180910390fd5b6001600160a01b0384166000908152602081905260409020546105ca908263ffffffff61076316565b6001600160a01b0385166000908152602081905260409020556001546105f6908263ffffffff61070916565b600155604080516323b872dd60e01b81526001600160a01b038616600482015230602482015260448101839052905173015ee710300e80b0c8430a6eb0e8680f25bf2a7f916323b872dd9160648083019260209291908290030181600087803b15801561066257600080fd5b505af1158015610676573d6000803e3d6000fd5b505050506040513d602081101561068c57600080fd5b50516106d8576040805162461bcd60e51b81526020600482015260166024820152752a37b5b2b7103a3930b739b332b9103330b4b632b21760511b604482015290519081900360640190fd5b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015490565b6000828201838110156106d8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006106d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506000818484111561082f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107f45781810151838201526020016107dc565b50505050905090810190601f1680156108215780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe596f752063616e6e6f74207374616b65206d6f726520455850204c5020746f6b656e732ea26469706673582212206090dd0789e9c3c777b5f523d86df68e12e7d8a6d6aa3ac3b5477d221950939a64736f6c63430006060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c806399ef04af1161005b57806399ef04af14610145578063ab9526261461014d578063f57ad98914610179578063fddf46881461019d57610088565b80632344b5df1461008d57806359f9198c146100bb5780635ff0312d146100e757806385535cc51461011f575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101a5565b005b6100b9600480360360408110156100d157600080fd5b506001600160a01b03813516906020013561031b565b61010d600480360360208110156100fd57600080fd5b50356001600160a01b03166103ab565b60408051918252519081900360200190f35b6100b96004803603602081101561013557600080fd5b50356001600160a01b03166103bd565b61010d6104c1565b61010d6004803603604081101561016357600080fd5b506001600160a01b0381351690602001356104c7565b6101816106df565b604080516001600160a01b039092168252519081900360200190f35b61010d610703565b6002546001600160a01b031633146101fb576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba102b30bab63a1760611b604482015290519081900360640190fd5b6001600160a01b038216600090815260208190526040902054610224908263ffffffff61070916565b6001600160a01b03831660008181526020818152604080832094909455835163a9059cbb60e01b8152600481019390935260248301859052925173015ee710300e80b0c8430a6eb0e8680f25bf2a7f9363a9059cbb93604480820194929392918390030190829087803b15801561029a57600080fd5b505af11580156102ae573d6000803e3d6000fd5b505050506040513d60208110156102c457600080fd5b5051610317576040805162461bcd60e51b815260206004820152601960248201527f4c5020546f6b656e207472616e73666572206661696c65642e00000000000000604482015290519081900360640190fd5b5050565b336001600160a01b037f000000000000000000000000a3bd825b31266eeb12dad7306472da1660a81dab161461038f576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba1030b236b4b71760611b604482015290519081900360640190fd5b6001600160a01b03909116600090815260208190526040902055565b60006020819052908152604090205481565b336001600160a01b037f000000000000000000000000a3bd825b31266eeb12dad7306472da1660a81dab1614610431576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba1030b236b4b71760611b604482015290519081900360640190fd5b600254600160a01b900460ff1615610490576040805162461bcd60e51b815260206004820152601e60248201527f5661756c74204164647265737320616c726561647920646566696e65642e0000604482015290519081900360640190fd5b60028054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b0392909216919091179055565b60015481565b6002546000906001600160a01b03163314610520576040805162461bcd60e51b815260206004820152601460248201527321b0b63632b91034b9903737ba102b30bab63a1760611b604482015290519081900360640190fd5b6001600160a01b03831660009081526020819052604081205483111561055f57506001600160a01b038316600090815260208190526040902054610562565b50815b600081116105a15760405162461bcd60e51b81526004018080602001828103825260248152602001806108386024913960400191505060405180910390fd5b6001600160a01b0384166000908152602081905260409020546105ca908263ffffffff61076316565b6001600160a01b0385166000908152602081905260409020556001546105f6908263ffffffff61070916565b600155604080516323b872dd60e01b81526001600160a01b038616600482015230602482015260448101839052905173015ee710300e80b0c8430a6eb0e8680f25bf2a7f916323b872dd9160648083019260209291908290030181600087803b15801561066257600080fd5b505af1158015610676573d6000803e3d6000fd5b505050506040513d602081101561068c57600080fd5b50516106d8576040805162461bcd60e51b81526020600482015260166024820152752a37b5b2b7103a3930b739b332b9103330b4b632b21760511b604482015290519081900360640190fd5b9392505050565b7f000000000000000000000000a3bd825b31266eeb12dad7306472da1660a81dab81565b60015490565b6000828201838110156106d8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006106d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506000818484111561082f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107f45781810151838201526020016107dc565b50505050905090810190601f1680156108215780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe596f752063616e6e6f74207374616b65206d6f726520455850204c5020746f6b656e732ea26469706673582212206090dd0789e9c3c777b5f523d86df68e12e7d8a6d6aa3ac3b5477d221950939a64736f6c63430006060033
Deployed Bytecode Sourcemap
3813:10449:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3813:10449:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;13772:352:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;13772:352:0;;;;;;;;:::i;:::-;;12752:182;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;12752:182:0;;;;;;;;:::i;3884:51::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3884:51:0;-1:-1:-1;;;;;3884:51:0;;:::i;:::-;;;;;;;;;;;;;;;;12419:277;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12419:277:0;-1:-1:-1;;;;;12419:277:0;;:::i;3942:25::-;;;:::i;12971:768::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;12971:768:0;;;;;;;;:::i;4064:38::-;;;:::i;:::-;;;;-1:-1:-1;;;;;4064:38:0;;;;;;;;;;;;;;14160:99;;;:::i;13772:352::-;13865:13;;-1:-1:-1;;;;;13865:13:0;13851:10;:27;13843:60;;;;;-1:-1:-1;;;13843:60:0;;;;;;;;;;;;-1:-1:-1;;;13843:60:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13985:20:0;;:15;:20;;;;;;;;;;;:38;;14010:12;13985:38;:24;:38;:::i;:::-;-1:-1:-1;;;;;13962:20:0;;:15;:20;;;;;;;;;;;:61;;;;14042:44;;-1:-1:-1;;;14042:44:0;;;;;;;;;;;;;;;;;4013:42;;14042:25;;:44;;;;;13962:20;;14042:44;;;;;;;;;4013:42;14042:44;;;2:2:-1;;;;27:1;24;17:12;2:2;14042:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14042:44:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14042:44:0;14034:82;;;;;-1:-1:-1;;;14034:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13772:352;;:::o;12752:182::-;12834:10;-1:-1:-1;;;;;12848:13:0;12834:27;;12826:60;;;;;-1:-1:-1;;;12826:60:0;;;;;;;;;;;;-1:-1:-1;;;12826:60:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12897:20:0;;;:15;:20;;;;;;;;;;:29;12752:182::o;3884:51::-;;;;;;;;;;;;;;:::o;12419:277::-;12488:10;-1:-1:-1;;;;;12502:13:0;12488:27;;12480:60;;;;;-1:-1:-1;;;12480:60:0;;;;;;;;;;;;-1:-1:-1;;;12480:60:0;;;;;;;;;;;;;;;12560:17;;-1:-1:-1;;;12560:17:0;;;;12559:18;12551:61;;;;;-1:-1:-1;;;12551:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12623:17;:24;;-1:-1:-1;;;;;;;12623:24:0;;;;-1:-1:-1;;;;;;12658:30:0;-1:-1:-1;;;;;12658:30:0;;;;;;;;;;12419:277::o;3942:25::-;;;;:::o;12971:768::-;13082:13;;13040:7;;-1:-1:-1;;;;;13082:13:0;13068:10;:27;13060:60;;;;;-1:-1:-1;;;13060:60:0;;;;;;;;;;;;-1:-1:-1;;;13060:60:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13172:20:0;;13133:19;13172:20;;;;;;;;;;;13161:31;;13157:123;;;-1:-1:-1;;;;;;13214:20:0;;:15;:20;;;;;;;;;;;13157:123;;;-1:-1:-1;13266:8:0;13157:123;13314:1;13300:11;:15;13292:64;;;;-1:-1:-1;;;13292:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13434:20:0;;:15;:20;;;;;;;;;;;:37;;13459:11;13434:37;:24;:37;:::i;:::-;-1:-1:-1;;;;;13411:20:0;;:15;:20;;;;;;;;;;:60;13495:10;;:27;;13510:11;13495:27;:14;:27;:::i;:::-;13482:10;:40;13611:62;;;-1:-1:-1;;;13611:62:0;;-1:-1:-1;;;;;13611:62:0;;;;;;13654:4;13611:62;;;;;;;;;;;;4013:42;;13611:29;;:62;;;;;;;;;;;;;;-1:-1:-1;4013:42:0;13611:62;;;2:2:-1;;;;27:1;24;17:12;2:2;13611:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13611:62:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13611:62:0;13603:97;;;;;-1:-1:-1;;;13603:97:0;;;;;;;;;;;;-1:-1:-1;;;13603:97:0;;;;;;;;;;;;;;;13720:11;12971:768;-1:-1:-1;;;12971:768:0:o;4064:38::-;;;:::o;14160:99::-;14241:10;;14160:99;:::o;236:173::-;294:7;326:5;;;350:6;;;;342:46;;;;;-1:-1:-1;;;342:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;417:130;475:7;502:43;506:1;509;502:43;;;;;;;;;;;;;;;;;641:7;677:12;669:6;;;;661:29;;;;-1:-1:-1;;;661:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;661:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;713:5:0;;;555:184::o
Swarm Source
ipfs://6090dd0789e9c3c777b5f523d86df68e12e7d8a6d6aa3ac3b5477d221950939a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.