Source Code
Latest 25 from a total of 3,590 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Deposit | 22529266 | 299 days ago | IN | 0 ETH | 0.00007265 | ||||
| Set Withdrawable | 20814346 | 539 days ago | IN | 0 ETH | 0.00140376 | ||||
| Set Withdrawable | 20814345 | 539 days ago | IN | 0 ETH | 0.00137811 | ||||
| Set Withdrawable | 20814244 | 539 days ago | IN | 0 ETH | 0.00147445 | ||||
| Withdraw Stuck T... | 20813913 | 539 days ago | IN | 0 ETH | 0.0020492 | ||||
| Withdraw Stuck T... | 20813909 | 539 days ago | IN | 0 ETH | 0.00182148 | ||||
| Withdraw Stuck T... | 20813905 | 539 days ago | IN | 0 ETH | 0.00271728 | ||||
| Withdraw Stuck T... | 20813903 | 539 days ago | IN | 0 ETH | 0.00244886 | ||||
| Withdraw Stuck T... | 20813900 | 539 days ago | IN | 0 ETH | 0.00268334 | ||||
| Set Withdrawable | 20813883 | 539 days ago | IN | 0 ETH | 0.00254229 | ||||
| Withdraw | 20813876 | 539 days ago | IN | 0 ETH | 0.00251916 | ||||
| Set Withdrawable | 20813874 | 539 days ago | IN | 0 ETH | 0.0024526 | ||||
| Deposit | 20813780 | 539 days ago | IN | 0 ETH | 0.00206294 | ||||
| Withdraw | 20813743 | 539 days ago | IN | 0 ETH | 0.00137318 | ||||
| Deposit | 20813583 | 539 days ago | IN | 0 ETH | 0.00159981 | ||||
| Deposit | 20813562 | 539 days ago | IN | 0 ETH | 0.00142313 | ||||
| Withdraw | 20813513 | 539 days ago | IN | 0 ETH | 0.00130894 | ||||
| Withdraw | 20813491 | 539 days ago | IN | 0 ETH | 0.00095132 | ||||
| Withdraw | 20813477 | 539 days ago | IN | 0 ETH | 0.00085615 | ||||
| Deposit | 20813455 | 539 days ago | IN | 0 ETH | 0.00121948 | ||||
| Set Withdrawable | 20813448 | 539 days ago | IN | 0 ETH | 0.00096703 | ||||
| Withdraw | 20813434 | 539 days ago | IN | 0 ETH | 0.00083718 | ||||
| Deposit | 20813122 | 539 days ago | IN | 0 ETH | 0.00121568 | ||||
| Withdraw | 20813073 | 539 days ago | IN | 0 ETH | 0.00090783 | ||||
| Set Withdrawable | 20813022 | 539 days ago | IN | 0 ETH | 0.00113037 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
QOM_BRIDGE
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-07-30
*/
// File: @openzeppelin/contracts/token/ERC20/IERC20.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @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);
/**
* @dev Returns the value of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the value of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves a `value` amount of 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 value) 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 a `value` amount of tokens 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 value) external returns (bool);
/**
* @dev Moves a `value` amount of tokens from `from` to `to` using the
* allowance mechanism. `value` 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 value) external returns (bool);
}
// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Permit.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
* need to send a transaction, and thus is not required to hold Ether at all.
*
* ==== Security Considerations
*
* There are two important considerations concerning the use of `permit`. The first is that a valid permit signature
* expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be
* considered as an intention to spend the allowance in any specific way. The second is that because permits have
* built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should
* take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be
* generally recommended is:
*
* ```solidity
* function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {
* try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}
* doThing(..., value);
* }
*
* function doThing(..., uint256 value) public {
* token.safeTransferFrom(msg.sender, address(this), value);
* ...
* }
* ```
*
* Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of
* `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also
* {SafeERC20-safeTransferFrom}).
*
* Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so
* contracts should have entry points that don't rely on permit.
*/
interface IERC20Permit {
/**
* @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,
* given ``owner``'s signed approval.
*
* IMPORTANT: The same issues {IERC20-approve} has related to transaction
* ordering also apply here.
*
* Emits an {Approval} event.
*
* Requirements:
*
* - `spender` cannot be the zero address.
* - `deadline` must be a timestamp in the future.
* - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`
* over the EIP712-formatted function arguments.
* - the signature must use ``owner``'s current nonce (see {nonces}).
*
* For more information on the signature format, see the
* https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP
* section].
*
* CAUTION: See Security Considerations above.
*/
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
/**
* @dev Returns the current nonce for `owner`. This value must be
* included whenever a signature is generated for {permit}.
*
* Every successful call to {permit} increases ``owner``'s nonce by one. This
* prevents a signature from being used multiple times.
*/
function nonces(address owner) external view returns (uint256);
/**
* @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.
*/
// solhint-disable-next-line func-name-mixedcase
function DOMAIN_SEPARATOR() external view returns (bytes32);
}
// File: @openzeppelin/contracts/utils/Address.sol
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)
pragma solidity ^0.8.20;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev The ETH balance of the account is not enough to perform the operation.
*/
error AddressInsufficientBalance(address account);
/**
* @dev There's no code at `target` (it is not a contract).
*/
error AddressEmptyCode(address target);
/**
* @dev A call to an address target failed. The target may have reverted.
*/
error FailedInnerCall();
/**
* @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://consensys.net/diligence/blog/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.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*/
function sendValue(address payable recipient, uint256 amount) internal {
if (address(this).balance < amount) {
revert AddressInsufficientBalance(address(this));
}
(bool success, ) = recipient.call{value: amount}("");
if (!success) {
revert FailedInnerCall();
}
}
/**
* @dev Performs a Solidity function call using a low level `call`. A
* plain `call` is an unsafe replacement for a function call: use this
* function instead.
*
* If `target` reverts with a revert reason or custom error, it is bubbled
* up by this function (like regular Solidity function calls). However, if
* the call reverted with no returned reason, this function reverts with a
* {FailedInnerCall} error.
*
* Returns the raw returned data. To convert to the expected return value,
* use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
*
* Requirements:
*
* - `target` must be a contract.
* - calling `target` with `data` must not revert.
*/
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but also transferring `value` wei to `target`.
*
* Requirements:
*
* - the calling contract must have an ETH balance of at least `value`.
* - the called Solidity function must be `payable`.
*/
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
if (address(this).balance < value) {
revert AddressInsufficientBalance(address(this));
}
(bool success, bytes memory returndata) = target.call{value: value}(data);
return verifyCallResultFromTarget(target, success, returndata);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a static call.
*/
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
(bool success, bytes memory returndata) = target.staticcall(data);
return verifyCallResultFromTarget(target, success, returndata);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a delegate call.
*/
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
(bool success, bytes memory returndata) = target.delegatecall(data);
return verifyCallResultFromTarget(target, success, returndata);
}
/**
* @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target
* was not a contract or bubbling up the revert reason (falling back to {FailedInnerCall}) in case of an
* unsuccessful call.
*/
function verifyCallResultFromTarget(
address target,
bool success,
bytes memory returndata
) internal view returns (bytes memory) {
if (!success) {
_revert(returndata);
} else {
// only check if target is a contract if the call was successful and the return data is empty
// otherwise we already know that it was a contract
if (returndata.length == 0 && target.code.length == 0) {
revert AddressEmptyCode(target);
}
return returndata;
}
}
/**
* @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the
* revert reason or with a default {FailedInnerCall} error.
*/
function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {
if (!success) {
_revert(returndata);
} else {
return returndata;
}
}
/**
* @dev Reverts with returndata if present. Otherwise reverts with {FailedInnerCall}.
*/
function _revert(bytes memory returndata) private pure {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
/// @solidity memory-safe-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert FailedInnerCall();
}
}
}
// File: @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/utils/SafeERC20.sol)
pragma solidity ^0.8.20;
/**
* @title SafeERC20
* @dev Wrappers around ERC20 operations that throw on failure (when the token
* contract returns false). Tokens that return no value (and instead revert or
* throw on failure) are also supported, non-reverting calls are assumed to be
* successful.
* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20 {
using Address for address;
/**
* @dev An operation with an ERC20 token failed.
*/
error SafeERC20FailedOperation(address token);
/**
* @dev Indicates a failed `decreaseAllowance` request.
*/
error SafeERC20FailedDecreaseAllowance(address spender, uint256 currentAllowance, uint256 requestedDecrease);
/**
* @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,
* non-reverting calls are assumed to be successful.
*/
function safeTransfer(IERC20 token, address to, uint256 value) internal {
_callOptionalReturn(token, abi.encodeCall(token.transfer, (to, value)));
}
/**
* @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the
* calling contract. If `token` returns no value, non-reverting calls are assumed to be successful.
*/
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
_callOptionalReturn(token, abi.encodeCall(token.transferFrom, (from, to, value)));
}
/**
* @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,
* non-reverting calls are assumed to be successful.
*/
function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 oldAllowance = token.allowance(address(this), spender);
forceApprove(token, spender, oldAllowance + value);
}
/**
* @dev Decrease the calling contract's allowance toward `spender` by `requestedDecrease`. If `token` returns no
* value, non-reverting calls are assumed to be successful.
*/
function safeDecreaseAllowance(IERC20 token, address spender, uint256 requestedDecrease) internal {
unchecked {
uint256 currentAllowance = token.allowance(address(this), spender);
if (currentAllowance < requestedDecrease) {
revert SafeERC20FailedDecreaseAllowance(spender, currentAllowance, requestedDecrease);
}
forceApprove(token, spender, currentAllowance - requestedDecrease);
}
}
/**
* @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,
* non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval
* to be set to zero before setting it to a non-zero value, such as USDT.
*/
function forceApprove(IERC20 token, address spender, uint256 value) internal {
bytes memory approvalCall = abi.encodeCall(token.approve, (spender, value));
if (!_callOptionalReturnBool(token, approvalCall)) {
_callOptionalReturn(token, abi.encodeCall(token.approve, (spender, 0)));
_callOptionalReturn(token, approvalCall);
}
}
/**
* @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. We use {Address-functionCall} to perform this call, which verifies that
// the target address contains contract code and also asserts for success in the low-level call.
bytes memory returndata = address(token).functionCall(data);
if (returndata.length != 0 && !abi.decode(returndata, (bool))) {
revert SafeERC20FailedOperation(address(token));
}
}
/**
* @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).
*
* This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead.
*/
function _callOptionalReturnBool(IERC20 token, bytes memory data) private returns (bool) {
// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
// we're implementing it ourselves. We cannot use {Address-functionCall} here since this should return false
// and not revert is the subcall reverts.
(bool success, bytes memory returndata) = address(token).call(data);
return success && (returndata.length == 0 || abi.decode(returndata, (bool))) && address(token).code.length > 0;
}
}
// File: bridge.sol
pragma solidity ^0.8.21;
contract QOM_BRIDGE {
using SafeERC20 for IERC20;
mapping(address => bool) public isOwner;
mapping(address => mapping(address => uint256)) public deposits;
mapping(address => mapping(address => uint256)) public withdrawable;
mapping(address => bool) public supportedTokens;
mapping(address => uint256) public minimumTokenBridge;
address public deployer;
event OwnerAdded(address indexed owner);
event OwnerRemoved(address indexed owner);
event TokenSupported(address indexed token, uint256 minimumAmount);
event TokenUnsupported(address indexed token);
event DepositMade(address indexed token, address indexed user, uint256 amount);
event WithdrawableUpdated(address indexed token, address indexed user, uint256 amount);
event Withdrawn(address indexed token, address indexed user, uint256 amount);
modifier onlyOwner() {
require(isOwner[msg.sender], "Not an owner");
_;
}
constructor(address[] memory _tokens, uint256 _defaultMinimumTokenBridge, address[] memory _owners) {
for (uint256 i = 0; i < _tokens.length; i++) {
supportedTokens[_tokens[i]] = true;
minimumTokenBridge[_tokens[i]] = _defaultMinimumTokenBridge;
emit TokenSupported(_tokens[i], _defaultMinimumTokenBridge);
}
for (uint256 i = 0; i < _owners.length; i++) {
isOwner[_owners[i]] = true;
emit OwnerAdded(_owners[i]);
}
isOwner[msg.sender] = true;
deployer = msg.sender;
}
function addOwner(address _owner) external onlyOwner {
isOwner[_owner] = true;
emit OwnerAdded(_owner);
}
function removeOwner(address _owner) external onlyOwner {
require(_owner != deployer, "Cannot remove deployer");
isOwner[_owner] = false;
emit OwnerRemoved(_owner);
}
function supportToken(address _token, uint256 _minimumAmount) external onlyOwner {
supportedTokens[_token] = true;
minimumTokenBridge[_token] = _minimumAmount;
emit TokenSupported(_token, _minimumAmount);
}
function unsupportToken(address _token) external onlyOwner {
supportedTokens[_token] = false;
emit TokenUnsupported(_token);
}
function deposit(address _token, uint256 _amount) external {
require(supportedTokens[_token], "Token is not supported");
require(_amount > 0, "Deposit amount must be greater than zero");
require(_amount >= minimumTokenBridge[_token], "Deposit is below minimum");
IERC20(_token).safeTransferFrom(msg.sender, address(this), _amount);
deposits[_token][msg.sender] += _amount;
emit DepositMade(_token, msg.sender, _amount);
}
function setWithdrawable(address _token, address _user, uint256 _amount) external onlyOwner {
withdrawable[_token][_user] += _amount;
emit WithdrawableUpdated(_token, _user, _amount);
}
function updateWithdrawable(address _token, address _user, uint256 _amount) external onlyOwner {
withdrawable[_token][_user] = _amount;
emit WithdrawableUpdated(_token, _user, _amount);
}
function withdrawUnstuckFunds(address _token, uint256 _amount) external onlyOwner {
require(_amount > 0, "Withdraw amount must be greater than zero");
require(IERC20(_token).balanceOf(address(this)) >= _amount, "Insufficient contract balance");
IERC20(_token).safeTransfer(msg.sender, _amount);
emit Withdrawn(_token, msg.sender, _amount);
}
function withdraw(address _token, uint256 _amount) external {
require(withdrawable[_token][msg.sender] >= _amount, "Amount exceeds withdrawable balance");
withdrawable[_token][msg.sender] -= _amount;
IERC20(_token).safeTransfer(msg.sender, _amount);
emit Withdrawn(_token, msg.sender, _amount);
}
function withdrawStuckToken(address _token, address _to) external onlyOwner {
require(_token != address(0), "_token address cannot be 0");
uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
IERC20(_token).safeTransfer(_to, _contractBalance);
}
function withdrawStuckEth(address toAddr) external onlyOwner {
(bool success, ) = toAddr.call{ value: address(this).balance }("");
require(success, "ETH transfer failed");
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address[]","name":"_tokens","type":"address[]"},{"internalType":"uint256","name":"_defaultMinimumTokenBridge","type":"uint256"},{"internalType":"address[]","name":"_owners","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DepositMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"minimumAmount","type":"uint256"}],"name":"TokenSupported","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"TokenUnsupported","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawableUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"deposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minimumTokenBridge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setWithdrawable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_minimumAmount","type":"uint256"}],"name":"supportToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"supportedTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"unsupportToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateWithdrawable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toAddr","type":"address"}],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawUnstuckFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"withdrawable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561000f575f80fd5b5060405161279e38038061279e833981810160405281019061003191906104eb565b5f5b835181101561017c57600160035f86848151811061005457610053610573565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508260045f8684815181106100c2576100c1610573565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555083818151811061011a57610119610573565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167feffc3a262e1eabb1c005a685af9d452f7a72612365938681ba234aa79a15e7e88460405161016791906105af565b60405180910390a28080600101915050610033565b505f5b81518110156102605760015f8084848151811061019f5761019e610573565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081818151811061020957610208610573565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c360405160405180910390a2808060010191505061017f565b5060015f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506105c8565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61035882610312565b810181811067ffffffffffffffff8211171561037757610376610322565b5b80604052505050565b5f6103896102fd565b9050610395828261034f565b919050565b5f67ffffffffffffffff8211156103b4576103b3610322565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103f2826103c9565b9050919050565b610402816103e8565b811461040c575f80fd5b50565b5f8151905061041d816103f9565b92915050565b5f6104356104308461039a565b610380565b90508083825260208201905060208402830185811115610458576104576103c5565b5b835b81811015610481578061046d888261040f565b84526020840193505060208101905061045a565b5050509392505050565b5f82601f83011261049f5761049e61030e565b5b81516104af848260208601610423565b91505092915050565b5f819050919050565b6104ca816104b8565b81146104d4575f80fd5b50565b5f815190506104e5816104c1565b92915050565b5f805f6060848603121561050257610501610306565b5b5f84015167ffffffffffffffff81111561051f5761051e61030a565b5b61052b8682870161048b565b935050602061053c868287016104d7565b925050604084015167ffffffffffffffff81111561055d5761055c61030a565b5b6105698682870161048b565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6105a9816104b8565b82525050565b5f6020820190506105c25f8301846105a0565b92915050565b6121c9806105d55f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c80638f601f66116100a0578063c0314d271161006f578063c0314d27146102ad578063d5f39488146102dd578063d692f4c5146102fb578063ee3d686614610317578063f3fef3a31461033357610109565b80638f601f66146102295780639530d62114610259578063aa33baa814610275578063bc205ad31461029157610109565b806368c4ac26116100dc57806368c4ac26146101915780637065cb48146101c15780637ca8448a146101dd57806387313c34146101f957610109565b8063173825d91461010d5780632f54bf6e14610129578063305bba221461015957806347e7ef2414610175575b5f80fd5b61012760048036038101906101229190611932565b61034f565b005b610143600480360381019061013e9190611932565b6104ff565b6040516101509190611977565b60405180910390f35b610173600480360381019061016e91906119c3565b61051b565b005b61018f600480360381019061018a91906119c3565b610733565b005b6101ab60048036038101906101a69190611932565b6109a2565b6040516101b89190611977565b60405180910390f35b6101db60048036038101906101d69190611932565b6109bf565b005b6101f760048036038101906101f29190611932565b610ae1565b005b610213600480360381019061020e9190611932565b610c15565b6040516102209190611a10565b60405180910390f35b610243600480360381019061023e9190611a29565b610c2a565b6040516102509190611a10565b60405180910390f35b610273600480360381019061026e9190611a67565b610c4a565b005b61028f600480360381019061028a9190611a67565b610dca565b005b6102ab60048036038101906102a69190611a29565b610f39565b005b6102c760048036038101906102c29190611a29565b6110da565b6040516102d49190611a10565b60405180910390f35b6102e56110fa565b6040516102f29190611ac6565b60405180910390f35b610315600480360381019061031091906119c3565b61111f565b005b610331600480360381019061032c9190611932565b611290565b005b61034d600480360381019061034891906119c3565b6113b2565b005b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166103d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ce90611b39565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611ba1565b60405180910390fd5b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da60405160405180910390a250565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90611b39565b60405180910390fd5b5f81116105e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105dc90611c2f565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161061f9190611ac6565b602060405180830381865afa15801561063a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065e9190611c61565b101561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611cd6565b60405180910390fd5b6106ca33828473ffffffffffffffffffffffffffffffffffffffff1661158f9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb836040516107279190611a10565b60405180910390a35050565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166107bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b390611d3e565b60405180910390fd5b5f81116107fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f590611dcc565b60405180910390fd5b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205481101561087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087590611e34565b60405180910390fd5b6108ab3330838573ffffffffffffffffffffffffffffffffffffffff1661160e909392919063ffffffff16565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109329190611e7f565b925050819055503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f1de3ece35391f6bba650736f2d5d3f12e2cfc54538a340cc5d762d34ca449de7836040516109969190611a10565b60405180910390a35050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e90611b39565b60405180910390fd5b60015f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c360405160405180910390a250565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090611b39565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff1647604051610b8e90611edf565b5f6040518083038185875af1925050503d805f8114610bc8576040519150601f19603f3d011682016040523d82523d5f602084013e610bcd565b606091505b5050905080610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890611f3d565b60405180910390fd5b5050565b6004602052805f5260405f205f915090505481565b6001602052815f5260405f20602052805f5260405f205f91509150505481565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990611b39565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610d599190611e7f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f7d7c4514e157491c8594a70402a1fc79782424996c79e9837cdc57bba2f0267783604051610dbd9190611a10565b60405180910390a3505050565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4990611b39565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f7d7c4514e157491c8594a70402a1fc79782424996c79e9837cdc57bba2f0267783604051610f2c9190611a10565b60405180910390a3505050565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890611b39565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690611fa5565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110699190611ac6565b602060405180830381865afa158015611084573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a89190611c61565b90506110d582828573ffffffffffffffffffffffffffffffffffffffff1661158f9092919063ffffffff16565b505050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e90611b39565b60405180910390fd5b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff167feffc3a262e1eabb1c005a685af9d452f7a72612365938681ba234aa79a15e7e8826040516112849190611a10565b60405180910390a25050565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f90611b39565b60405180910390fd5b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff940d38196f30e7ff3eb255dd42db8d99a75c1ac112199d4fc314ce6460bfc0c60405160405180910390a250565b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561146d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146490612033565b60405180910390fd5b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114f49190612051565b9250508190555061152633828473ffffffffffffffffffffffffffffffffffffffff1661158f9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb836040516115839190611a10565b60405180910390a35050565b611609838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016115c2929190612084565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611690565b505050565b61168a848573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401611643939291906120ab565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611690565b50505050565b5f6116ba828473ffffffffffffffffffffffffffffffffffffffff1661172590919063ffffffff16565b90505f8151141580156116de5750808060200190518101906116dc919061210a565b155b1561172057826040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016117179190611ac6565b60405180910390fd5b505050565b606061173283835f61173a565b905092915050565b60608147101561178157306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016117789190611ac6565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff1684866040516117a9919061217d565b5f6040518083038185875af1925050503d805f81146117e3576040519150601f19603f3d011682016040523d82523d5f602084013e6117e8565b606091505b50915091506117f8868383611803565b925050509392505050565b6060826118185761181382611890565b611888565b5f825114801561183e57505f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561188057836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016118779190611ac6565b60405180910390fd5b819050611889565b5b9392505050565b5f815111156118a25780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611901826118d8565b9050919050565b611911816118f7565b811461191b575f80fd5b50565b5f8135905061192c81611908565b92915050565b5f60208284031215611947576119466118d4565b5b5f6119548482850161191e565b91505092915050565b5f8115159050919050565b6119718161195d565b82525050565b5f60208201905061198a5f830184611968565b92915050565b5f819050919050565b6119a281611990565b81146119ac575f80fd5b50565b5f813590506119bd81611999565b92915050565b5f80604083850312156119d9576119d86118d4565b5b5f6119e68582860161191e565b92505060206119f7858286016119af565b9150509250929050565b611a0a81611990565b82525050565b5f602082019050611a235f830184611a01565b92915050565b5f8060408385031215611a3f57611a3e6118d4565b5b5f611a4c8582860161191e565b9250506020611a5d8582860161191e565b9150509250929050565b5f805f60608486031215611a7e57611a7d6118d4565b5b5f611a8b8682870161191e565b9350506020611a9c8682870161191e565b9250506040611aad868287016119af565b9150509250925092565b611ac0816118f7565b82525050565b5f602082019050611ad95f830184611ab7565b92915050565b5f82825260208201905092915050565b7f4e6f7420616e206f776e657200000000000000000000000000000000000000005f82015250565b5f611b23600c83611adf565b9150611b2e82611aef565b602082019050919050565b5f6020820190508181035f830152611b5081611b17565b9050919050565b7f43616e6e6f742072656d6f7665206465706c6f796572000000000000000000005f82015250565b5f611b8b601683611adf565b9150611b9682611b57565b602082019050919050565b5f6020820190508181035f830152611bb881611b7f565b9050919050565b7f576974686472617720616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f611c19602983611adf565b9150611c2482611bbf565b604082019050919050565b5f6020820190508181035f830152611c4681611c0d565b9050919050565b5f81519050611c5b81611999565b92915050565b5f60208284031215611c7657611c756118d4565b5b5f611c8384828501611c4d565b91505092915050565b7f496e73756666696369656e7420636f6e74726163742062616c616e63650000005f82015250565b5f611cc0601d83611adf565b9150611ccb82611c8c565b602082019050919050565b5f6020820190508181035f830152611ced81611cb4565b9050919050565b7f546f6b656e206973206e6f7420737570706f72746564000000000000000000005f82015250565b5f611d28601683611adf565b9150611d3382611cf4565b602082019050919050565b5f6020820190508181035f830152611d5581611d1c565b9050919050565b7f4465706f73697420616d6f756e74206d757374206265206772656174657220745f8201527f68616e207a65726f000000000000000000000000000000000000000000000000602082015250565b5f611db6602883611adf565b9150611dc182611d5c565b604082019050919050565b5f6020820190508181035f830152611de381611daa565b9050919050565b7f4465706f7369742069732062656c6f77206d696e696d756d00000000000000005f82015250565b5f611e1e601883611adf565b9150611e2982611dea565b602082019050919050565b5f6020820190508181035f830152611e4b81611e12565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e8982611990565b9150611e9483611990565b9250828201905080821115611eac57611eab611e52565b5b92915050565b5f81905092915050565b50565b5f611eca5f83611eb2565b9150611ed582611ebc565b5f82019050919050565b5f611ee982611ebf565b9150819050919050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f611f27601383611adf565b9150611f3282611ef3565b602082019050919050565b5f6020820190508181035f830152611f5481611f1b565b9050919050565b7f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000005f82015250565b5f611f8f601a83611adf565b9150611f9a82611f5b565b602082019050919050565b5f6020820190508181035f830152611fbc81611f83565b9050919050565b7f416d6f756e74206578636565647320776974686472617761626c652062616c615f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f61201d602383611adf565b915061202882611fc3565b604082019050919050565b5f6020820190508181035f83015261204a81612011565b9050919050565b5f61205b82611990565b915061206683611990565b925082820390508181111561207e5761207d611e52565b5b92915050565b5f6040820190506120975f830185611ab7565b6120a46020830184611a01565b9392505050565b5f6060820190506120be5f830186611ab7565b6120cb6020830185611ab7565b6120d86040830184611a01565b949350505050565b6120e98161195d565b81146120f3575f80fd5b50565b5f81519050612104816120e0565b92915050565b5f6020828403121561211f5761211e6118d4565b5b5f61212c848285016120f6565b91505092915050565b5f81519050919050565b8281835e5f83830152505050565b5f61215782612135565b6121618185611eb2565b935061217181856020860161213f565b80840191505092915050565b5f612188828461214d565b91508190509291505056fea2646970667358221220b1a6518d58b48bdd17432f7e4ef6581bcd9a37d501f5e6dfc0d676a5e62db8a464736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000121836204bc2ce21e00000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b39cf0e19858b5fd3329a91f95a100409c69772a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cddebbad367956f2bf3e6c668085b4884669e717
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610109575f3560e01c80638f601f66116100a0578063c0314d271161006f578063c0314d27146102ad578063d5f39488146102dd578063d692f4c5146102fb578063ee3d686614610317578063f3fef3a31461033357610109565b80638f601f66146102295780639530d62114610259578063aa33baa814610275578063bc205ad31461029157610109565b806368c4ac26116100dc57806368c4ac26146101915780637065cb48146101c15780637ca8448a146101dd57806387313c34146101f957610109565b8063173825d91461010d5780632f54bf6e14610129578063305bba221461015957806347e7ef2414610175575b5f80fd5b61012760048036038101906101229190611932565b61034f565b005b610143600480360381019061013e9190611932565b6104ff565b6040516101509190611977565b60405180910390f35b610173600480360381019061016e91906119c3565b61051b565b005b61018f600480360381019061018a91906119c3565b610733565b005b6101ab60048036038101906101a69190611932565b6109a2565b6040516101b89190611977565b60405180910390f35b6101db60048036038101906101d69190611932565b6109bf565b005b6101f760048036038101906101f29190611932565b610ae1565b005b610213600480360381019061020e9190611932565b610c15565b6040516102209190611a10565b60405180910390f35b610243600480360381019061023e9190611a29565b610c2a565b6040516102509190611a10565b60405180910390f35b610273600480360381019061026e9190611a67565b610c4a565b005b61028f600480360381019061028a9190611a67565b610dca565b005b6102ab60048036038101906102a69190611a29565b610f39565b005b6102c760048036038101906102c29190611a29565b6110da565b6040516102d49190611a10565b60405180910390f35b6102e56110fa565b6040516102f29190611ac6565b60405180910390f35b610315600480360381019061031091906119c3565b61111f565b005b610331600480360381019061032c9190611932565b611290565b005b61034d600480360381019061034891906119c3565b6113b2565b005b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166103d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ce90611b39565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611ba1565b60405180910390fd5b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da60405160405180910390a250565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90611b39565b60405180910390fd5b5f81116105e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105dc90611c2f565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161061f9190611ac6565b602060405180830381865afa15801561063a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065e9190611c61565b101561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690611cd6565b60405180910390fd5b6106ca33828473ffffffffffffffffffffffffffffffffffffffff1661158f9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb836040516107279190611a10565b60405180910390a35050565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166107bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b390611d3e565b60405180910390fd5b5f81116107fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f590611dcc565b60405180910390fd5b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205481101561087e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087590611e34565b60405180910390fd5b6108ab3330838573ffffffffffffffffffffffffffffffffffffffff1661160e909392919063ffffffff16565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109329190611e7f565b925050819055503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f1de3ece35391f6bba650736f2d5d3f12e2cfc54538a340cc5d762d34ca449de7836040516109969190611a10565b60405180910390a35050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e90611b39565b60405180910390fd5b60015f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c360405160405180910390a250565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090611b39565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff1647604051610b8e90611edf565b5f6040518083038185875af1925050503d805f8114610bc8576040519150601f19603f3d011682016040523d82523d5f602084013e610bcd565b606091505b5050905080610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890611f3d565b60405180910390fd5b5050565b6004602052805f5260405f205f915090505481565b6001602052815f5260405f20602052805f5260405f205f91509150505481565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990611b39565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610d599190611e7f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f7d7c4514e157491c8594a70402a1fc79782424996c79e9837cdc57bba2f0267783604051610dbd9190611a10565b60405180910390a3505050565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4990611b39565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f7d7c4514e157491c8594a70402a1fc79782424996c79e9837cdc57bba2f0267783604051610f2c9190611a10565b60405180910390a3505050565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890611b39565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690611fa5565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110699190611ac6565b602060405180830381865afa158015611084573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a89190611c61565b90506110d582828573ffffffffffffffffffffffffffffffffffffffff1661158f9092919063ffffffff16565b505050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e90611b39565b60405180910390fd5b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff167feffc3a262e1eabb1c005a685af9d452f7a72612365938681ba234aa79a15e7e8826040516112849190611a10565b60405180910390a25050565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f90611b39565b60405180910390fd5b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ff940d38196f30e7ff3eb255dd42db8d99a75c1ac112199d4fc314ce6460bfc0c60405160405180910390a250565b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561146d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146490612033565b60405180910390fd5b8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114f49190612051565b9250508190555061152633828473ffffffffffffffffffffffffffffffffffffffff1661158f9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb836040516115839190611a10565b60405180910390a35050565b611609838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016115c2929190612084565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611690565b505050565b61168a848573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401611643939291906120ab565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611690565b50505050565b5f6116ba828473ffffffffffffffffffffffffffffffffffffffff1661172590919063ffffffff16565b90505f8151141580156116de5750808060200190518101906116dc919061210a565b155b1561172057826040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016117179190611ac6565b60405180910390fd5b505050565b606061173283835f61173a565b905092915050565b60608147101561178157306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016117789190611ac6565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff1684866040516117a9919061217d565b5f6040518083038185875af1925050503d805f81146117e3576040519150601f19603f3d011682016040523d82523d5f602084013e6117e8565b606091505b50915091506117f8868383611803565b925050509392505050565b6060826118185761181382611890565b611888565b5f825114801561183e57505f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561188057836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016118779190611ac6565b60405180910390fd5b819050611889565b5b9392505050565b5f815111156118a25780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611901826118d8565b9050919050565b611911816118f7565b811461191b575f80fd5b50565b5f8135905061192c81611908565b92915050565b5f60208284031215611947576119466118d4565b5b5f6119548482850161191e565b91505092915050565b5f8115159050919050565b6119718161195d565b82525050565b5f60208201905061198a5f830184611968565b92915050565b5f819050919050565b6119a281611990565b81146119ac575f80fd5b50565b5f813590506119bd81611999565b92915050565b5f80604083850312156119d9576119d86118d4565b5b5f6119e68582860161191e565b92505060206119f7858286016119af565b9150509250929050565b611a0a81611990565b82525050565b5f602082019050611a235f830184611a01565b92915050565b5f8060408385031215611a3f57611a3e6118d4565b5b5f611a4c8582860161191e565b9250506020611a5d8582860161191e565b9150509250929050565b5f805f60608486031215611a7e57611a7d6118d4565b5b5f611a8b8682870161191e565b9350506020611a9c8682870161191e565b9250506040611aad868287016119af565b9150509250925092565b611ac0816118f7565b82525050565b5f602082019050611ad95f830184611ab7565b92915050565b5f82825260208201905092915050565b7f4e6f7420616e206f776e657200000000000000000000000000000000000000005f82015250565b5f611b23600c83611adf565b9150611b2e82611aef565b602082019050919050565b5f6020820190508181035f830152611b5081611b17565b9050919050565b7f43616e6e6f742072656d6f7665206465706c6f796572000000000000000000005f82015250565b5f611b8b601683611adf565b9150611b9682611b57565b602082019050919050565b5f6020820190508181035f830152611bb881611b7f565b9050919050565b7f576974686472617720616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f611c19602983611adf565b9150611c2482611bbf565b604082019050919050565b5f6020820190508181035f830152611c4681611c0d565b9050919050565b5f81519050611c5b81611999565b92915050565b5f60208284031215611c7657611c756118d4565b5b5f611c8384828501611c4d565b91505092915050565b7f496e73756666696369656e7420636f6e74726163742062616c616e63650000005f82015250565b5f611cc0601d83611adf565b9150611ccb82611c8c565b602082019050919050565b5f6020820190508181035f830152611ced81611cb4565b9050919050565b7f546f6b656e206973206e6f7420737570706f72746564000000000000000000005f82015250565b5f611d28601683611adf565b9150611d3382611cf4565b602082019050919050565b5f6020820190508181035f830152611d5581611d1c565b9050919050565b7f4465706f73697420616d6f756e74206d757374206265206772656174657220745f8201527f68616e207a65726f000000000000000000000000000000000000000000000000602082015250565b5f611db6602883611adf565b9150611dc182611d5c565b604082019050919050565b5f6020820190508181035f830152611de381611daa565b9050919050565b7f4465706f7369742069732062656c6f77206d696e696d756d00000000000000005f82015250565b5f611e1e601883611adf565b9150611e2982611dea565b602082019050919050565b5f6020820190508181035f830152611e4b81611e12565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611e8982611990565b9150611e9483611990565b9250828201905080821115611eac57611eab611e52565b5b92915050565b5f81905092915050565b50565b5f611eca5f83611eb2565b9150611ed582611ebc565b5f82019050919050565b5f611ee982611ebf565b9150819050919050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f611f27601383611adf565b9150611f3282611ef3565b602082019050919050565b5f6020820190508181035f830152611f5481611f1b565b9050919050565b7f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000005f82015250565b5f611f8f601a83611adf565b9150611f9a82611f5b565b602082019050919050565b5f6020820190508181035f830152611fbc81611f83565b9050919050565b7f416d6f756e74206578636565647320776974686472617761626c652062616c615f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f61201d602383611adf565b915061202882611fc3565b604082019050919050565b5f6020820190508181035f83015261204a81612011565b9050919050565b5f61205b82611990565b915061206683611990565b925082820390508181111561207e5761207d611e52565b5b92915050565b5f6040820190506120975f830185611ab7565b6120a46020830184611a01565b9392505050565b5f6060820190506120be5f830186611ab7565b6120cb6020830185611ab7565b6120d86040830184611a01565b949350505050565b6120e98161195d565b81146120f3575f80fd5b50565b5f81519050612104816120e0565b92915050565b5f6020828403121561211f5761211e6118d4565b5b5f61212c848285016120f6565b91505092915050565b5f81519050919050565b8281835e5f83830152505050565b5f61215782612135565b6121618185611eb2565b935061217181856020860161213f565b80840191505092915050565b5f612188828461214d565b91508190509291505056fea2646970667358221220b1a6518d58b48bdd17432f7e4ef6581bcd9a37d501f5e6dfc0d676a5e62db8a464736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000121836204bc2ce21e00000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b39cf0e19858b5fd3329a91f95a100409c69772a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cddebbad367956f2bf3e6c668085b4884669e717
-----Decoded View---------------
Arg [0] : _tokens (address[]): 0xB39cf0E19858b5fD3329a91F95A100409c69772A
Arg [1] : _defaultMinimumTokenBridge (uint256): 350000000000000000000000000
Arg [2] : _owners (address[]): 0xcddeBBaD367956F2Bf3E6C668085B4884669e717
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000121836204bc2ce21e000000
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : 000000000000000000000000b39cf0e19858b5fd3329a91f95a100409c69772a
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [6] : 000000000000000000000000cddebbad367956f2bf3e6c668085b4884669e717
Deployed Bytecode Sourcemap
19108:4496:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20827:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19170:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22370:382;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21436:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19360:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20691:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23405:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19414:53;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19216:63;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21936:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22152:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23105:292;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19286:67;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19474:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21033:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21279:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22760:337;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20827:198;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;20912:8:::1;;;;;;;;;;;20902:18;;:6;:18;;::::0;20894:53:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20976:5;20958:7:::0;:15:::1;20966:6;20958:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;21010:6;20997:20;;;;;;;;;;;;20827:198:::0;:::o;19170:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;22370:382::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;22481:1:::1;22471:7;:11;22463:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;22590:7;22554:6;22547:24;;;22580:4;22547:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;;22539:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;22642:48;22670:10;22682:7;22649:6;22642:27;;;;:48;;;;;:::i;:::-;22724:10;22706:38;;22716:6;22706:38;;;22736:7;22706:38;;;;;;:::i;:::-;;;;;;;;22370:382:::0;;:::o;21436:492::-;21514:15;:23;21530:6;21514:23;;;;;;;;;;;;;;;;;;;;;;;;;21506:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;21593:1;21583:7;:11;21575:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;21669:18;:26;21688:6;21669:26;;;;;;;;;;;;;;;;21658:7;:37;;21650:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;21737:67;21769:10;21789:4;21796:7;21744:6;21737:31;;;;:67;;;;;;:::i;:::-;21857:7;21825:8;:16;21834:6;21825:16;;;;;;;;;;;;;;;:28;21842:10;21825:28;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;;;;;21900:10;21880:40;;21892:6;21880:40;;;21912:7;21880:40;;;;;;:::i;:::-;;;;;;;;21436:492;;:::o;19360:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;20691:128::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;20773:4:::1;20755:7;:15:::0;20763:6:::1;20755:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;20804:6;20793:18;;;;;;;;;;;;20691:128:::0;:::o;23405:196::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;23478:12:::1;23496:6;:11;;23516:21;23496:47;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23477:66;;;23562:7;23554:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;23466:135;23405:196:::0;:::o;19414:53::-;;;;;;;;;;;;;;;;;:::o;19216:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21936:208::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;22070:7:::1;22039:12;:20;22052:6;22039:20;;;;;;;;;;;;;;;:27;22060:5;22039:27;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;22121:5;22093:43;;22113:6;22093:43;;;22128:7;22093:43;;;;;;:::i;:::-;;;;;;;;21936:208:::0;;;:::o;22152:210::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;22288:7:::1;22258:12;:20;22271:6;22258:20;;;;;;;;;;;;;;;:27;22279:5;22258:27;;;;;;;;;;;;;;;:37;;;;22339:5;22311:43;;22331:6;22311:43;;;22346:7;22311:43;;;;;;:::i;:::-;;;;;;;;22152:210:::0;;;:::o;23105:292::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;23218:1:::1;23200:20;;:6;:20;;::::0;23192:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23262:24;23296:6;23289:24;;;23322:4;23289:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23262:66;;23339:50;23367:3;23372:16;23346:6;23339:27;;;;:50;;;;;:::i;:::-;23181:216;23105:292:::0;;:::o;19286:67::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19474:23::-;;;;;;;;;;;;;:::o;21033:238::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;21151:4:::1;21125:15;:23;21141:6;21125:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;21195:14;21166:18;:26;21185:6;21166:26;;;;;;;;;;;;;;;:43;;;;21240:6;21225:38;;;21248:14;21225:38;;;;;;:::i;:::-;;;;;;;;21033:238:::0;;:::o;21279:149::-;20028:7;:19;20036:10;20028:19;;;;;;;;;;;;;;;;;;;;;;;;;20020:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;21375:5:::1;21349:15;:23;21365:6;21349:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;21413:6;21396:24;;;;;;;;;;;;21279:149:::0;:::o;22760:337::-;22875:7;22839:12;:20;22852:6;22839:20;;;;;;;;;;;;;;;:32;22860:10;22839:32;;;;;;;;;;;;;;;;:43;;22831:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;22969:7;22933:12;:20;22946:6;22933:20;;;;;;;;;;;;;;;:32;22954:10;22933:32;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;22987:48;23015:10;23027:7;22994:6;22987:27;;;;:48;;;;;:::i;:::-;23069:10;23051:38;;23061:6;23051:38;;;23081:7;23051:38;;;;;;:::i;:::-;;;;;;;;22760:337;;:::o;14499:162::-;14582:71;14602:5;14624;:14;;;14641:2;14645:5;14609:43;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14582:19;:71::i;:::-;14499:162;;;:::o;14906:190::-;15007:81;15027:5;15049;:18;;;15070:4;15076:2;15080:5;15034:53;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15007:19;:81::i;:::-;14906:190;;;;:::o;17310:638::-;17734:23;17760:33;17788:4;17768:5;17760:27;;;;:33;;;;:::i;:::-;17734:59;;17829:1;17808:10;:17;:22;;:57;;;;;17846:10;17835:30;;;;;;;;;;;;:::i;:::-;17834:31;17808:57;17804:137;;;17922:5;17889:40;;;;;;;;;;;:::i;:::-;;;;;;;;17804:137;17380:568;17310:638;;:::o;9625:153::-;9700:12;9732:38;9754:6;9762:4;9768:1;9732:21;:38::i;:::-;9725:45;;9625:153;;;;:::o;10113:398::-;10212:12;10265:5;10241:21;:29;10237:110;;;10329:4;10294:41;;;;;;;;;;;:::i;:::-;;;;;;;;10237:110;10358:12;10372:23;10399:6;:11;;10418:5;10425:4;10399:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10357:73;;;;10448:55;10475:6;10483:7;10492:10;10448:26;:55::i;:::-;10441:62;;;;10113:398;;;;;:::o;11589:597::-;11737:12;11767:7;11762:417;;11791:19;11799:10;11791:7;:19::i;:::-;11762:417;;;12040:1;12019:10;:17;:22;:49;;;;;12067:1;12045:6;:18;;;:23;12019:49;12015:121;;;12113:6;12096:24;;;;;;;;;;;:::i;:::-;;;;;;;;12015:121;12157:10;12150:17;;;;11762:417;11589:597;;;;;;:::o;12739:528::-;12892:1;12872:10;:17;:21;12868:392;;;13104:10;13098:17;13161:15;13148:10;13144:2;13140:19;13133:44;12868:392;13231:17;;;;;;;;;;;;;;88:117:1;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:77::-;1640:7;1669:5;1658:16;;1603:77;;;:::o;1686:122::-;1759:24;1777:5;1759:24;:::i;:::-;1752:5;1749:35;1739:63;;1798:1;1795;1788:12;1739:63;1686:122;:::o;1814:139::-;1860:5;1898:6;1885:20;1876:29;;1914:33;1941:5;1914:33;:::i;:::-;1814:139;;;;:::o;1959:474::-;2027:6;2035;2084:2;2072:9;2063:7;2059:23;2055:32;2052:119;;;2090:79;;:::i;:::-;2052:119;2210:1;2235:53;2280:7;2271:6;2260:9;2256:22;2235:53;:::i;:::-;2225:63;;2181:117;2337:2;2363:53;2408:7;2399:6;2388:9;2384:22;2363:53;:::i;:::-;2353:63;;2308:118;1959:474;;;;;:::o;2439:118::-;2526:24;2544:5;2526:24;:::i;:::-;2521:3;2514:37;2439:118;;:::o;2563:222::-;2656:4;2694:2;2683:9;2679:18;2671:26;;2707:71;2775:1;2764:9;2760:17;2751:6;2707:71;:::i;:::-;2563:222;;;;:::o;2791:474::-;2859:6;2867;2916:2;2904:9;2895:7;2891:23;2887:32;2884:119;;;2922:79;;:::i;:::-;2884:119;3042:1;3067:53;3112:7;3103:6;3092:9;3088:22;3067:53;:::i;:::-;3057:63;;3013:117;3169:2;3195:53;3240:7;3231:6;3220:9;3216:22;3195:53;:::i;:::-;3185:63;;3140:118;2791:474;;;;;:::o;3271:619::-;3348:6;3356;3364;3413:2;3401:9;3392:7;3388:23;3384:32;3381:119;;;3419:79;;:::i;:::-;3381:119;3539:1;3564:53;3609:7;3600:6;3589:9;3585:22;3564:53;:::i;:::-;3554:63;;3510:117;3666:2;3692:53;3737:7;3728:6;3717:9;3713:22;3692:53;:::i;:::-;3682:63;;3637:118;3794:2;3820:53;3865:7;3856:6;3845:9;3841:22;3820:53;:::i;:::-;3810:63;;3765:118;3271:619;;;;;:::o;3896:118::-;3983:24;4001:5;3983:24;:::i;:::-;3978:3;3971:37;3896:118;;:::o;4020:222::-;4113:4;4151:2;4140:9;4136:18;4128:26;;4164:71;4232:1;4221:9;4217:17;4208:6;4164:71;:::i;:::-;4020:222;;;;:::o;4248:169::-;4332:11;4366:6;4361:3;4354:19;4406:4;4401:3;4397:14;4382:29;;4248:169;;;;:::o;4423:162::-;4563:14;4559:1;4551:6;4547:14;4540:38;4423:162;:::o;4591:366::-;4733:3;4754:67;4818:2;4813:3;4754:67;:::i;:::-;4747:74;;4830:93;4919:3;4830:93;:::i;:::-;4948:2;4943:3;4939:12;4932:19;;4591:366;;;:::o;4963:419::-;5129:4;5167:2;5156:9;5152:18;5144:26;;5216:9;5210:4;5206:20;5202:1;5191:9;5187:17;5180:47;5244:131;5370:4;5244:131;:::i;:::-;5236:139;;4963:419;;;:::o;5388:172::-;5528:24;5524:1;5516:6;5512:14;5505:48;5388:172;:::o;5566:366::-;5708:3;5729:67;5793:2;5788:3;5729:67;:::i;:::-;5722:74;;5805:93;5894:3;5805:93;:::i;:::-;5923:2;5918:3;5914:12;5907:19;;5566:366;;;:::o;5938:419::-;6104:4;6142:2;6131:9;6127:18;6119:26;;6191:9;6185:4;6181:20;6177:1;6166:9;6162:17;6155:47;6219:131;6345:4;6219:131;:::i;:::-;6211:139;;5938:419;;;:::o;6363:228::-;6503:34;6499:1;6491:6;6487:14;6480:58;6572:11;6567:2;6559:6;6555:15;6548:36;6363:228;:::o;6597:366::-;6739:3;6760:67;6824:2;6819:3;6760:67;:::i;:::-;6753:74;;6836:93;6925:3;6836:93;:::i;:::-;6954:2;6949:3;6945:12;6938:19;;6597:366;;;:::o;6969:419::-;7135:4;7173:2;7162:9;7158:18;7150:26;;7222:9;7216:4;7212:20;7208:1;7197:9;7193:17;7186:47;7250:131;7376:4;7250:131;:::i;:::-;7242:139;;6969:419;;;:::o;7394:143::-;7451:5;7482:6;7476:13;7467:22;;7498:33;7525:5;7498:33;:::i;:::-;7394:143;;;;:::o;7543:351::-;7613:6;7662:2;7650:9;7641:7;7637:23;7633:32;7630:119;;;7668:79;;:::i;:::-;7630:119;7788:1;7813:64;7869:7;7860:6;7849:9;7845:22;7813:64;:::i;:::-;7803:74;;7759:128;7543:351;;;;:::o;7900:179::-;8040:31;8036:1;8028:6;8024:14;8017:55;7900:179;:::o;8085:366::-;8227:3;8248:67;8312:2;8307:3;8248:67;:::i;:::-;8241:74;;8324:93;8413:3;8324:93;:::i;:::-;8442:2;8437:3;8433:12;8426:19;;8085:366;;;:::o;8457:419::-;8623:4;8661:2;8650:9;8646:18;8638:26;;8710:9;8704:4;8700:20;8696:1;8685:9;8681:17;8674:47;8738:131;8864:4;8738:131;:::i;:::-;8730:139;;8457:419;;;:::o;8882:172::-;9022:24;9018:1;9010:6;9006:14;8999:48;8882:172;:::o;9060:366::-;9202:3;9223:67;9287:2;9282:3;9223:67;:::i;:::-;9216:74;;9299:93;9388:3;9299:93;:::i;:::-;9417:2;9412:3;9408:12;9401:19;;9060:366;;;:::o;9432:419::-;9598:4;9636:2;9625:9;9621:18;9613:26;;9685:9;9679:4;9675:20;9671:1;9660:9;9656:17;9649:47;9713:131;9839:4;9713:131;:::i;:::-;9705:139;;9432:419;;;:::o;9857:227::-;9997:34;9993:1;9985:6;9981:14;9974:58;10066:10;10061:2;10053:6;10049:15;10042:35;9857:227;:::o;10090:366::-;10232:3;10253:67;10317:2;10312:3;10253:67;:::i;:::-;10246:74;;10329:93;10418:3;10329:93;:::i;:::-;10447:2;10442:3;10438:12;10431:19;;10090:366;;;:::o;10462:419::-;10628:4;10666:2;10655:9;10651:18;10643:26;;10715:9;10709:4;10705:20;10701:1;10690:9;10686:17;10679:47;10743:131;10869:4;10743:131;:::i;:::-;10735:139;;10462:419;;;:::o;10887:174::-;11027:26;11023:1;11015:6;11011:14;11004:50;10887:174;:::o;11067:366::-;11209:3;11230:67;11294:2;11289:3;11230:67;:::i;:::-;11223:74;;11306:93;11395:3;11306:93;:::i;:::-;11424:2;11419:3;11415:12;11408:19;;11067:366;;;:::o;11439:419::-;11605:4;11643:2;11632:9;11628:18;11620:26;;11692:9;11686:4;11682:20;11678:1;11667:9;11663:17;11656:47;11720:131;11846:4;11720:131;:::i;:::-;11712:139;;11439:419;;;:::o;11864:180::-;11912:77;11909:1;11902:88;12009:4;12006:1;11999:15;12033:4;12030:1;12023:15;12050:191;12090:3;12109:20;12127:1;12109:20;:::i;:::-;12104:25;;12143:20;12161:1;12143:20;:::i;:::-;12138:25;;12186:1;12183;12179:9;12172:16;;12207:3;12204:1;12201:10;12198:36;;;12214:18;;:::i;:::-;12198:36;12050:191;;;;:::o;12247:147::-;12348:11;12385:3;12370:18;;12247:147;;;;:::o;12400:114::-;;:::o;12520:398::-;12679:3;12700:83;12781:1;12776:3;12700:83;:::i;:::-;12693:90;;12792:93;12881:3;12792:93;:::i;:::-;12910:1;12905:3;12901:11;12894:18;;12520:398;;;:::o;12924:379::-;13108:3;13130:147;13273:3;13130:147;:::i;:::-;13123:154;;13294:3;13287:10;;12924:379;;;:::o;13309:169::-;13449:21;13445:1;13437:6;13433:14;13426:45;13309:169;:::o;13484:366::-;13626:3;13647:67;13711:2;13706:3;13647:67;:::i;:::-;13640:74;;13723:93;13812:3;13723:93;:::i;:::-;13841:2;13836:3;13832:12;13825:19;;13484:366;;;:::o;13856:419::-;14022:4;14060:2;14049:9;14045:18;14037:26;;14109:9;14103:4;14099:20;14095:1;14084:9;14080:17;14073:47;14137:131;14263:4;14137:131;:::i;:::-;14129:139;;13856:419;;;:::o;14281:176::-;14421:28;14417:1;14409:6;14405:14;14398:52;14281:176;:::o;14463:366::-;14605:3;14626:67;14690:2;14685:3;14626:67;:::i;:::-;14619:74;;14702:93;14791:3;14702:93;:::i;:::-;14820:2;14815:3;14811:12;14804:19;;14463:366;;;:::o;14835:419::-;15001:4;15039:2;15028:9;15024:18;15016:26;;15088:9;15082:4;15078:20;15074:1;15063:9;15059:17;15052:47;15116:131;15242:4;15116:131;:::i;:::-;15108:139;;14835:419;;;:::o;15260:222::-;15400:34;15396:1;15388:6;15384:14;15377:58;15469:5;15464:2;15456:6;15452:15;15445:30;15260:222;:::o;15488:366::-;15630:3;15651:67;15715:2;15710:3;15651:67;:::i;:::-;15644:74;;15727:93;15816:3;15727:93;:::i;:::-;15845:2;15840:3;15836:12;15829:19;;15488:366;;;:::o;15860:419::-;16026:4;16064:2;16053:9;16049:18;16041:26;;16113:9;16107:4;16103:20;16099:1;16088:9;16084:17;16077:47;16141:131;16267:4;16141:131;:::i;:::-;16133:139;;15860:419;;;:::o;16285:194::-;16325:4;16345:20;16363:1;16345:20;:::i;:::-;16340:25;;16379:20;16397:1;16379:20;:::i;:::-;16374:25;;16423:1;16420;16416:9;16408:17;;16447:1;16441:4;16438:11;16435:37;;;16452:18;;:::i;:::-;16435:37;16285:194;;;;:::o;16485:332::-;16606:4;16644:2;16633:9;16629:18;16621:26;;16657:71;16725:1;16714:9;16710:17;16701:6;16657:71;:::i;:::-;16738:72;16806:2;16795:9;16791:18;16782:6;16738:72;:::i;:::-;16485:332;;;;;:::o;16823:442::-;16972:4;17010:2;16999:9;16995:18;16987:26;;17023:71;17091:1;17080:9;17076:17;17067:6;17023:71;:::i;:::-;17104:72;17172:2;17161:9;17157:18;17148:6;17104:72;:::i;:::-;17186;17254:2;17243:9;17239:18;17230:6;17186:72;:::i;:::-;16823:442;;;;;;:::o;17271:116::-;17341:21;17356:5;17341:21;:::i;:::-;17334:5;17331:32;17321:60;;17377:1;17374;17367:12;17321:60;17271:116;:::o;17393:137::-;17447:5;17478:6;17472:13;17463:22;;17494:30;17518:5;17494:30;:::i;:::-;17393:137;;;;:::o;17536:345::-;17603:6;17652:2;17640:9;17631:7;17627:23;17623:32;17620:119;;;17658:79;;:::i;:::-;17620:119;17778:1;17803:61;17856:7;17847:6;17836:9;17832:22;17803:61;:::i;:::-;17793:71;;17749:125;17536:345;;;;:::o;17887:98::-;17938:6;17972:5;17966:12;17956:22;;17887:98;;;:::o;17991:139::-;18080:6;18075:3;18070;18064:23;18121:1;18112:6;18107:3;18103:16;18096:27;17991:139;;;:::o;18136:386::-;18240:3;18268:38;18300:5;18268:38;:::i;:::-;18322:88;18403:6;18398:3;18322:88;:::i;:::-;18315:95;;18419:65;18477:6;18472:3;18465:4;18458:5;18454:16;18419:65;:::i;:::-;18509:6;18504:3;18500:16;18493:23;;18244:278;18136:386;;;;:::o;18528:271::-;18658:3;18680:93;18769:3;18760:6;18680:93;:::i;:::-;18673:100;;18790:3;18783:10;;18528:271;;;;:::o
Swarm Source
ipfs://b1a6518d58b48bdd17432f7e4ef6581bcd9a37d501f5e6dfc0d676a5e62db8a4
Loading...
Loading
Loading...
Loading
Net Worth in USD
$10.93
Net Worth in ETH
0.004728
Token Allocations
QOM
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | <$0.000001 | 7,053,408,707.4726 | $10.93 |
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.