Overview
ETH Balance
ETH Value
$0.00Latest 25 from a total of 7,234 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deposit | 84256743 | 33 days ago | IN | 0.01568 ETH | 0.0000641 | ||||
| Deposit | 84253752 | 33 days ago | IN | 0.009942 ETH | 0.00002299 | ||||
| Deposit | 84253113 | 33 days ago | IN | 0.00762 ETH | 0.00002138 | ||||
| Deposit | 84251667 | 34 days ago | IN | 0.00255 ETH | 0.00002413 | ||||
| Deposit | 84249126 | 34 days ago | IN | 0.0014 ETH | 0.00000387 | ||||
| Deposit | 84248579 | 34 days ago | IN | 0.01965 ETH | 0.00000388 | ||||
| Deposit | 84246662 | 35 days ago | IN | 0.00638 ETH | 0.00000375 | ||||
| Deposit | 84244795 | 35 days ago | IN | 0.00665 ETH | 0.00000502 | ||||
| Deposit | 84244745 | 35 days ago | IN | 0.00665 ETH | 0.00000492 | ||||
| Deposit | 84244723 | 35 days ago | IN | 0.00995 ETH | 0.00000498 | ||||
| Deposit | 84243762 | 36 days ago | IN | 0.00165 ETH | 0.00000569 | ||||
| Deposit | 84240551 | 37 days ago | IN | 0.0145 ETH | 0.0000093 | ||||
| Deposit | 84240188 | 37 days ago | IN | 0.01046 ETH | 0.00000937 | ||||
| Deposit | 84239654 | 37 days ago | IN | 0.0135 ETH | 0.00000849 | ||||
| Deposit | 84237431 | 37 days ago | IN | 0.00265 ETH | 0.00001169 | ||||
| Deposit | 84235378 | 38 days ago | IN | 0.0158 ETH | 0.00001062 | ||||
| Deposit | 84235152 | 38 days ago | IN | 0.02206 ETH | 0.00000981 | ||||
| Deposit | 84234438 | 38 days ago | IN | 0.002262 ETH | 0.00000717 | ||||
| Deposit | 84233924 | 38 days ago | IN | 0.00175 ETH | 0.00000754 | ||||
| Deposit | 84229607 | 39 days ago | IN | 0.04842 ETH | 0.00000603 | ||||
| Deposit | 84228931 | 39 days ago | IN | 0.00345 ETH | 0.00000645 | ||||
| Deposit | 84228713 | 39 days ago | IN | 0.00088 ETH | 0.00000675 | ||||
| Deposit | 84228360 | 39 days ago | IN | 0.00235 ETH | 0.00000731 | ||||
| Deposit | 84228355 | 39 days ago | IN | 0.00295 ETH | 0.00000689 | ||||
| Deposit | 84228345 | 39 days ago | IN | 0.00345 ETH | 0.00000721 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 84256743 | 33 days ago | 0.01568 ETH | ||||
| 84253752 | 33 days ago | 0.009942 ETH | ||||
| 84253113 | 33 days ago | 0.00762 ETH | ||||
| 84251667 | 34 days ago | 0.00255 ETH | ||||
| 84249126 | 34 days ago | 0.0014 ETH | ||||
| 84248579 | 34 days ago | 0.01965 ETH | ||||
| 84246662 | 35 days ago | 0.00638 ETH | ||||
| 84244795 | 35 days ago | 0.00665 ETH | ||||
| 84244745 | 35 days ago | 0.00665 ETH | ||||
| 84244723 | 35 days ago | 0.00995 ETH | ||||
| 84243762 | 36 days ago | 0.00165 ETH | ||||
| 84240551 | 37 days ago | 0.0145 ETH | ||||
| 84240188 | 37 days ago | 0.01046 ETH | ||||
| 84239654 | 37 days ago | 0.0135 ETH | ||||
| 84237431 | 37 days ago | 0.00265 ETH | ||||
| 84235378 | 38 days ago | 0.0158 ETH | ||||
| 84235152 | 38 days ago | 0.02206 ETH | ||||
| 84234438 | 38 days ago | 0.002262 ETH | ||||
| 84233924 | 38 days ago | 0.00175 ETH | ||||
| 84229607 | 39 days ago | 0.04842 ETH | ||||
| 84228931 | 39 days ago | 0.00345 ETH | ||||
| 84228713 | 39 days ago | 0.00088 ETH | ||||
| 84228360 | 39 days ago | 0.00235 ETH | ||||
| 84228355 | 39 days ago | 0.00295 ETH | ||||
| 84228345 | 39 days ago | 0.00345 ETH |
Cross-Chain Transactions
Contract Source Code (Solidity)
/**
*Submitted for verification at Nova.Arbiscan.io on 2024-04-19
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
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);
function mint(address account, uint amount) external;
/**
* @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);
}
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContractt(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
// solhint-disable-next-line no-inline-assembly
assembly { size := extcodesize(account) }
return size > 0;
}
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
* `recipient`, forwarding all available gas and reverting on errors.
*
* https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
* of certain opcodes, possibly making contracts go over the 2300 gas limit
* imposed by `transfer`, making them unable to receive funds via
* `transfer`. {sendValue} removes this limitation.
*
* https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
*
* IMPORTANT: because control is transferred to `recipient`, care must be
* taken to not create reentrancy vulnerabilities. Consider using
* {ReentrancyGuard} or the
* https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*
* _Available since v2.4.0._
*/
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
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;
}
}
library SafeERC20 {
using Address for address;
using SafeMath for uint256;
bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));
function safeTransfer(IERC20 token, address to, uint256 value) internal {
(bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(SELECTOR, to, value));
require(success && (data.length == 0 || abi.decode(data, (bool))), 'SafeERC20: TRANSFER_FAILED');
}
// function safeTransfer(IERC20 token, address to, uint256 value) internal {
// callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
// }
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
function safeApprove(IERC20 token, address spender, uint256 value) internal {
// safeApprove should only be called when setting an initial allowance,
// or when resetting it to zero. To increase and decrease it, use
// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
// solhint-disable-next-line max-line-length
require((value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).add(value);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
/**
* @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
* on the return value: the return value is optional (but if data is returned, it must not be false).
* @param token The token targeted by the call.
* @param data The call data (encoded using abi.encode or one of its variants).
*/
function callOptionalReturn(IERC20 token, bytes memory data) private {
// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
// we're implementing it ourselves.
// A Solidity high level call has three parts:
// 1. The target address is checked to verify it contains contract code
// 2. The call itself is made, and success asserted
// 3. The return value is decoded, which in turn checks the size of the returned data.
// solhint-disable-next-line max-line-length
require(address(token).isContractt(), "SafeERC20: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = address(token).call(data);
require(success, "SafeERC20: low-level call failed");
if (returndata.length > 0) { // Return data is optional
// solhint-disable-next-line max-line-length
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
}
contract Depositor {
using SafeERC20 for IERC20;
error NotOwnerError();
error LengthError();
error ZeroAddressError();
error AmountError();
error TargetError();
error CallError();
event Deposit(
address indexed user,
address indexed token,
address indexed maker,
string target,
uint amount,
uint destination,
uint channel,
uint timestamp
);
constructor() {
}
receive() external payable {
}
function isOwltoDepositor() public pure returns (bool) {
return true;
}
function deposit(
string memory target,
address token,
address maker,
uint amount,
uint destination,
uint channel
) external payable {
if (bytes(target).length == 0) {
revert TargetError();
}
if (token == address(0)) {
if (msg.value != amount) {
revert AmountError();
}
(bool ok,) = maker.call{value: amount}("");
if (!ok) {
revert CallError();
}
} else {
IERC20(token).safeTransferFrom(msg.sender, maker, amount);
}
emit Deposit(msg.sender, token, maker, target, amount, destination, channel, block.timestamp);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AmountError","type":"error"},{"inputs":[],"name":"CallError","type":"error"},{"inputs":[],"name":"LengthError","type":"error"},{"inputs":[],"name":"NotOwnerError","type":"error"},{"inputs":[],"name":"TargetError","type":"error"},{"inputs":[],"name":"ZeroAddressError","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"maker","type":"address"},{"indexed":false,"internalType":"string","name":"target","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destination","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"channel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Deposit","type":"event"},{"inputs":[{"internalType":"string","name":"target","type":"string"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"maker","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"destination","type":"uint256"},{"internalType":"uint256","name":"channel","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isOwltoDepositor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b506105a6806100206000396000f3fe60806040526004361061002d5760003560e01c8063c09bcfbb14610039578063fc1806381461005a57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50604080516001815290519081900360200190f35b61006d6100683660046103ca565b61006f565b005b85516000036100915760405163235381a360e11b815260040160405180910390fd5b6001600160a01b038516610139578234146100bf57604051634ff64a9f60e01b815260040160405180910390fd5b6000846001600160a01b03168460405160006040518083038185875af1925050503d806000811461010c576040519150601f19603f3d011682016040523d82523d6000602084013e610111565b606091505b505090508061013357604051630d93a8fd60e31b815260040160405180910390fd5b5061014e565b61014e6001600160a01b0386163386866101b3565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5a62eae4bbcf3c383f506c8fbc0ffb6b54738018ddd42a887d202d95e5f0124789878787426040516101a39594939291906104dc565b60405180910390a4505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261020d908590610213565b50505050565b6001600160a01b0382163b61026f5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064015b60405180910390fd5b600080836001600160a01b03168360405161028a919061052b565b6000604051808303816000865af19150503d80600081146102c7576040519150601f19603f3d011682016040523d82523d6000602084013e6102cc565b606091505b50915091508161031e5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646044820152606401610266565b80511561020d57808060200190518101906103399190610547565b61020d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610266565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b03811681146103c557600080fd5b919050565b60008060008060008060c087890312156103e357600080fd5b863567ffffffffffffffff808211156103fb57600080fd5b818901915089601f83011261040f57600080fd5b81358181111561042157610421610398565b604051601f8201601f19908116603f0116810190838211818310171561044957610449610398565b816040528281528c602084870101111561046257600080fd5b82602086016020830137600060208483010152809a505050505050610489602088016103ae565b9450610497604088016103ae565b9350606087013592506080870135915060a087013590509295509295509295565b60005b838110156104d35781810151838201526020016104bb565b50506000910152565b60a08152600086518060a08401526104fb8160c0850160208b016104b8565b60208301969096525060408101939093526060830191909152608082015260c0601f909201601f19160101919050565b6000825161053d8184602087016104b8565b9190910192915050565b60006020828403121561055957600080fd5b8151801515811461056957600080fd5b939250505056fea2646970667358221220cf51ff794ae9f98bf3da506dc3aa6e00705e4a93d6a60b2203b635da8b014cfe64736f6c63430008120033
Deployed Bytecode
0x60806040526004361061002d5760003560e01c8063c09bcfbb14610039578063fc1806381461005a57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50604080516001815290519081900360200190f35b61006d6100683660046103ca565b61006f565b005b85516000036100915760405163235381a360e11b815260040160405180910390fd5b6001600160a01b038516610139578234146100bf57604051634ff64a9f60e01b815260040160405180910390fd5b6000846001600160a01b03168460405160006040518083038185875af1925050503d806000811461010c576040519150601f19603f3d011682016040523d82523d6000602084013e610111565b606091505b505090508061013357604051630d93a8fd60e31b815260040160405180910390fd5b5061014e565b61014e6001600160a01b0386163386866101b3565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5a62eae4bbcf3c383f506c8fbc0ffb6b54738018ddd42a887d202d95e5f0124789878787426040516101a39594939291906104dc565b60405180910390a4505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261020d908590610213565b50505050565b6001600160a01b0382163b61026f5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064015b60405180910390fd5b600080836001600160a01b03168360405161028a919061052b565b6000604051808303816000865af19150503d80600081146102c7576040519150601f19603f3d011682016040523d82523d6000602084013e6102cc565b606091505b50915091508161031e5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646044820152606401610266565b80511561020d57808060200190518101906103399190610547565b61020d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610266565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b03811681146103c557600080fd5b919050565b60008060008060008060c087890312156103e357600080fd5b863567ffffffffffffffff808211156103fb57600080fd5b818901915089601f83011261040f57600080fd5b81358181111561042157610421610398565b604051601f8201601f19908116603f0116810190838211818310171561044957610449610398565b816040528281528c602084870101111561046257600080fd5b82602086016020830137600060208483010152809a505050505050610489602088016103ae565b9450610497604088016103ae565b9350606087013592506080870135915060a087013590509295509295509295565b60005b838110156104d35781810151838201526020016104bb565b50506000910152565b60a08152600086518060a08401526104fb8160c0850160208b016104b8565b60208301969096525060408101939093526060830191909152608082015260c0601f909201601f19160101919050565b6000825161053d8184602087016104b8565b9190910192915050565b60006020828403121561055957600080fd5b8151801515811461056957600080fd5b939250505056fea2646970667358221220cf51ff794ae9f98bf3da506dc3aa6e00705e4a93d6a60b2203b635da8b014cfe64736f6c63430008120033
Deployed Bytecode Sourcemap
8945:1412:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:87;;;;;;;;;;-1:-1:-1;9515:87:0;;;9588:4;154:41:1;;9515:87:0;;;;;;142:2:1;9515:87:0;;;9612:740;;;;;;:::i;:::-;;:::i;:::-;;;9827:6;9821:20;9845:1;9821:25;9817:76;;9868:13;;-1:-1:-1;;;9868:13:0;;;;;;;;;;;9817:76;-1:-1:-1;;;;;9907:19:0;;9903:334;;9958:6;9945:9;:19;9941:74;;9988:13;;-1:-1:-1;;;9988:13:0;;;;;;;;;;;9941:74;10028:7;10040:5;-1:-1:-1;;;;;10040:10:0;10058:6;10040:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10027:42;;;10087:2;10082:56;;10113:11;;-1:-1:-1;;;10113:11:0;;;;;;;;;;;10082:56;9928:221;9903:334;;;10168:57;-1:-1:-1;;;;;10168:30:0;;10199:10;10211:5;10218:6;10168:30;:57::i;:::-;10281:5;-1:-1:-1;;;;;10254:88:0;10274:5;-1:-1:-1;;;;;10254:88:0;10262:10;-1:-1:-1;;;;;10254:88:0;;10288:6;10296;10304:11;10317:7;10326:15;10254:88;;;;;;;;;;:::i;:::-;;;;;;;;9612:740;;;;;;:::o;6095:198::-;6218:68;;;-1:-1:-1;;;;;3225:15:1;;;6218:68:0;;;3207:34:1;3277:15;;3257:18;;;3250:43;3309:18;;;;3302:34;;;6218:68:0;;;;;;;;;;3142:18:1;;;;6218:68:0;;;;;;;;-1:-1:-1;;;;;6218:68:0;-1:-1:-1;;;6218:68:0;;;6192:95;;6211:5;;6192:18;:95::i;:::-;6095:198;;;;:::o;7885:1049::-;-1:-1:-1;;;;;8457:26:0;;3544:20;8449:72;;;;-1:-1:-1;;;8449:72:0;;3549:2:1;8449:72:0;;;3531:21:1;3588:2;3568:18;;;3561:30;3627:33;3607:18;;;3600:61;3678:18;;8449:72:0;;;;;;;;;8587:12;8601:23;8636:5;-1:-1:-1;;;;;8628:19:0;8648:4;8628:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8586:67;;;;8668:7;8660:52;;;;-1:-1:-1;;;8660:52:0;;4201:2:1;8660:52:0;;;4183:21:1;;;4220:18;;;4213:30;4279:34;4259:18;;;4252:62;4331:18;;8660:52:0;3999:356:1;8660:52:0;8725:17;;:21;8721:208;;8855:10;8844:30;;;;;;;;;;;;:::i;:::-;8836:85;;;;-1:-1:-1;;;8836:85:0;;4844:2:1;8836:85:0;;;4826:21:1;4883:2;4863:18;;;4856:30;4922:34;4902:18;;;4895:62;-1:-1:-1;;;4973:18:1;;;4966:40;5023:19;;8836:85:0;4642:406:1;206:127;267:10;262:3;258:20;255:1;248:31;298:4;295:1;288:15;322:4;319:1;312:15;338:173;406:20;;-1:-1:-1;;;;;455:31:1;;445:42;;435:70;;501:1;498;491:12;435:70;338:173;;;:::o;516:1287::-;630:6;638;646;654;662;670;723:3;711:9;702:7;698:23;694:33;691:53;;;740:1;737;730:12;691:53;780:9;767:23;809:18;850:2;842:6;839:14;836:34;;;866:1;863;856:12;836:34;904:6;893:9;889:22;879:32;;949:7;942:4;938:2;934:13;930:27;920:55;;971:1;968;961:12;920:55;1007:2;994:16;1029:2;1025;1022:10;1019:36;;;1035:18;;:::i;:::-;1110:2;1104:9;1078:2;1164:13;;-1:-1:-1;;1160:22:1;;;1184:2;1156:31;1152:40;1140:53;;;1208:18;;;1228:22;;;1205:46;1202:72;;;1254:18;;:::i;:::-;1294:10;1290:2;1283:22;1329:2;1321:6;1314:18;1371:7;1364:4;1359:2;1355;1351:11;1347:22;1344:35;1341:55;;;1392:1;1389;1382:12;1341:55;1452:2;1445:4;1441:2;1437:13;1430:4;1422:6;1418:17;1405:50;1499:1;1492:4;1487:2;1479:6;1475:15;1471:26;1464:37;1520:6;1510:16;;;;;;;1545:40;1579:4;1568:9;1564:20;1545:40;:::i;:::-;1535:50;;1604:38;1638:2;1627:9;1623:18;1604:38;:::i;:::-;1594:48;;1689:2;1678:9;1674:18;1661:32;1651:42;;1740:3;1729:9;1725:19;1712:33;1702:43;;1792:3;1781:9;1777:19;1764:33;1754:43;;516:1287;;;;;;;;:::o;2018:250::-;2103:1;2113:113;2127:6;2124:1;2121:13;2113:113;;;2203:11;;;2197:18;2184:11;;;2177:39;2149:2;2142:10;2113:113;;;-1:-1:-1;;2260:1:1;2242:16;;2235:27;2018:250::o;2273:689::-;2534:3;2523:9;2516:22;2497:4;2567:6;2561:13;2611:6;2605:3;2594:9;2590:19;2583:35;2627:82;2702:6;2696:3;2685:9;2681:19;2674:4;2666:6;2662:17;2627:82;:::i;:::-;2812:4;2797:20;;2790:36;;;;-1:-1:-1;2857:2:1;2842:18;;2835:34;;;;2900:2;2885:18;;2878:34;;;;2943:3;2928:19;;2921:35;2777:3;2770:2;2749:15;;;-1:-1:-1;;2745:29:1;2730:45;2726:55;;;-1:-1:-1;2273:689:1:o;3707:287::-;3836:3;3874:6;3868:13;3890:66;3949:6;3944:3;3937:4;3929:6;3925:17;3890:66;:::i;:::-;3972:16;;;;;3707:287;-1:-1:-1;;3707:287:1:o;4360:277::-;4427:6;4480:2;4468:9;4459:7;4455:23;4451:32;4448:52;;;4496:1;4493;4486:12;4448:52;4528:9;4522:16;4581:5;4574:13;4567:21;4560:5;4557:32;4547:60;;4603:1;4600;4593:12;4547:60;4626:5;4360:277;-1:-1:-1;;;4360:277:1:o
Swarm Source
ipfs://cf51ff794ae9f98bf3da506dc3aa6e00705e4a93d6a60b2203b635da8b014cfe
Multichain Portfolio | 34 Chains
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.