Overview
ETH Balance
0 ETH
Eth Value
$0.00Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 8,892 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 21460707 | 18 hrs ago | IN | 0 ETH | 0.00034015 | ||||
Request Withdraw | 21449299 | 2 days ago | IN | 0 ETH | 0.00027335 | ||||
Stake | 21448799 | 2 days ago | IN | 0 ETH | 0.00047758 | ||||
Withdraw | 21448782 | 2 days ago | IN | 0 ETH | 0.00048202 | ||||
Request Withdraw | 21445843 | 2 days ago | IN | 0 ETH | 0.00055364 | ||||
Request Withdraw | 21445665 | 2 days ago | IN | 0 ETH | 0.00052422 | ||||
Request Withdraw | 21443925 | 3 days ago | IN | 0 ETH | 0.00121332 | ||||
Request Withdraw | 21443264 | 3 days ago | IN | 0 ETH | 0.00091805 | ||||
Request Withdraw | 21443251 | 3 days ago | IN | 0 ETH | 0.00094487 | ||||
Stake | 21435537 | 4 days ago | IN | 0 ETH | 0.00073265 | ||||
Withdraw | 21435493 | 4 days ago | IN | 0 ETH | 0.00077704 | ||||
Withdraw | 21435379 | 4 days ago | IN | 0 ETH | 0.00051492 | ||||
Request Withdraw | 21435302 | 4 days ago | IN | 0 ETH | 0.00035642 | ||||
Request Withdraw | 21435259 | 4 days ago | IN | 0 ETH | 0.00037692 | ||||
Request Withdraw | 21435241 | 4 days ago | IN | 0 ETH | 0.00036613 | ||||
Stake | 21434527 | 4 days ago | IN | 0 ETH | 0.00060413 | ||||
Withdraw | 21432500 | 4 days ago | IN | 0 ETH | 0.00073162 | ||||
Withdraw | 21432343 | 4 days ago | IN | 0 ETH | 0.00123493 | ||||
Withdraw | 21429350 | 5 days ago | IN | 0 ETH | 0.00124492 | ||||
Withdraw | 21427976 | 5 days ago | IN | 0 ETH | 0.00051564 | ||||
Withdraw | 21423601 | 5 days ago | IN | 0 ETH | 0.00172106 | ||||
Request Withdraw | 21423466 | 5 days ago | IN | 0 ETH | 0.00107045 | ||||
Withdraw | 21423461 | 5 days ago | IN | 0 ETH | 0.0015426 | ||||
Withdraw | 21422748 | 6 days ago | IN | 0 ETH | 0.00139708 | ||||
Request Withdraw | 21422570 | 6 days ago | IN | 0 ETH | 0.00081936 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TwoWeeksNotice
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-09 */ // SPDX-License-Identifier: MIT pragma solidity 0.6.12; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } contract TwoWeeksNotice { struct StakeState { uint64 balance; uint64 unlockPeriod; // time it takes from requesting withdraw to being able to withdraw uint64 lockedUntil; // 0 if withdraw is not requested uint64 since; uint128 accumulated; // token-days staked uint128 accumulatedStrict; // token-days staked sans withdraw periods } event StakeUpdate(address indexed from, uint64 balance); event WithdrawRequest(address indexed from, uint64 until); mapping(address => StakeState) private _states; IERC20 private token; constructor (IERC20 _token) public { token = _token; } function getStakeState(address account) external view returns (uint64, uint64, uint64, uint64) { StakeState storage ss = _states[account]; return (ss.balance, ss.unlockPeriod, ss.lockedUntil, ss.since); } function getAccumulated(address account) external view returns (uint128, uint128) { StakeState storage ss = _states[account]; return (ss.accumulated, ss.accumulatedStrict); } function estimateAccumulated(address account) external view returns (uint128, uint128) { StakeState storage ss = _states[account]; uint128 sum = ss.accumulated; uint128 sumStrict = ss.accumulatedStrict; if (ss.balance > 0) { uint256 until = block.timestamp; if (ss.lockedUntil > 0 && ss.lockedUntil < block.timestamp) { until = ss.lockedUntil; } if (until > ss.since) { uint128 delta = uint128( (uint256(ss.balance) * (until - ss.since))/86400 ); sum += delta; if (ss.lockedUntil == 0) { sumStrict += delta; } } } return (sum, sumStrict); } function updateAccumulated(StakeState storage ss) private { if (ss.balance > 0) { uint256 until = block.timestamp; if (ss.lockedUntil > 0 && ss.lockedUntil < block.timestamp) { until = ss.lockedUntil; } if (until > ss.since) { uint128 delta = uint128( (uint256(ss.balance) * (until - ss.since))/86400 ); ss.accumulated += delta; if (ss.lockedUntil == 0) { ss.accumulatedStrict += delta; } } } } function stake(uint64 amount, uint64 unlockPeriod) external { StakeState storage ss = _states[msg.sender]; require(amount > 0, "amount must be positive"); require(ss.balance <= amount, "cannot decrease balance"); require(unlockPeriod <= 1000 days, "unlockPeriod cannot be higher than 1000 days"); require(ss.unlockPeriod <= unlockPeriod, "cannot decrease unlock period"); require(unlockPeriod >= 2 weeks, "unlock period can't be less than 2 weeks"); updateAccumulated(ss); uint128 delta = amount - ss.balance; if (delta > 0) { require(token.transferFrom(msg.sender, address(this), delta), "transfer unsuccessful"); } ss.balance = amount; ss.unlockPeriod = unlockPeriod; ss.lockedUntil = 0; ss.since = uint64(block.timestamp); emit StakeUpdate(msg.sender, amount); } function requestWithdraw() external { StakeState storage ss = _states[msg.sender]; require(ss.balance > 0); updateAccumulated(ss); ss.since = uint64(block.timestamp); ss.lockedUntil = uint64(block.timestamp + ss.unlockPeriod); } function withdraw(address to) external { StakeState storage ss = _states[msg.sender]; require(ss.balance > 0, "must have tokens to withdraw"); require(ss.lockedUntil != 0, "unlock not requested"); require(ss.lockedUntil < block.timestamp, "still locked"); updateAccumulated(ss); uint128 balance = ss.balance; ss.balance = 0; ss.unlockPeriod = 0; ss.lockedUntil = 0; ss.since = 0; require(token.transfer(to, balance), "transfer unsuccessful"); emit StakeUpdate(msg.sender, 0); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint64","name":"balance","type":"uint64"}],"name":"StakeUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint64","name":"until","type":"uint64"}],"name":"WithdrawRequest","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"estimateAccumulated","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccumulated","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStakeState","outputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requestWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"amount","type":"uint64"},{"internalType":"uint64","name":"unlockPeriod","type":"uint64"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610af8380380610af88339818101604052602081101561003357600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055610a95806100636000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806344ab37b41461006757806351cff8d9146100bc57806364156fed146100e45780637333aad71461010a578063b3423eec14610138578063fd40037014610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661019a565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6100e2600480360360208110156100d257600080fd5b50356001600160a01b03166101cd565b005b61008d600480360360208110156100fa57600080fd5b50356001600160a01b031661040c565b6100e26004803603604081101561012057600080fd5b506001600160401b03813581169160200135166104fd565b6100e261084f565b6101666004803603602081101561015657600080fd5b50356001600160a01b03166108c9565b604080516001600160401b039586168152938516602085015291841683830152909216606082015290519081900360800190f35b6001600160a01b03166000908152602081905260409020600101546001600160801b0380821692600160801b9092041690565b33600090815260208190526040902080546001600160401b0316610238576040805162461bcd60e51b815260206004820152601c60248201527f6d757374206861766520746f6b656e7320746f20776974686472617700000000604482015290519081900360640190fd5b8054600160801b90046001600160401b0316610292576040805162461bcd60e51b81526020600482015260146024820152731d5b9b1bd8dac81b9bdd081c995c5d595cdd195960621b604482015290519081900360640190fd5b805442600160801b9091046001600160401b0316106102e7576040805162461bcd60e51b815260206004820152600c60248201526b1cdd1a5b1b081b1bd8dad95960a21b604482015290519081900360640190fd5b6102f08161090d565b805460008083556001546040805163a9059cbb60e01b81526001600160a01b0387811660048301526001600160401b0390951660248201819052915191949092169263a9059cbb92604480820193602093909283900390910190829087803b15801561035b57600080fd5b505af115801561036f573d6000803e3d6000fd5b505050506040513d602081101561038557600080fd5b50516103d0576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b6040805160008152905133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6919081900360200190a2505050565b6001600160a01b0381166000908152602081905260408120600181015481548392916001600160801b0380821692600160801b90920416906001600160401b0316156104f25782544290600160801b90046001600160401b0316158015906104855750835442600160801b9091046001600160401b0316105b1561049e57508254600160801b90046001600160401b03165b8354600160c01b90046001600160401b03168111156104f0578354620151806001600160401b03808316600160c01b84048216850302919091049485019491600160801b9004166104ee57918201915b505b505b909350915050915091565b3360009081526020819052604090206001600160401b038316610567576040805162461bcd60e51b815260206004820152601760248201527f616d6f756e74206d75737420626520706f736974697665000000000000000000604482015290519081900360640190fd5b80546001600160401b03808516911611156105c9576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f742064656372656173652062616c616e6365000000000000000000604482015290519081900360640190fd5b6305265c00826001600160401b031611156106155760405162461bcd60e51b815260040180806020018281038252602c815260200180610a34602c913960400191505060405180910390fd5b80546001600160401b03808416600160401b90920416111561067e576040805162461bcd60e51b815260206004820152601d60248201527f63616e6e6f7420646563726561736520756e6c6f636b20706572696f64000000604482015290519081900360640190fd5b62127500826001600160401b031610156106c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610a0c6028913960400191505060405180910390fd5b6106d28161090d565b80546001600160401b0390811684031680156107bf57600154604080516323b872dd60e01b81523360048201523060248201526001600160801b038416604482015290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b50516107bf576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b815467ffffffffffffffff19166001600160401b038581169182176fffffffffffffffff00000000000000001916600160401b86831602176001600160801b0316600160c01b429290921691909102178355604080519182525133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6916020918190039190910190a250505050565b33600090815260208190526040902080546001600160401b031661087257600080fd5b61087b8161090d565b8054600160401b6001600160401b0342818116600160c01b026001600160c01b03909416939093179182048116909201909116600160801b0267ffffffffffffffff60801b19909116179055565b6001600160a01b03166000908152602081905260409020546001600160401b0380821692600160401b8304821692600160801b8104831692600160c01b9091041690565b80546001600160401b031615610a085780544290600160801b90046001600160401b0316158015906109505750815442600160801b9091046001600160401b0316105b1561096957508054600160801b90046001600160401b03165b8154600160c01b90046001600160401b0316811115610a065781546001830180546fffffffffffffffffffffffffffffffff198116620151806001600160401b03808616600160c01b87048216880302919091046001600160801b0393841681019093169190911790925591600160801b900416610a04576001830180546001600160801b03600160801b8083048216850182160291161790555b505b505b5056fe756e6c6f636b20706572696f642063616e2774206265206c657373207468616e2032207765656b73756e6c6f636b506572696f642063616e6e6f7420626520686967686572207468616e20313030302064617973a26469706673582212208ad9755d1ff791d9a74d701752dffeb3e5c8e8ec15a754a5cd7d90fc45c8674464736f6c634300060c00330000000000000000000000008a2279d4a90b6fe1c4b30fa660cc9f926797baa2
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100625760003560e01c806344ab37b41461006757806351cff8d9146100bc57806364156fed146100e45780637333aad71461010a578063b3423eec14610138578063fd40037014610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661019a565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6100e2600480360360208110156100d257600080fd5b50356001600160a01b03166101cd565b005b61008d600480360360208110156100fa57600080fd5b50356001600160a01b031661040c565b6100e26004803603604081101561012057600080fd5b506001600160401b03813581169160200135166104fd565b6100e261084f565b6101666004803603602081101561015657600080fd5b50356001600160a01b03166108c9565b604080516001600160401b039586168152938516602085015291841683830152909216606082015290519081900360800190f35b6001600160a01b03166000908152602081905260409020600101546001600160801b0380821692600160801b9092041690565b33600090815260208190526040902080546001600160401b0316610238576040805162461bcd60e51b815260206004820152601c60248201527f6d757374206861766520746f6b656e7320746f20776974686472617700000000604482015290519081900360640190fd5b8054600160801b90046001600160401b0316610292576040805162461bcd60e51b81526020600482015260146024820152731d5b9b1bd8dac81b9bdd081c995c5d595cdd195960621b604482015290519081900360640190fd5b805442600160801b9091046001600160401b0316106102e7576040805162461bcd60e51b815260206004820152600c60248201526b1cdd1a5b1b081b1bd8dad95960a21b604482015290519081900360640190fd5b6102f08161090d565b805460008083556001546040805163a9059cbb60e01b81526001600160a01b0387811660048301526001600160401b0390951660248201819052915191949092169263a9059cbb92604480820193602093909283900390910190829087803b15801561035b57600080fd5b505af115801561036f573d6000803e3d6000fd5b505050506040513d602081101561038557600080fd5b50516103d0576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b6040805160008152905133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6919081900360200190a2505050565b6001600160a01b0381166000908152602081905260408120600181015481548392916001600160801b0380821692600160801b90920416906001600160401b0316156104f25782544290600160801b90046001600160401b0316158015906104855750835442600160801b9091046001600160401b0316105b1561049e57508254600160801b90046001600160401b03165b8354600160c01b90046001600160401b03168111156104f0578354620151806001600160401b03808316600160c01b84048216850302919091049485019491600160801b9004166104ee57918201915b505b505b909350915050915091565b3360009081526020819052604090206001600160401b038316610567576040805162461bcd60e51b815260206004820152601760248201527f616d6f756e74206d75737420626520706f736974697665000000000000000000604482015290519081900360640190fd5b80546001600160401b03808516911611156105c9576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f742064656372656173652062616c616e6365000000000000000000604482015290519081900360640190fd5b6305265c00826001600160401b031611156106155760405162461bcd60e51b815260040180806020018281038252602c815260200180610a34602c913960400191505060405180910390fd5b80546001600160401b03808416600160401b90920416111561067e576040805162461bcd60e51b815260206004820152601d60248201527f63616e6e6f7420646563726561736520756e6c6f636b20706572696f64000000604482015290519081900360640190fd5b62127500826001600160401b031610156106c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610a0c6028913960400191505060405180910390fd5b6106d28161090d565b80546001600160401b0390811684031680156107bf57600154604080516323b872dd60e01b81523360048201523060248201526001600160801b038416604482015290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b50516107bf576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b815467ffffffffffffffff19166001600160401b038581169182176fffffffffffffffff00000000000000001916600160401b86831602176001600160801b0316600160c01b429290921691909102178355604080519182525133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6916020918190039190910190a250505050565b33600090815260208190526040902080546001600160401b031661087257600080fd5b61087b8161090d565b8054600160401b6001600160401b0342818116600160c01b026001600160c01b03909416939093179182048116909201909116600160801b0267ffffffffffffffff60801b19909116179055565b6001600160a01b03166000908152602081905260409020546001600160401b0380821692600160401b8304821692600160801b8104831692600160c01b9091041690565b80546001600160401b031615610a085780544290600160801b90046001600160401b0316158015906109505750815442600160801b9091046001600160401b0316105b1561096957508054600160801b90046001600160401b03165b8154600160c01b90046001600160401b0316811115610a065781546001830180546fffffffffffffffffffffffffffffffff198116620151806001600160401b03808616600160c01b87048216880302919091046001600160801b0393841681019093169190911790925591600160801b900416610a04576001830180546001600160801b03600160801b8083048216850182160291161790555b505b505b5056fe756e6c6f636b20706572696f642063616e2774206265206c657373207468616e2032207765656b73756e6c6f636b506572696f642063616e6e6f7420626520686967686572207468616e20313030302064617973a26469706673582212208ad9755d1ff791d9a74d701752dffeb3e5c8e8ec15a754a5cd7d90fc45c8674464736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008a2279d4a90b6fe1c4b30fa660cc9f926797baa2
-----Decoded View---------------
Arg [0] : _token (address): 0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008a2279d4a90b6fe1c4b30fa660cc9f926797baa2
Deployed Bytecode Sourcemap
2777:4378:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3730:197;;;;;;;;;;;;;;;;-1:-1:-1;3730:197:0;-1:-1:-1;;;;;3730:197:0;;:::i;:::-;;;;;-1:-1:-1;;;;;3730:197:0;;;;;;-1:-1:-1;;;;;3730:197:0;;;;;;;;;;;;;;;;6562:590;;;;;;;;;;;;;;;;-1:-1:-1;6562:590:0;-1:-1:-1;;;;;6562:590:0;;:::i;:::-;;3935:770;;;;;;;;;;;;;;;;-1:-1:-1;3935:770:0;-1:-1:-1;;;;;3935:770:0;;:::i;5319:940::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5319:940:0;;;;;;;;;;:::i;6271:283::-;;;:::i;3491:227::-;;;;;;;;;;;;;;;;-1:-1:-1;3491:227:0;-1:-1:-1;;;;;3491:227:0;;:::i;:::-;;;;-1:-1:-1;;;;;3491:227:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3730:197;-1:-1:-1;;;;;3847:16:0;3794:7;3847:16;;;;;;;;;;3882:14;;;-1:-1:-1;;;;;3882:14:0;;;;-1:-1:-1;;;3898:20:0;;;;;3730:197::o;6562:590::-;6644:10;6612:21;6636:19;;;;;;;;;;6674:10;;-1:-1:-1;;;;;6674:10:0;6666:55;;;;;-1:-1:-1;;;6666:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6740:14;;-1:-1:-1;;;6740:14:0;;-1:-1:-1;;;;;6740:14:0;6732:52;;;;;-1:-1:-1;;;6732:52:0;;;;;;;;;;;;-1:-1:-1;;;6732:52:0;;;;;;;;;;;;;;;6803:14;;6820:15;-1:-1:-1;;;6803:14:0;;;-1:-1:-1;;;;;6803:14:0;:32;6795:57;;;;;-1:-1:-1;;;6795:57:0;;;;;;;;;;;;-1:-1:-1;;;6795:57:0;;;;;;;;;;;;;;;6863:21;6881:2;6863:17;:21::i;:::-;6913:10;;6895:15;7018:12;;;6913:10;7049:5;:27;;;-1:-1:-1;;;7049:27:0;;-1:-1:-1;;;;;7049:27:0;;;;;;;-1:-1:-1;;;;;6913:10:0;;;7049:27;;;;;;;;6913:10;;7049:5;;;;:14;;:27;;;;;;;;;;;;;;;;;;:5;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7049:27:0;7041:61;;;;;-1:-1:-1;;;7041:61:0;;;;;;;;;;;;-1:-1:-1;;;7041:61:0;;;;;;;;;;;;;;;7118:26;;;7142:1;7118:26;;;;7130:10;;7118:26;;;;;;;;;;6562:590;;;:::o;3935:770::-;-1:-1:-1;;;;;4057:16:0;;4004:7;4057:16;;;;;;;;;;4098:14;;;;4178:10;;4004:7;;4057:16;-1:-1:-1;;;;;4098:14:0;;;;-1:-1:-1;;;4143:20:0;;;;;-1:-1:-1;;;;;4178:10:0;:14;4174:490;;4259:14;;4225:15;;-1:-1:-1;;;4259:14:0;;-1:-1:-1;;;;;4259:14:0;:18;;;;:54;;-1:-1:-1;4281:14:0;;4298:15;-1:-1:-1;;;4281:14:0;;;-1:-1:-1;;;;;4281:14:0;:32;4259:54;4255:117;;;-1:-1:-1;4342:14:0;;-1:-1:-1;;;4342:14:0;;-1:-1:-1;;;;;4342:14:0;4255:117;4398:8;;-1:-1:-1;;;4398:8:0;;-1:-1:-1;;;;;4398:8:0;4390:16;;4386:267;;;4484:8;;4495:5;-1:-1:-1;;;;;4461:10:0;;;-1:-1:-1;;;4484:8:0;;;;4476:16;;4453:40;4452:48;;;;4521:12;;;;4452:48;-1:-1:-1;;;4556:14:0;;;4552:86;;4600:18;;;;4552:86;4386:267;;4174:490;;4682:3;;-1:-1:-1;4687:9:0;-1:-1:-1;;3935:770:0;;;:::o;5319:940::-;5422:10;5390:21;5414:19;;;;;;;;;;-1:-1:-1;;;;;5452:10:0;;5444:46;;;;;-1:-1:-1;;;5444:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:10;;-1:-1:-1;;;;;5509:20:0;;;:10;;:20;;5501:56;;;;;-1:-1:-1;;;5501:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:9;5576:12;-1:-1:-1;;;;;5576:25:0;;;5568:82;;;;-1:-1:-1;;;5568:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5669:15;;-1:-1:-1;;;;;5669:31:0;;;-1:-1:-1;;;5669:15:0;;;;:31;;5661:73;;;;;-1:-1:-1;;;5661:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5769:7;5753:12;-1:-1:-1;;;;;5753:23:0;;;5745:76;;;;-1:-1:-1;;;5745:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5842:21;5860:2;5842:17;:21::i;:::-;5909:10;;-1:-1:-1;;;;;5909:10:0;;;5900:19;;5884:35;5934:9;;5930:128;;5968:5;;:52;;;-1:-1:-1;;;5968:52:0;;5987:10;5968:52;;;;6007:4;5968:52;;;;-1:-1:-1;;;;;5968:52:0;;;;;;;;-1:-1:-1;;;;;5968:5:0;;;;:18;;:52;;;;;;;;;;;;;;;:5;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5968:52:0;5960:86;;;;;-1:-1:-1;;;5960:86:0;;;;;;;;;;;;-1:-1:-1;;;5960:86:0;;;;;;;;;;;;;;;6070:19;;-1:-1:-1;;6070:19:0;-1:-1:-1;;;;;6070:19:0;;;;;;-1:-1:-1;;6100:30:0;-1:-1:-1;;;6100:30:0;;;;;-1:-1:-1;;;;;6170:34:0;-1:-1:-1;;;6188:15:0;6170:34;;;;;;;;;;;6220:31;;;;;;;6232:10;;6220:31;;;;;;;;;;;;;5319:940;;;;:::o;6271:283::-;6351:10;6319:21;6343:19;;;;;;;;;;6382:10;;-1:-1:-1;;;;;6382:10:0;6374:23;;;;;;6409:21;6427:2;6409:17;:21::i;:::-;6442:34;;-1:-1:-1;;;;;;;;6460:15:0;6442:34;;;-1:-1:-1;;;6442:34:0;-1:-1:-1;;;;;6442:34:0;;;;;;;6530:15;;;;;6512:33;;;6488:58;;;-1:-1:-1;;;6488:58:0;-1:-1:-1;;;;6488:58:0;;;;;;6271:283::o;3491:227::-;-1:-1:-1;;;;;3621:16:0;3554:6;3621:16;;;;;;;;;;3656:10;-1:-1:-1;;;;;3656:10:0;;;;-1:-1:-1;;;3668:15:0;;;;;-1:-1:-1;;;3685:14:0;;;;;-1:-1:-1;;;3701:8:0;;;;;3491:227::o;4723:588::-;4796:10;;-1:-1:-1;;;;;4796:10:0;:14;4792:512;;4877:14;;4843:15;;-1:-1:-1;;;4877:14:0;;-1:-1:-1;;;;;4877:14:0;:18;;;;:54;;-1:-1:-1;4899:14:0;;4916:15;-1:-1:-1;;;4899:14:0;;;-1:-1:-1;;;;;4899:14:0;:32;4877:54;4873:117;;;-1:-1:-1;4960:14:0;;-1:-1:-1;;;4960:14:0;;-1:-1:-1;;;;;4960:14:0;4873:117;5016:8;;-1:-1:-1;;;5016:8:0;;-1:-1:-1;;;;;5016:8:0;5008:16;;5004:289;;;5102:8;;5139:14;;;:23;;-1:-1:-1;;5139:23:0;;5113:5;-1:-1:-1;;;;;5079:10:0;;;-1:-1:-1;;;5102:8:0;;;;5094:16;;5071:40;5070:48;;;;-1:-1:-1;;;;;5139:23:0;;;;;;;;;;;;;;;5070:48;-1:-1:-1;;;5185:14:0;;;5181:97;;5229:20;;;:29;;-1:-1:-1;;;;;;;;5229:29:0;;;;;;;;;;;;;;;5181:97;5004:289;;4792:512;;4723:588;:::o
Swarm Source
ipfs://8ad9755d1ff791d9a74d701752dffeb3e5c8e8ec15a754a5cd7d90fc45c86744
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.235176 | 63,829,529.8098 | $15,011,173.5 |
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.