Latest 8 from a total of 8 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Lock | 23602348 | 113 days ago | IN | 0 ETH | 0.00009444 | ||||
| Lock | 21779297 | 368 days ago | IN | 0 ETH | 0.00013535 | ||||
| Lock | 20633503 | 528 days ago | IN | 0 ETH | 0.00012896 | ||||
| Lock | 20411029 | 559 days ago | IN | 0 ETH | 0.0002023 | ||||
| Lock | 17869153 | 915 days ago | IN | 0 ETH | 0.00179748 | ||||
| Lock | 16267399 | 1140 days ago | IN | 0 ETH | 0.00130261 | ||||
| Lock | 11891926 | 1814 days ago | IN | 0 ETH | 0.00861728 | ||||
| Init Owner | 11823088 | 1825 days ago | IN | 0 ETH | 0.0128558 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DODOMigrationBSC
Compiler Version
v0.6.9+commit.3e3065ac
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-02-09
*/
// File: contracts/intf/IERC20.sol
// This is a file copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.9;
pragma experimental ABIEncoderV2;
/**
* @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);
function decimals() external view returns (uint8);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
/**
* @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);
}
// File: contracts/lib/SafeMath.sol
/**
* @title SafeMath
* @author DODO Breeder
*
* @notice Math operations with safety checks that revert on error
*/
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "MUL_ERROR");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "DIVIDING_ERROR");
return a / b;
}
function divCeil(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 quotient = div(a, b);
uint256 remainder = a - quotient * b;
if (remainder > 0) {
return quotient + 1;
} else {
return quotient;
}
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SUB_ERROR");
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "ADD_ERROR");
return c;
}
function sqrt(uint256 x) internal pure returns (uint256 y) {
uint256 z = x / 2 + 1;
y = x;
while (z < y) {
y = z;
z = (x / z + z) / 2;
}
}
}
// File: contracts/lib/InitializableOwnable.sol
/**
* @title Ownable
* @author DODO Breeder
*
* @notice Ownership related functions
*/
contract InitializableOwnable {
address public _OWNER_;
address public _NEW_OWNER_;
bool internal _INITIALIZED_;
// ============ Events ============
event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
// ============ Modifiers ============
modifier notInitialized() {
require(!_INITIALIZED_, "DODO_INITIALIZED");
_;
}
modifier onlyOwner() {
require(msg.sender == _OWNER_, "NOT_OWNER");
_;
}
// ============ Functions ============
function initOwner(address newOwner) public notInitialized {
_INITIALIZED_ = true;
_OWNER_ = newOwner;
}
function transferOwnership(address newOwner) public onlyOwner {
emit OwnershipTransferPrepared(_OWNER_, newOwner);
_NEW_OWNER_ = newOwner;
}
function claimOwnership() public {
require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM");
emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);
_OWNER_ = _NEW_OWNER_;
_NEW_OWNER_ = address(0);
}
}
// File: contracts/intf/IDODOApprove.sol
interface IDODOApprove {
function claimTokens(address token,address who,address dest,uint256 amount) external;
function getDODOProxy() external view returns (address);
}
// File: contracts/SmartRoute/DODOApproveProxy.sol
interface IDODOApproveProxy {
function isAllowedProxy(address _proxy) external view returns (bool);
function claimTokens(address token,address who,address dest,uint256 amount) external;
}
/**
* @title DODOApproveProxy
* @author DODO Breeder
*
* @notice Allow different version dodoproxy to claim from DODOApprove
*/
contract DODOApproveProxy is InitializableOwnable {
// ============ Storage ============
uint256 private constant _TIMELOCK_DURATION_ = 3 days;
mapping (address => bool) public _IS_ALLOWED_PROXY_;
uint256 public _TIMELOCK_;
address public _PENDING_ADD_DODO_PROXY_;
address public immutable _DODO_APPROVE_;
// ============ Modifiers ============
modifier notLocked() {
require(
_TIMELOCK_ <= block.timestamp,
"SetProxy is timelocked"
);
_;
}
constructor(address dodoApporve) public {
_DODO_APPROVE_ = dodoApporve;
}
function init(address owner, address[] memory proxies) external {
initOwner(owner);
for(uint i = 0; i < proxies.length; i++)
_IS_ALLOWED_PROXY_[proxies[i]] = true;
}
function unlockAddProxy(address newDodoProxy) public onlyOwner {
_TIMELOCK_ = block.timestamp + _TIMELOCK_DURATION_;
_PENDING_ADD_DODO_PROXY_ = newDodoProxy;
}
function lockAddProxy() public onlyOwner {
_PENDING_ADD_DODO_PROXY_ = address(0);
_TIMELOCK_ = 0;
}
function addDODOProxy() external onlyOwner notLocked() {
_IS_ALLOWED_PROXY_[_PENDING_ADD_DODO_PROXY_] = true;
lockAddProxy();
}
function removeDODOProxy (address oldDodoProxy) public onlyOwner {
_IS_ALLOWED_PROXY_[oldDodoProxy] = false;
}
function claimTokens(
address token,
address who,
address dest,
uint256 amount
) external {
require(_IS_ALLOWED_PROXY_[msg.sender], "DODOApproveProxy:Access restricted");
IDODOApprove(_DODO_APPROVE_).claimTokens(
token,
who,
dest,
amount
);
}
function isAllowedProxy(address _proxy) external view returns (bool) {
return _IS_ALLOWED_PROXY_[_proxy];
}
}
// File: contracts/DODOToken/DODOMigrationBSC.sol
/**
* @title DODOMigration between Ethereum and BSC
* @author DODO Breeder
*/
contract DODOMigrationBSC is InitializableOwnable {
using SafeMath for uint256;
// ============ Storage ============
address public immutable _ETH_DODO_TOKEN_;
address public immutable _DODO_APPROVE_PROXY_;
mapping(address => uint256) public balances;
constructor(address ethDodoToken, address dodoApproveProxy) public {
_ETH_DODO_TOKEN_ = ethDodoToken;
_DODO_APPROVE_PROXY_ = dodoApproveProxy;
}
// ============ Events ============
event Lock(address indexed sender, address indexed mintToBscAccount, uint256 amount);
event Unlock(address indexed to, uint256 amount);
// ============ Functions ============
function lock(uint256 amount, address mintToBscAccount) external {
IDODOApproveProxy(_DODO_APPROVE_PROXY_).claimTokens(
_ETH_DODO_TOKEN_,
msg.sender,
address(this),
amount
);
balances[msg.sender] = balances[msg.sender].add(amount);
emit Lock(msg.sender, mintToBscAccount, amount);
}
function unlock(address unlockTo, uint256 amount) external onlyOwner {
require(balances[unlockTo] >= amount);
balances[unlockTo] = balances[unlockTo].sub(amount);
IERC20(_ETH_DODO_TOKEN_).transfer(unlockTo, amount);
emit Unlock(unlockTo, amount);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"ethDodoToken","type":"address"},{"internalType":"address","name":"dodoApproveProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"mintToBscAccount","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","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":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unlock","type":"event"},{"inputs":[],"name":"_DODO_APPROVE_PROXY_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ETH_DODO_TOKEN_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"initOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"mintToBscAccount","type":"address"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"unlockTo","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60c060405234801561001057600080fd5b5060405161090538038061090583398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c61082f6100d6600039806102a252806105335250806101ba52806102cf5280610451525061082f6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806366dfbfb41161006657806366dfbfb4146101065780637eee288d146101195780638456db151461012c578063eb99be1214610134578063f2fde38b1461013c5761009e565b80630d009297146100a357806312656e11146100b857806316048bc4146100d657806327e235e3146100de5780634e71e0c8146100fe575b600080fd5b6100b66100b1366004610647565b61014f565b005b6100c06101b8565b6040516100cd91906106df565b60405180910390f35b6100c06101dc565b6100f16100ec366004610647565b6101eb565b6040516100cd91906107f0565b6100b66101fd565b6100b66101143660046106b3565b61028b565b6100b6610127366004610669565b6103ac565b6100c0610522565b6100c0610531565b6100b661014a366004610647565b610555565b600154600160a01b900460ff16156101825760405162461bcd60e51b815260040161017990610780565b60405180910390fd5b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031681565b60026020526000908152604090205481565b6001546001600160a01b031633146102275760405162461bcd60e51b815260040161017990610736565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60405163052f523360e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630a5ea466906102fd907f0000000000000000000000000000000000000000000000000000000000000000903390309088906004016106f3565b600060405180830381600087803b15801561031757600080fd5b505af115801561032b573d6000803e3d6000fd5b505033600090815260026020526040902054610350925090508363ffffffff6105da16565b33600081815260026020526040908190209290925590516001600160a01b03831691907fec36c0364d931187a76cf66d7eee08fad0ec2e8b7458a8d8b26b36769d4d13f3906103a09086906107f0565b60405180910390a35050565b6000546001600160a01b031633146103d65760405162461bcd60e51b8152600401610179906107aa565b6001600160a01b0382166000908152600260205260409020548111156103fb57600080fd5b6001600160a01b038216600090815260026020526040902054610424908263ffffffff61060816565b6001600160a01b038084166000908152600260205260409081902092909255905163a9059cbb60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb9061048a908590859060040161071d565b602060405180830381600087803b1580156104a457600080fd5b505af11580156104b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dc9190610693565b50816001600160a01b03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f18260405161051691906107f0565b60405180910390a25050565b6001546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316331461057f5760405162461bcd60e51b8152600401610179906107aa565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000828201838110156105ff5760405162461bcd60e51b8152600401610179906107cd565b90505b92915050565b60008282111561062a5760405162461bcd60e51b81526004016101799061075d565b50900390565b80356001600160a01b038116811461060257600080fd5b600060208284031215610658578081fd5b6106628383610630565b9392505050565b6000806040838503121561067b578081fd5b6106858484610630565b946020939093013593505050565b6000602082840312156106a4578081fd5b815180151581146105ff578182fd5b600080604083850312156106c5578182fd5b823591506106d68460208501610630565b90509250929050565b6001600160a01b0391909116815260200190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b9081526020019056fea2646970667358221220b383fd346e631bd5edc496a0830ddf0c6c0c49be69bb648fe12d1e76e6a4c26664736f6c6343000609003300000000000000000000000043dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd000000000000000000000000335ac99bb3e51bdbf22025f092ebc1cf2c5cc619
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806366dfbfb41161006657806366dfbfb4146101065780637eee288d146101195780638456db151461012c578063eb99be1214610134578063f2fde38b1461013c5761009e565b80630d009297146100a357806312656e11146100b857806316048bc4146100d657806327e235e3146100de5780634e71e0c8146100fe575b600080fd5b6100b66100b1366004610647565b61014f565b005b6100c06101b8565b6040516100cd91906106df565b60405180910390f35b6100c06101dc565b6100f16100ec366004610647565b6101eb565b6040516100cd91906107f0565b6100b66101fd565b6100b66101143660046106b3565b61028b565b6100b6610127366004610669565b6103ac565b6100c0610522565b6100c0610531565b6100b661014a366004610647565b610555565b600154600160a01b900460ff16156101825760405162461bcd60e51b815260040161017990610780565b60405180910390fd5b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b7f00000000000000000000000043dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd81565b6000546001600160a01b031681565b60026020526000908152604090205481565b6001546001600160a01b031633146102275760405162461bcd60e51b815260040161017990610736565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60405163052f523360e11b81526001600160a01b037f000000000000000000000000335ac99bb3e51bdbf22025f092ebc1cf2c5cc6191690630a5ea466906102fd907f00000000000000000000000043dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd903390309088906004016106f3565b600060405180830381600087803b15801561031757600080fd5b505af115801561032b573d6000803e3d6000fd5b505033600090815260026020526040902054610350925090508363ffffffff6105da16565b33600081815260026020526040908190209290925590516001600160a01b03831691907fec36c0364d931187a76cf66d7eee08fad0ec2e8b7458a8d8b26b36769d4d13f3906103a09086906107f0565b60405180910390a35050565b6000546001600160a01b031633146103d65760405162461bcd60e51b8152600401610179906107aa565b6001600160a01b0382166000908152600260205260409020548111156103fb57600080fd5b6001600160a01b038216600090815260026020526040902054610424908263ffffffff61060816565b6001600160a01b038084166000908152600260205260409081902092909255905163a9059cbb60e01b81527f00000000000000000000000043dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd9091169063a9059cbb9061048a908590859060040161071d565b602060405180830381600087803b1580156104a457600080fd5b505af11580156104b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dc9190610693565b50816001600160a01b03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f18260405161051691906107f0565b60405180910390a25050565b6001546001600160a01b031681565b7f000000000000000000000000335ac99bb3e51bdbf22025f092ebc1cf2c5cc61981565b6000546001600160a01b0316331461057f5760405162461bcd60e51b8152600401610179906107aa565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000828201838110156105ff5760405162461bcd60e51b8152600401610179906107cd565b90505b92915050565b60008282111561062a5760405162461bcd60e51b81526004016101799061075d565b50900390565b80356001600160a01b038116811461060257600080fd5b600060208284031215610658578081fd5b6106628383610630565b9392505050565b6000806040838503121561067b578081fd5b6106858484610630565b946020939093013593505050565b6000602082840312156106a4578081fd5b815180151581146105ff578182fd5b600080604083850312156106c5578182fd5b823591506106d68460208501610630565b90509250929050565b6001600160a01b0391909116815260200190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b9081526020019056fea2646970667358221220b383fd346e631bd5edc496a0830ddf0c6c0c49be69bb648fe12d1e76e6a4c26664736f6c63430006090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000043dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd000000000000000000000000335ac99bb3e51bdbf22025f092ebc1cf2c5cc619
-----Decoded View---------------
Arg [0] : ethDodoToken (address): 0x43Dfc4159D86F3A37A5A4B3D4580b888ad7d4DDd
Arg [1] : dodoApproveProxy (address): 0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000043dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd
Arg [1] : 000000000000000000000000335ac99bb3e51bdbf22025f092ebc1cf2c5cc619
Deployed Bytecode Sourcemap
8202:1377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4920:127;;;;;;;;;:::i;:::-;;8338:41;;;:::i;:::-;;;;;;;;;;;;;;;;4287:22;;;:::i;8438:43::-;;;;;;;;;:::i;:::-;;;;;;;;5226:228;;;:::i;8902:375::-;;;;;;;;;:::i;9285:289::-;;;;;;;;;:::i;4316:26::-;;;:::i;8386:45::-;;;:::i;5055:163::-;;;;;;;;;:::i;4920:127::-;4709:13;;-1:-1:-1;;;4709:13:0;;;;4708:14;4700:43;;;;-1:-1:-1;;;4700:43:0;;;;;;;;;;;;;;;;;5006:4:::1;4990:20:::0;;-1:-1:-1;;;;4990:20:0::1;-1:-1:-1::0;;;4990:20:0::1;::::0;;;5021:18;;-1:-1:-1;;;;;5021:18:0;;::::1;-1:-1:-1::0;;;;;;5021:18:0;;::::1;::::0;;;::::1;::::0;;4920:127::o;8338:41::-;;;:::o;4287:22::-;;;-1:-1:-1;;;;;4287:22:0;;:::o;8438:43::-;;;;;;;;;;;;;:::o;5226:228::-;5292:11;;-1:-1:-1;;;;;5292:11:0;5278:10;:25;5270:51;;;;-1:-1:-1;;;5270:51:0;;;;;;;;;5367:11;;;5358:7;;5337:42;;-1:-1:-1;;;;;5367:11:0;;;;5358:7;;;;5337:42;;;5400:11;;;;5390:21;;-1:-1:-1;;;;;;5390:21:0;;;-1:-1:-1;;;;;5400:11:0;;5390:21;;;;5422:24;;;5226:228::o;8902:375::-;8978:167;;-1:-1:-1;;;8978:167:0;;-1:-1:-1;;;;;8996:20:0;8978:51;;;;:167;;9044:16;;9075:10;;9108:4;;9128:6;;8978:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9188:10:0;9179:20;;;;:8;:20;;;;;;:32;;-1:-1:-1;9179:20:0;-1:-1:-1;9204:6:0;9179:32;:24;:32;:::i;:::-;9165:10;9156:20;;;;:8;:20;;;;;;;:55;;;;9227:42;;-1:-1:-1;;;;;9227:42:0;;;9165:10;9227:42;;;;9262:6;;9227:42;;;;;;;;;;8902:375;;:::o;9285:289::-;4825:7;;-1:-1:-1;;;;;4825:7:0;4811:10;:21;4803:43;;;;-1:-1:-1;;;4803:43:0;;;;;;;;;-1:-1:-1;;;;;9373:18:0;::::1;;::::0;;;:8:::1;:18;::::0;;;;;:28;-1:-1:-1;9373:28:0::1;9365:37;;;::::0;::::1;;-1:-1:-1::0;;;;;9434:18:0;::::1;;::::0;;;:8:::1;:18;::::0;;;;;:30:::1;::::0;9457:6;9434:30:::1;:22;:30;:::i;:::-;-1:-1:-1::0;;;;;9413:18:0;;::::1;;::::0;;;:8:::1;:18;::::0;;;;;;:51;;;;9475;;-1:-1:-1;;;9475:51:0;;9482:16:::1;9475:33:::0;;::::1;::::0;::::1;::::0;:51:::1;::::0;9422:8;;9519:6;;9475:51:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9549:8;-1:-1:-1::0;;;;;9542:24:0::1;;9559:6;9542:24;;;;;;;;;;;;;;;9285:289:::0;;:::o;4316:26::-;;;-1:-1:-1;;;;;4316:26:0;;:::o;8386:45::-;;;:::o;5055:163::-;4825:7;;-1:-1:-1;;;;;4825:7:0;4811:10;:21;4803:43;;;;-1:-1:-1;;;4803:43:0;;;;;;;;;5159:7:::1;::::0;;5133:44:::1;::::0;-1:-1:-1;;;;;5133:44:0;;::::1;::::0;5159:7;::::1;::::0;5133:44:::1;::::0;::::1;5188:11;:22:::0;;-1:-1:-1;;;;;;5188:22:0::1;-1:-1:-1::0;;;;;5188:22:0;;;::::1;::::0;;;::::1;::::0;;5055:163::o;3720:161::-;3778:7;3810:5;;;3834:6;;;;3826:28;;;;-1:-1:-1;;;3826:28:0;;;;;;;;;3872:1;-1:-1:-1;3720:161:0;;;;;:::o;3575:137::-;3633:7;3666:1;3661;:6;;3653:28;;;;-1:-1:-1;;;3653:28:0;;;;;;;;;-1:-1:-1;3699:5:0;;;3575:137::o;5:130:-1:-;72:20;;-1:-1;;;;;7575:54;;8158:35;;8148:2;;8207:1;;8197:12;414:241;;518:2;506:9;497:7;493:23;489:32;486:2;;;-1:-1;;524:12;486:2;586:53;631:7;607:22;586:53;;;576:63;480:175;-1:-1;;;480:175;662:366;;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;851:53;896:7;872:22;851:53;;;841:63;941:2;980:22;;;;344:20;;-1:-1;;;745:283;1035:257;;1147:2;1135:9;1126:7;1122:23;1118:32;1115:2;;;-1:-1;;1153:12;1115:2;223:6;217:13;8304:5;7487:13;7480:21;8282:5;8279:32;8269:2;;-1:-1;;8315:12;1299:366;;;1420:2;1408:9;1399:7;1395:23;1391:32;1388:2;;;-1:-1;;1426:12;1388:2;1509:22;344:20;1478:63;;1596:53;1641:7;1578:2;1621:9;1617:22;1596:53;;;1586:63;;1382:283;;;;;;3659:222;-1:-1;;;;;7575:54;;;;1892:37;;3786:2;3771:18;;3757:124;3888:572;-1:-1;;;;;7575:54;;;1892:37;;7575:54;;;4280:2;4265:18;;1751:58;7575:54;;4363:2;4348:18;;1892:37;4446:2;4431:18;;3610:37;;;;4107:3;4092:19;;4078:382;4467:333;-1:-1;;;;;7575:54;;;;1892:37;;4786:2;4771:18;;3610:37;4622:2;4607:18;;4593:207;4807:416;5007:2;5021:47;;;2166:2;4992:18;;;7255:19;-1:-1;;;7295:14;;;2182:36;2237:12;;;4978:245;5230:416;5430:2;5444:47;;;2488:1;5415:18;;;7255:19;-1:-1;;;7295:14;;;2503:32;2554:12;;;5401:245;5653:416;5853:2;5867:47;;;2805:2;5838:18;;;7255:19;-1:-1;;;7295:14;;;2821:39;2879:12;;;5824:245;6076:416;6276:2;6290:47;;;3130:1;6261:18;;;7255:19;-1:-1;;;7295:14;;;3145:32;3196:12;;;6247:245;6499:416;6699:2;6713:47;;;3447:1;6684:18;;;7255:19;-1:-1;;;7295:14;;;3462:32;3513:12;;;6670:245;6922:222;3610:37;;;7049:2;7034:18;;7020:124
Swarm Source
ipfs://b383fd346e631bd5edc496a0830ddf0c6c0c49be69bb648fe12d1e76e6a4c266
Loading...
Loading
Loading...
Loading
Net Worth in USD
$834,314.88
Net Worth in ETH
398.04338
Token Allocations
DODO
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.014656 | 56,926,118 | $834,314.88 |
Loading...
Loading
Loading...
Loading
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.