More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 87 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Send Multi Chain | 100425935 | 91 days ago | IN | 0 FTM | 0.00106506 | ||||
Send Multi Chain | 100425922 | 91 days ago | IN | 0 FTM | 0.00106529 | ||||
Send Multi Chain | 100425906 | 91 days ago | IN | 0 FTM | 0.00106549 | ||||
Send Multi Chain | 100385325 | 91 days ago | IN | 0 FTM | 0.00088248 | ||||
Send Multi Chain | 94008526 | 162 days ago | IN | 0 FTM | 0.00272795 | ||||
Send Multi Chain | 90178384 | 203 days ago | IN | 0 FTM | 0.00039752 | ||||
Send Multi Chain | 81108785 | 306 days ago | IN | 0 FTM | 0.00142313 | ||||
Send Multi Chain | 77381775 | 369 days ago | IN | 0 FTM | 0.00287052 | ||||
Send Multi Chain | 77289852 | 371 days ago | IN | 0 FTM | 0.00264102 | ||||
Send Multi Chain | 77289843 | 371 days ago | IN | 0 FTM | 0.00187312 | ||||
Send Multi Chain | 77289829 | 371 days ago | IN | 0 FTM | 0.00239848 | ||||
Send Multi Chain | 74158868 | 431 days ago | IN | 0 FTM | 0.00234597 | ||||
Send Multi Chain | 72924196 | 454 days ago | IN | 0 FTM | 0.0031417 | ||||
Send Multi Chain | 70561863 | 492 days ago | IN | 0 FTM | 0.00227471 | ||||
Send Multi Chain | 70525795 | 493 days ago | IN | 0 FTM | 0.00219967 | ||||
Send Multi Chain | 70525790 | 493 days ago | IN | 0 FTM | 0.00219926 | ||||
Send Multi Chain | 70525785 | 493 days ago | IN | 0 FTM | 0.00281436 | ||||
Send Multi Chain | 68979636 | 532 days ago | IN | 0 FTM | 0.00188617 | ||||
Send Multi Chain | 68930032 | 533 days ago | IN | 0 FTM | 0.00161641 | ||||
Send Multi Chain | 62685637 | 670 days ago | IN | 0 FTM | 0.00598089 | ||||
Send Multi Chain | 61877084 | 680 days ago | IN | 0 FTM | 0.0060372 | ||||
Send Multi Chain | 61876855 | 680 days ago | IN | 0 FTM | 0.00603366 | ||||
Send Multi Chain | 61876779 | 680 days ago | IN | 0 FTM | 0.00610586 | ||||
Send Multi Chain | 61865228 | 680 days ago | IN | 0 FTM | 0.01200071 | ||||
Send Multi Chain | 61722719 | 682 days ago | IN | 0 FTM | 0.0062928 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
52507721 | 822 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
SamuraiMultiChainSender
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at ftmscan.com on 2022-12-18 */ pragma solidity 0.8.13; // // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol) /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, 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); } // // OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol) /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) /** * @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; } } // // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) /** * @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. * * By default, the owner account will be the one that deploys the contract. 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; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _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); } } // contract SamuraiMultiChainSender is Ownable, ReentrancyGuard { IERC20 public xHnr; mapping(address => uint256) public swaps; event SwapSend( address destination, uint256 amount, uint256 timestamp, uint256 blocknum, string origin ); constructor(address _xHnr) { xHnr = IERC20(_xHnr); } function sendMultiChain( address destination, uint256 amount, uint256 originTimestamp, uint256 originBlock, string calldata origin ) external onlyOwner nonReentrant { swaps[destination] += amount; xHnr.transfer(destination, amount); emit SwapSend(destination, amount, originTimestamp, originBlock, origin); } function getSwapByAddress(address swapper) external view returns (uint256) { return swaps[swapper]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_xHnr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":false,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"blocknum","type":"uint256"},{"indexed":false,"internalType":"string","name":"origin","type":"string"}],"name":"SwapSend","type":"event"},{"inputs":[{"internalType":"address","name":"swapper","type":"address"}],"name":"getSwapByAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"originTimestamp","type":"uint256"},{"internalType":"uint256","name":"originBlock","type":"uint256"},{"internalType":"string","name":"origin","type":"string"}],"name":"sendMultiChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"swaps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"xHnr","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516106ba3803806106ba83398101604081905261002f916100b1565b61003833610061565b60018055600280546001600160a01b0319166001600160a01b03929092169190911790556100e1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100c357600080fd5b81516001600160a01b03811681146100da57600080fd5b9392505050565b6105ca806100f06000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146100f55780638da5cb5b146100fd57806397f36b311461010e578063f2fde38b1461013757600080fd5b80631688cf541461008257806341e481d5146100b55780636c9484bc146100ca575b600080fd5b6100a2610090366004610403565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100c86100c3366004610425565b61014a565b005b6002546100dd906001600160a01b031681565b6040516001600160a01b0390911681526020016100ac565b6100c86102c6565b6000546001600160a01b03166100dd565b6100a261011c366004610403565b6001600160a01b031660009081526003602052604090205490565b6100c8610145366004610403565b6102fc565b6000546001600160a01b0316331461017d5760405162461bcd60e51b8152600401610174906104c4565b60405180910390fd5b6002600154036101cf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610174565b60026001556001600160a01b038616600090815260036020526040812080548792906101fc9084906104f9565b909155505060025460405163a9059cbb60e01b81526001600160a01b038881166004830152602482018890529091169063a9059cbb906044016020604051808303816000875af1158015610254573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610278919061051f565b507f671b82a74da9659f63dcbafffbe119884dc3888b1ac5d553eb5abe92235c74918686868686866040516102b296959493929190610541565b60405180910390a150506001805550505050565b6000546001600160a01b031633146102f05760405162461bcd60e51b8152600401610174906104c4565b6102fa6000610397565b565b6000546001600160a01b031633146103265760405162461bcd60e51b8152600401610174906104c4565b6001600160a01b03811661038b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610174565b61039481610397565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146103fe57600080fd5b919050565b60006020828403121561041557600080fd5b61041e826103e7565b9392505050565b60008060008060008060a0878903121561043e57600080fd5b610447876103e7565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff8082111561047957600080fd5b818901915089601f83011261048d57600080fd5b81358181111561049c57600080fd5b8a60208285010111156104ae57600080fd5b6020830194508093505050509295509295509295565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561051a57634e487b7160e01b600052601160045260246000fd5b500190565b60006020828403121561053157600080fd5b8151801515811461041e57600080fd5b60018060a01b038716815285602082015284604082015283606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f191601019594505050505056fea2646970667358221220c85009fde4540fc42679708e064d1ddf3f7b9c1537592ac21c6eb41470dac4e264736f6c634300080d0033000000000000000000000000d5aa2a5acfc000c08e8dab3af830ed4f09120478
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146100f55780638da5cb5b146100fd57806397f36b311461010e578063f2fde38b1461013757600080fd5b80631688cf541461008257806341e481d5146100b55780636c9484bc146100ca575b600080fd5b6100a2610090366004610403565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100c86100c3366004610425565b61014a565b005b6002546100dd906001600160a01b031681565b6040516001600160a01b0390911681526020016100ac565b6100c86102c6565b6000546001600160a01b03166100dd565b6100a261011c366004610403565b6001600160a01b031660009081526003602052604090205490565b6100c8610145366004610403565b6102fc565b6000546001600160a01b0316331461017d5760405162461bcd60e51b8152600401610174906104c4565b60405180910390fd5b6002600154036101cf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610174565b60026001556001600160a01b038616600090815260036020526040812080548792906101fc9084906104f9565b909155505060025460405163a9059cbb60e01b81526001600160a01b038881166004830152602482018890529091169063a9059cbb906044016020604051808303816000875af1158015610254573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610278919061051f565b507f671b82a74da9659f63dcbafffbe119884dc3888b1ac5d553eb5abe92235c74918686868686866040516102b296959493929190610541565b60405180910390a150506001805550505050565b6000546001600160a01b031633146102f05760405162461bcd60e51b8152600401610174906104c4565b6102fa6000610397565b565b6000546001600160a01b031633146103265760405162461bcd60e51b8152600401610174906104c4565b6001600160a01b03811661038b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610174565b61039481610397565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146103fe57600080fd5b919050565b60006020828403121561041557600080fd5b61041e826103e7565b9392505050565b60008060008060008060a0878903121561043e57600080fd5b610447876103e7565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff8082111561047957600080fd5b818901915089601f83011261048d57600080fd5b81358181111561049c57600080fd5b8a60208285010111156104ae57600080fd5b6020830194508093505050509295509295509295565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561051a57634e487b7160e01b600052601160045260246000fd5b500190565b60006020828403121561053157600080fd5b8151801515811461041e57600080fd5b60018060a01b038716815285602082015284604082015283606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f191601019594505050505056fea2646970667358221220c85009fde4540fc42679708e064d1ddf3f7b9c1537592ac21c6eb41470dac4e264736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d5aa2a5acfc000c08e8dab3af830ed4f09120478
-----Decoded View---------------
Arg [0] : _xHnr (address): 0xd5aa2a5AcFC000c08E8dab3Af830ed4f09120478
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d5aa2a5acfc000c08e8dab3af830ed4f09120478
Deployed Bytecode Sourcemap
8427:816:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8518:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;529:25:1;;;517:2;502:18;8518:40:0;;;;;;;;8769:356;;;;;;:::i;:::-;;:::i;:::-;;8493:18;;;;;-1:-1:-1;;;;;8493:18:0;;;;;;-1:-1:-1;;;;;1619:32:1;;;1601:51;;1589:2;1574:18;8493::0;1442:216:1;7656:97:0;;;:::i;7045:81::-;7091:7;7114:6;-1:-1:-1;;;;;7114:6:0;7045:81;;9131:109;;;;;;:::i;:::-;-1:-1:-1;;;;;9220:14:0;9197:7;9220:14;;;:5;:14;;;;;;;9131:109;7898:191;;;;;;:::i;:::-;;:::i;8769:356::-;7091:7;7114:6;-1:-1:-1;;;;;7114:6:0;5954:10;7247:23;7239:68;;;;-1:-1:-1;;;7239:68:0;;;;;;;:::i;:::-;;;;;;;;;4395:1:::1;4959:7;;:19:::0;4951:63:::1;;;::::0;-1:-1:-1;;;4951:63:0;;2434:2:1;4951:63:0::1;::::0;::::1;2416:21:1::0;2473:2;2453:18;;;2446:30;2512:33;2492:18;;;2485:61;2563:18;;4951:63:0::1;2232:355:1::0;4951:63:0::1;4395:1;5084:7;:18:::0;-1:-1:-1;;;;;8969:18:0;::::2;;::::0;;;:5:::2;:18;::::0;;;;:28;;8991:6;;8969:18;:28:::2;::::0;8991:6;;8969:28:::2;:::i;:::-;::::0;;;-1:-1:-1;;9004:4:0::2;::::0;:34:::2;::::0;-1:-1:-1;;;9004:34:0;;-1:-1:-1;;;;;3014:32:1;;;9004:34:0::2;::::0;::::2;2996:51:1::0;3063:18;;;3056:34;;;9004:4:0;;::::2;::::0;:13:::2;::::0;2969:18:1;;9004:34:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9052:67;9061:11;9074:6;9082:15;9099:11;9112:6;;9052:67;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;4353:1:0::1;5247:22:::0;;-1:-1:-1;;;;8769:356:0:o;7656:97::-;7091:7;7114:6;-1:-1:-1;;;;;7114:6:0;5954:10;7247:23;7239:68;;;;-1:-1:-1;;;7239:68:0;;;;;;;:::i;:::-;7717:30:::1;7744:1;7717:18;:30::i;:::-;7656:97::o:0;7898:191::-;7091:7;7114:6;-1:-1:-1;;;;;7114:6:0;5954:10;7247:23;7239:68;;;;-1:-1:-1;;;7239:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7983:22:0;::::1;7975:73;;;::::0;-1:-1:-1;;;7975:73:0;;4296:2:1;7975:73:0::1;::::0;::::1;4278:21:1::0;4335:2;4315:18;;;4308:30;4374:34;4354:18;;;4347:62;-1:-1:-1;;;4425:18:1;;;4418:36;4471:19;;7975:73:0::1;4094:402:1::0;7975:73:0::1;8055:28;8074:8;8055:18;:28::i;:::-;7898:191:::0;:::o;8239:177::-;8309:16;8328:6;;-1:-1:-1;;;;;8341:17:0;;;-1:-1:-1;;;;;;8341:17:0;;;;;;8370:40;;8328:6;;;;;;;8370:40;;8309:16;8370:40;8302:114;8239:177;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;565:872::-;672:6;680;688;696;704;712;765:3;753:9;744:7;740:23;736:33;733:53;;;782:1;779;772:12;733:53;805:29;824:9;805:29;:::i;:::-;795:39;;881:2;870:9;866:18;853:32;843:42;;932:2;921:9;917:18;904:32;894:42;;983:2;972:9;968:18;955:32;945:42;;1038:3;1027:9;1023:19;1010:33;1062:18;1103:2;1095:6;1092:14;1089:34;;;1119:1;1116;1109:12;1089:34;1157:6;1146:9;1142:22;1132:32;;1202:7;1195:4;1191:2;1187:13;1183:27;1173:55;;1224:1;1221;1214:12;1173:55;1264:2;1251:16;1290:2;1282:6;1279:14;1276:34;;;1306:1;1303;1296:12;1276:34;1351:7;1346:2;1337:6;1333:2;1329:15;1325:24;1322:37;1319:57;;;1372:1;1369;1362:12;1319:57;1403:2;1399;1395:11;1385:21;;1425:6;1415:16;;;;;565:872;;;;;;;;:::o;1871:356::-;2073:2;2055:21;;;2092:18;;;2085:30;2151:34;2146:2;2131:18;;2124:62;2218:2;2203:18;;1871:356::o;2592:225::-;2632:3;2663:1;2659:6;2656:1;2653:13;2650:136;;;2708:10;2703:3;2699:20;2696:1;2689:31;2743:4;2740:1;2733:15;2771:4;2768:1;2761:15;2650:136;-1:-1:-1;2802:9:1;;2592:225::o;3101:277::-;3168:6;3221:2;3209:9;3200:7;3196:23;3192:32;3189:52;;;3237:1;3234;3227:12;3189:52;3269:9;3263:16;3322:5;3315:13;3308:21;3301:5;3298:32;3288:60;;3344:1;3341;3334:12;3383:706;3683:1;3679;3674:3;3670:11;3666:19;3658:6;3654:32;3643:9;3636:51;3723:6;3718:2;3707:9;3703:18;3696:34;3766:6;3761:2;3750:9;3746:18;3739:34;3809:6;3804:2;3793:9;3789:18;3782:34;3853:3;3847;3836:9;3832:19;3825:32;3894:6;3888:3;3877:9;3873:19;3866:35;3952:6;3944;3938:3;3927:9;3923:19;3910:49;4009:1;3979:22;;;4003:3;3975:32;;;3968:43;;;;4072:2;4051:15;;;-1:-1:-1;;4047:29:1;4032:45;4028:55;;3383:706;-1:-1:-1;;;;;3383:706:1:o
Swarm Source
ipfs://c85009fde4540fc42679708e064d1ddf3f7b9c1537592ac21c6eb41470dac4e2
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 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.