Overview
APE Balance
APE Value
$1.28 (@ $0.64/APE)More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
PawBridgeV2
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at apescan.io on 2025-02-28 */ // SPDX-License-Identifier: MIT // File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.9/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @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 amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } // File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.9/contracts/utils/Context.sol // OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.9/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.9/contracts/security/ReentrancyGuard.sol // OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be _NOT_ENTERED require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == _ENTERED; } } // File: contracts/PawBridgeL1V2.sol pragma solidity ^0.8.0; contract PawBridgeV2 is Ownable, ReentrancyGuard { mapping(address => mapping(address => uint256)) private _deposits; mapping(address => bool) private _authorized; // Authorized addresses mapping(address => bool) private _whitelistedTokens; // Whitelisted tokens bool private _depositEnabled; // Variable to enable or disable deposits modifier onlyAuthorized() { require(_authorized[msg.sender], "Caller is not authorized"); _; } modifier onlyWhitelistedToken(address token) { require(_whitelistedTokens[token], "Token is not whitelisted"); _; } modifier whenDepositEnabled() { require(_depositEnabled, "Deposits are disabled"); _; } constructor() { _authorized[msg.sender] = true; // Owner is authorized by default _depositEnabled = true; // Deposits are enabled by default } function authorizeAddress(address _addr, bool _status) external onlyOwner { _authorized[_addr] = _status; // Owner can add new authorizers } function whitelistToken(address token, bool status) external onlyOwner { _whitelistedTokens[token] = status; // Owner can change whitelist status of the tokens } function whitelistTokenbyAuthorized(address token, bool status) external onlyAuthorized { _whitelistedTokens[token] = status; // Authorized can change whitelist status of tokens } function enableDeposits() external onlyOwner { _depositEnabled = true; } function disableDeposits() external onlyOwner { _depositEnabled = false; } function depositToken(address token, uint256 amount) external payable nonReentrant onlyWhitelistedToken(token) whenDepositEnabled { if (token == address(0)) { require(msg.value == amount, "Incorrect native currency amount"); } else { require(msg.value == 0, "Native currency not accepted for ERC20 token deposit"); require(IERC20(token).transferFrom(msg.sender, address(this), amount), "Transfer failed"); } _deposits[token][msg.sender] += amount; } function emergencyWithdraw(address token, uint256 amount) external onlyOwner nonReentrant { if (token == address(0)) { require(address(this).balance >= amount, "Insufficient native currency balance"); payable(msg.sender).transfer(amount); } else { require(IERC20(token).balanceOf(address(this)) >= amount, "Insufficient token balance"); require(IERC20(token).transfer(msg.sender, amount), "Transfer failed"); } } function unlockToken(address token, address to, uint256 amount) external onlyAuthorized nonReentrant onlyWhitelistedToken(token) { require(amount > 0, "Amount must be greater than zero"); if (token == address(0)) { require(address(this).balance >= amount, "Insufficient native currency balance"); payable(to).transfer(amount); } else { uint256 contractBalance = IERC20(token).balanceOf(address(this)); require(contractBalance >= amount, "Insufficient token balance"); require(IERC20(token).transfer(to, amount), "Transfer failed"); } } function getDepositAmount(address token, address depositor) external view returns (uint256) { return _deposits[token][depositor]; } // Function to receive Ether. msg.data must be empty receive() external payable {} // Fallback function is called when msg.data is not empty fallback() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"authorizeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"disableDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"depositor","type":"address"}],"name":"getDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unlockToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"whitelistToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"whitelistTokenbyAuthorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561000f575f80fd5b5061002c6100216100a760201b60201c565b6100ae60201b60201c565b60018081905550600160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f6101000a81548160ff02191690831515021790555061016f565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6119308061017c5f395ff3fe6080604052600436106100aa575f3560e01c80638da5cb5b116100635780638da5cb5b1461017357806395ccea671461019d578063ac67e1af146101c5578063d1586f3d146101db578063f2fde38b14610203578063f45b1b3a1461022b576100b1565b80630ffb1d8b146100b3578063338b5dea146100db57806339ba8188146100f75780635e4c57a41461011f578063715018a6146101355780637b4dc4761461014b576100b1565b366100b157005b005b3480156100be575f80fd5b506100d960048036038101906100d491906110a6565b610267565b005b6100f560048036038101906100f09190611117565b6102c7565b005b348015610102575f80fd5b5061011d60048036038101906101189190611155565b6105bb565b005b34801561012a575f80fd5b5061013361095f565b005b348015610140575f80fd5b50610149610983565b005b348015610156575f80fd5b50610171600480360381019061016c91906110a6565b610996565b005b34801561017e575f80fd5b506101876109f6565b60405161019491906111b4565b60405180910390f35b3480156101a8575f80fd5b506101c360048036038101906101be9190611117565b610a1d565b005b3480156101d0575f80fd5b506101d9610c6d565b005b3480156101e6575f80fd5b5061020160048036038101906101fc91906110a6565b610c90565b005b34801561020e575f80fd5b50610229600480360381019061022491906111cd565b610d71565b005b348015610236575f80fd5b50610251600480360381019061024c91906111f8565b610df3565b60405161025e9190611245565b60405180910390f35b61026f610e75565b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6102cf610ef3565b8160045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610359576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610350906112b8565b60405180910390fd5b60055f9054906101000a900460ff166103a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039e90611320565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104215781341461041c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041390611388565b60405180910390fd5b610520565b5f3414610463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a90611416565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b81526004016104a093929190611434565b6020604051808303815f875af11580156104bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e0919061147d565b61051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906114f2565b60405180910390fd5b5b8160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105a7919061153d565b92505081905550506105b7610f42565b5050565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610644576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063b906115ba565b60405180910390fd5b61064c610ef3565b8260045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906112b8565b60405180910390fd5b5f8211610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f90611622565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107d7578147101561078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610785906116b0565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f193505050501580156107d1573d5f803e3d5ffd5b50610951565b5f8473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161081191906111b4565b602060405180830381865afa15801561082c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085091906116e2565b905082811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088c90611757565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b81526004016108d0929190611775565b6020604051808303815f875af11580156108ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610910919061147d565b61094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906114f2565b60405180910390fd5b505b5061095a610f42565b505050565b610967610e75565b600160055f6101000a81548160ff021916908315150217905550565b61098b610e75565b6109945f610f4b565b565b61099e610e75565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a25610e75565b610a2d610ef3565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aec5780471015610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a906116b0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610ae6573d5f803e3d5ffd5b50610c61565b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b2691906111b4565b602060405180830381865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6591906116e2565b1015610ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9d90611757565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610be1929190611775565b6020604051808303815f875af1158015610bfd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c21919061147d565b610c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c57906114f2565b60405180910390fd5b5b610c69610f42565b5050565b610c75610e75565b5f60055f6101000a81548160ff021916908315150217905550565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d10906115ba565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610d79610e75565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde9061180c565b60405180910390fd5b610df081610f4b565b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e7d61100c565b73ffffffffffffffffffffffffffffffffffffffff16610e9b6109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890611874565b60405180910390fd5b565b600260015403610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f906118dc565b60405180910390fd5b6002600181905550565b60018081905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61104082611017565b9050919050565b61105081611036565b811461105a575f80fd5b50565b5f8135905061106b81611047565b92915050565b5f8115159050919050565b61108581611071565b811461108f575f80fd5b50565b5f813590506110a08161107c565b92915050565b5f80604083850312156110bc576110bb611013565b5b5f6110c98582860161105d565b92505060206110da85828601611092565b9150509250929050565b5f819050919050565b6110f6816110e4565b8114611100575f80fd5b50565b5f81359050611111816110ed565b92915050565b5f806040838503121561112d5761112c611013565b5b5f61113a8582860161105d565b925050602061114b85828601611103565b9150509250929050565b5f805f6060848603121561116c5761116b611013565b5b5f6111798682870161105d565b935050602061118a8682870161105d565b925050604061119b86828701611103565b9150509250925092565b6111ae81611036565b82525050565b5f6020820190506111c75f8301846111a5565b92915050565b5f602082840312156111e2576111e1611013565b5b5f6111ef8482850161105d565b91505092915050565b5f806040838503121561120e5761120d611013565b5b5f61121b8582860161105d565b925050602061122c8582860161105d565b9150509250929050565b61123f816110e4565b82525050565b5f6020820190506112585f830184611236565b92915050565b5f82825260208201905092915050565b7f546f6b656e206973206e6f742077686974656c697374656400000000000000005f82015250565b5f6112a260188361125e565b91506112ad8261126e565b602082019050919050565b5f6020820190508181035f8301526112cf81611296565b9050919050565b7f4465706f73697473206172652064697361626c656400000000000000000000005f82015250565b5f61130a60158361125e565b9150611315826112d6565b602082019050919050565b5f6020820190508181035f830152611337816112fe565b9050919050565b7f496e636f7272656374206e61746976652063757272656e637920616d6f756e745f82015250565b5f61137260208361125e565b915061137d8261133e565b602082019050919050565b5f6020820190508181035f83015261139f81611366565b9050919050565b7f4e61746976652063757272656e6379206e6f7420616363657074656420666f725f8201527f20455243323020746f6b656e206465706f736974000000000000000000000000602082015250565b5f61140060348361125e565b915061140b826113a6565b604082019050919050565b5f6020820190508181035f83015261142d816113f4565b9050919050565b5f6060820190506114475f8301866111a5565b61145460208301856111a5565b6114616040830184611236565b949350505050565b5f815190506114778161107c565b92915050565b5f6020828403121561149257611491611013565b5b5f61149f84828501611469565b91505092915050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f6114dc600f8361125e565b91506114e7826114a8565b602082019050919050565b5f6020820190508181035f830152611509816114d0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611547826110e4565b9150611552836110e4565b925082820190508082111561156a57611569611510565b5b92915050565b7f43616c6c6572206973206e6f7420617574686f72697a656400000000000000005f82015250565b5f6115a460188361125e565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f61160c60208361125e565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f496e73756666696369656e74206e61746976652063757272656e63792062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f61169a60248361125e565b91506116a582611640565b604082019050919050565b5f6020820190508181035f8301526116c78161168e565b9050919050565b5f815190506116dc816110ed565b92915050565b5f602082840312156116f7576116f6611013565b5b5f611704848285016116ce565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f611741601a8361125e565b915061174c8261170d565b602082019050919050565b5f6020820190508181035f83015261176e81611735565b9050919050565b5f6040820190506117885f8301856111a5565b6117956020830184611236565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6117f660268361125e565b91506118018261179c565b604082019050919050565b5f6020820190508181035f830152611823816117ea565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61185e60208361125e565b91506118698261182a565b602082019050919050565b5f6020820190508181035f83015261188b81611852565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6118c6601f8361125e565b91506118d182611892565b602082019050919050565b5f6020820190508181035f8301526118f3816118ba565b905091905056fea2646970667358221220ddad7d41442d05dc0187127e8d3afcc06b7e2265dd3a26338d80341196e2a5da64736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106100aa575f3560e01c80638da5cb5b116100635780638da5cb5b1461017357806395ccea671461019d578063ac67e1af146101c5578063d1586f3d146101db578063f2fde38b14610203578063f45b1b3a1461022b576100b1565b80630ffb1d8b146100b3578063338b5dea146100db57806339ba8188146100f75780635e4c57a41461011f578063715018a6146101355780637b4dc4761461014b576100b1565b366100b157005b005b3480156100be575f80fd5b506100d960048036038101906100d491906110a6565b610267565b005b6100f560048036038101906100f09190611117565b6102c7565b005b348015610102575f80fd5b5061011d60048036038101906101189190611155565b6105bb565b005b34801561012a575f80fd5b5061013361095f565b005b348015610140575f80fd5b50610149610983565b005b348015610156575f80fd5b50610171600480360381019061016c91906110a6565b610996565b005b34801561017e575f80fd5b506101876109f6565b60405161019491906111b4565b60405180910390f35b3480156101a8575f80fd5b506101c360048036038101906101be9190611117565b610a1d565b005b3480156101d0575f80fd5b506101d9610c6d565b005b3480156101e6575f80fd5b5061020160048036038101906101fc91906110a6565b610c90565b005b34801561020e575f80fd5b50610229600480360381019061022491906111cd565b610d71565b005b348015610236575f80fd5b50610251600480360381019061024c91906111f8565b610df3565b60405161025e9190611245565b60405180910390f35b61026f610e75565b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6102cf610ef3565b8160045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610359576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610350906112b8565b60405180910390fd5b60055f9054906101000a900460ff166103a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039e90611320565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104215781341461041c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041390611388565b60405180910390fd5b610520565b5f3414610463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a90611416565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b81526004016104a093929190611434565b6020604051808303815f875af11580156104bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e0919061147d565b61051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906114f2565b60405180910390fd5b5b8160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105a7919061153d565b92505081905550506105b7610f42565b5050565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610644576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063b906115ba565b60405180910390fd5b61064c610ef3565b8260045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906112b8565b60405180910390fd5b5f8211610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f90611622565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107d7578147101561078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610785906116b0565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f193505050501580156107d1573d5f803e3d5ffd5b50610951565b5f8473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161081191906111b4565b602060405180830381865afa15801561082c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085091906116e2565b905082811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088c90611757565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b81526004016108d0929190611775565b6020604051808303815f875af11580156108ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610910919061147d565b61094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906114f2565b60405180910390fd5b505b5061095a610f42565b505050565b610967610e75565b600160055f6101000a81548160ff021916908315150217905550565b61098b610e75565b6109945f610f4b565b565b61099e610e75565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a25610e75565b610a2d610ef3565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aec5780471015610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a906116b0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610ae6573d5f803e3d5ffd5b50610c61565b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b2691906111b4565b602060405180830381865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6591906116e2565b1015610ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9d90611757565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610be1929190611775565b6020604051808303815f875af1158015610bfd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c21919061147d565b610c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c57906114f2565b60405180910390fd5b5b610c69610f42565b5050565b610c75610e75565b5f60055f6101000a81548160ff021916908315150217905550565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d10906115ba565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610d79610e75565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde9061180c565b60405180910390fd5b610df081610f4b565b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e7d61100c565b73ffffffffffffffffffffffffffffffffffffffff16610e9b6109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890611874565b60405180910390fd5b565b600260015403610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f906118dc565b60405180910390fd5b6002600181905550565b60018081905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61104082611017565b9050919050565b61105081611036565b811461105a575f80fd5b50565b5f8135905061106b81611047565b92915050565b5f8115159050919050565b61108581611071565b811461108f575f80fd5b50565b5f813590506110a08161107c565b92915050565b5f80604083850312156110bc576110bb611013565b5b5f6110c98582860161105d565b92505060206110da85828601611092565b9150509250929050565b5f819050919050565b6110f6816110e4565b8114611100575f80fd5b50565b5f81359050611111816110ed565b92915050565b5f806040838503121561112d5761112c611013565b5b5f61113a8582860161105d565b925050602061114b85828601611103565b9150509250929050565b5f805f6060848603121561116c5761116b611013565b5b5f6111798682870161105d565b935050602061118a8682870161105d565b925050604061119b86828701611103565b9150509250925092565b6111ae81611036565b82525050565b5f6020820190506111c75f8301846111a5565b92915050565b5f602082840312156111e2576111e1611013565b5b5f6111ef8482850161105d565b91505092915050565b5f806040838503121561120e5761120d611013565b5b5f61121b8582860161105d565b925050602061122c8582860161105d565b9150509250929050565b61123f816110e4565b82525050565b5f6020820190506112585f830184611236565b92915050565b5f82825260208201905092915050565b7f546f6b656e206973206e6f742077686974656c697374656400000000000000005f82015250565b5f6112a260188361125e565b91506112ad8261126e565b602082019050919050565b5f6020820190508181035f8301526112cf81611296565b9050919050565b7f4465706f73697473206172652064697361626c656400000000000000000000005f82015250565b5f61130a60158361125e565b9150611315826112d6565b602082019050919050565b5f6020820190508181035f830152611337816112fe565b9050919050565b7f496e636f7272656374206e61746976652063757272656e637920616d6f756e745f82015250565b5f61137260208361125e565b915061137d8261133e565b602082019050919050565b5f6020820190508181035f83015261139f81611366565b9050919050565b7f4e61746976652063757272656e6379206e6f7420616363657074656420666f725f8201527f20455243323020746f6b656e206465706f736974000000000000000000000000602082015250565b5f61140060348361125e565b915061140b826113a6565b604082019050919050565b5f6020820190508181035f83015261142d816113f4565b9050919050565b5f6060820190506114475f8301866111a5565b61145460208301856111a5565b6114616040830184611236565b949350505050565b5f815190506114778161107c565b92915050565b5f6020828403121561149257611491611013565b5b5f61149f84828501611469565b91505092915050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f6114dc600f8361125e565b91506114e7826114a8565b602082019050919050565b5f6020820190508181035f830152611509816114d0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611547826110e4565b9150611552836110e4565b925082820190508082111561156a57611569611510565b5b92915050565b7f43616c6c6572206973206e6f7420617574686f72697a656400000000000000005f82015250565b5f6115a460188361125e565b91506115af82611570565b602082019050919050565b5f6020820190508181035f8301526115d181611598565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f61160c60208361125e565b9150611617826115d8565b602082019050919050565b5f6020820190508181035f83015261163981611600565b9050919050565b7f496e73756666696369656e74206e61746976652063757272656e63792062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f61169a60248361125e565b91506116a582611640565b604082019050919050565b5f6020820190508181035f8301526116c78161168e565b9050919050565b5f815190506116dc816110ed565b92915050565b5f602082840312156116f7576116f6611013565b5b5f611704848285016116ce565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f611741601a8361125e565b915061174c8261170d565b602082019050919050565b5f6020820190508181035f83015261176e81611735565b9050919050565b5f6040820190506117885f8301856111a5565b6117956020830184611236565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6117f660268361125e565b91506118018261179c565b604082019050919050565b5f6020820190508181035f830152611823816117ea565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61185e60208361125e565b91506118698261182a565b602082019050919050565b5f6020820190508181035f83015261188b81611852565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6118c6601f8361125e565b91506118d182611892565b602082019050919050565b5f6020820190508181035f8301526118f3816118ba565b905091905056fea2646970667358221220ddad7d41442d05dc0187127e8d3afcc06b7e2265dd3a26338d80341196e2a5da64736f6c634300081a0033
Deployed Bytecode Sourcemap
10137:3796:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11223:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11797:585;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12894:687;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11607:86;;;;;;;;;;;;;:::i;:::-;;5946:103;;;;;;;;;;;;;:::i;:::-;;11061:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5305:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12390:496;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11701:88;;;;;;;;;;;;;:::i;:::-;;11406:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6204:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13589:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11223:175;5191:13;:11;:13::i;:::-;11333:6:::1;11305:18;:25;11324:5;11305:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11223:175:::0;;:::o;11797:585::-;9167:21;:19;:21::i;:::-;11941:5:::1;10688:18;:25;10707:5;10688:25;;;;;;;;;;;;;;;;;;;;;;;;;10680:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;10819:15:::2;;;;;;;;;;;10811:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;12015:1:::3;11998:19;;:5;:19;;::::0;11994:332:::3;;12055:6;12042:9;:19;12034:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11994:332;;;12152:1;12139:9;:14;12131:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12240:5;12233:26;;;12260:10;12280:4;12287:6;12233:61;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12225:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;11994:332;12368:6;12336:9;:16;12346:5;12336:16;;;;;;;;;;;;;;;:28;12353:10;12336:28;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;9199:1:::1;9211:20:::0;:18;:20::i;:::-;11797:585;;:::o;12894:687::-;10544:11;:23;10556:10;10544:23;;;;;;;;;;;;;;;;;;;;;;;;;10536:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9167:21:::1;:19;:21::i;:::-;13056:5:::2;10688:18;:25;10707:5;10688:25;;;;;;;;;;;;;;;;;;;;;;;;;10680:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13097:1:::3;13088:6;:10;13080:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13167:1;13150:19;;:5;:19;;::::0;13146:428:::3;;13219:6;13194:21;:31;;13186:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;13289:2;13281:20;;:28;13302:6;13281:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;13146:428;;;13342:23;13375:5;13368:23;;;13400:4;13368:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13342:64;;13448:6;13429:15;:25;;13421:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13515:5;13508:22;;;13531:2;13535:6;13508:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13500:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13327:247;13146:428;9199:1:::2;9211:20:::1;:18;:20::i;:::-;12894:687:::0;;;:::o;11607:86::-;5191:13;:11;:13::i;:::-;11681:4:::1;11663:15;;:22;;;;;;;;;;;;;;;;;;11607:86::o:0;5946:103::-;5191:13;:11;:13::i;:::-;6011:30:::1;6038:1;6011:18;:30::i;:::-;5946:103::o:0;11061:154::-;5191:13;:11;:13::i;:::-;11167:7:::1;11146:11;:18;11158:5;11146:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11061:154:::0;;:::o;5305:87::-;5351:7;5378:6;;;;;;;;;;;5371:13;;5305:87;:::o;12390:496::-;5191:13;:11;:13::i;:::-;9167:21:::1;:19;:21::i;:::-;12512:1:::2;12495:19;;:5;:19;;::::0;12491:388:::2;;12564:6;12539:21;:31;;12531:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;12634:10;12626:28;;:36;12655:6;12626:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;12491:388;;;12745:6;12710:5;12703:23;;;12735:4;12703:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;12695:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;12812:5;12805:22;;;12828:10;12840:6;12805:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12797:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12491:388;9211:20:::1;:18;:20::i;:::-;12390:496:::0;;:::o;11701:88::-;5191:13;:11;:13::i;:::-;11776:5:::1;11758:15;;:23;;;;;;;;;;;;;;;;;;11701:88::o:0;11406:193::-;10544:11;:23;10556:10;10544:23;;;;;;;;;;;;;;;;;;;;;;;;;10536:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;11533:6:::1;11505:18;:25;11524:5;11505:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11406:193:::0;;:::o;6204:201::-;5191:13;:11;:13::i;:::-;6313:1:::1;6293:22;;:8;:22;;::::0;6285:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6369:28;6388:8;6369:18;:28::i;:::-;6204:201:::0;:::o;13589:145::-;13672:7;13699:9;:16;13709:5;13699:16;;;;;;;;;;;;;;;:27;13716:9;13699:27;;;;;;;;;;;;;;;;13692:34;;13589:145;;;;:::o;5470:132::-;5545:12;:10;:12::i;:::-;5534:23;;:7;:5;:7::i;:::-;:23;;;5526:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5470:132::o;9247:293::-;8649:1;9381:7;;:19;9373:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;8649:1;9514:7;:18;;;;9247:293::o;9548:213::-;8605:1;9731:7;:22;;;;9548:213::o;6565:191::-;6639:16;6658:6;;;;;;;;;;;6639:25;;6684:8;6675:6;;:17;;;;;;;;;;;;;;;;;;6739:8;6708:40;;6729:8;6708:40;;;;;;;;;;;;6628:128;6565:191;:::o;3690:98::-;3743:7;3770:10;3763:17;;3690:98;:::o;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:90::-;875:7;918:5;911:13;904:21;893:32;;841:90;;;:::o;937:116::-;1007:21;1022:5;1007:21;:::i;:::-;1000:5;997:32;987:60;;1043:1;1040;1033:12;987:60;937:116;:::o;1059:133::-;1102:5;1140:6;1127:20;1118:29;;1156:30;1180:5;1156:30;:::i;:::-;1059:133;;;;:::o;1198:468::-;1263:6;1271;1320:2;1308:9;1299:7;1295:23;1291:32;1288:119;;;1326:79;;:::i;:::-;1288:119;1446:1;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1417:117;1573:2;1599:50;1641:7;1632:6;1621:9;1617:22;1599:50;:::i;:::-;1589:60;;1544:115;1198:468;;;;;:::o;1672:77::-;1709:7;1738:5;1727:16;;1672:77;;;:::o;1755:122::-;1828:24;1846:5;1828:24;:::i;:::-;1821:5;1818:35;1808:63;;1867:1;1864;1857:12;1808:63;1755:122;:::o;1883:139::-;1929:5;1967:6;1954:20;1945:29;;1983:33;2010:5;1983:33;:::i;:::-;1883:139;;;;:::o;2028:474::-;2096:6;2104;2153:2;2141:9;2132:7;2128:23;2124:32;2121:119;;;2159:79;;:::i;:::-;2121:119;2279:1;2304:53;2349:7;2340:6;2329:9;2325:22;2304:53;:::i;:::-;2294:63;;2250:117;2406:2;2432:53;2477:7;2468:6;2457:9;2453:22;2432:53;:::i;:::-;2422:63;;2377:118;2028:474;;;;;:::o;2508:619::-;2585:6;2593;2601;2650:2;2638:9;2629:7;2625:23;2621:32;2618:119;;;2656:79;;:::i;:::-;2618:119;2776:1;2801:53;2846:7;2837:6;2826:9;2822:22;2801:53;:::i;:::-;2791:63;;2747:117;2903:2;2929:53;2974:7;2965:6;2954:9;2950:22;2929:53;:::i;:::-;2919:63;;2874:118;3031:2;3057:53;3102:7;3093:6;3082:9;3078:22;3057:53;:::i;:::-;3047:63;;3002:118;2508:619;;;;;:::o;3133:118::-;3220:24;3238:5;3220:24;:::i;:::-;3215:3;3208:37;3133:118;;:::o;3257:222::-;3350:4;3388:2;3377:9;3373:18;3365:26;;3401:71;3469:1;3458:9;3454:17;3445:6;3401:71;:::i;:::-;3257:222;;;;:::o;3485:329::-;3544:6;3593:2;3581:9;3572:7;3568:23;3564:32;3561:119;;;3599:79;;:::i;:::-;3561:119;3719:1;3744:53;3789:7;3780:6;3769:9;3765:22;3744:53;:::i;:::-;3734:63;;3690:117;3485:329;;;;:::o;3820:474::-;3888:6;3896;3945:2;3933:9;3924:7;3920:23;3916:32;3913:119;;;3951:79;;:::i;:::-;3913:119;4071:1;4096:53;4141:7;4132:6;4121:9;4117:22;4096:53;:::i;:::-;4086:63;;4042:117;4198:2;4224:53;4269:7;4260:6;4249:9;4245:22;4224:53;:::i;:::-;4214:63;;4169:118;3820:474;;;;;:::o;4300:118::-;4387:24;4405:5;4387:24;:::i;:::-;4382:3;4375:37;4300:118;;:::o;4424:222::-;4517:4;4555:2;4544:9;4540:18;4532:26;;4568:71;4636:1;4625:9;4621:17;4612:6;4568:71;:::i;:::-;4424:222;;;;:::o;4652:169::-;4736:11;4770:6;4765:3;4758:19;4810:4;4805:3;4801:14;4786:29;;4652:169;;;;:::o;4827:174::-;4967:26;4963:1;4955:6;4951:14;4944:50;4827:174;:::o;5007:366::-;5149:3;5170:67;5234:2;5229:3;5170:67;:::i;:::-;5163:74;;5246:93;5335:3;5246:93;:::i;:::-;5364:2;5359:3;5355:12;5348:19;;5007:366;;;:::o;5379:419::-;5545:4;5583:2;5572:9;5568:18;5560:26;;5632:9;5626:4;5622:20;5618:1;5607:9;5603:17;5596:47;5660:131;5786:4;5660:131;:::i;:::-;5652:139;;5379:419;;;:::o;5804:171::-;5944:23;5940:1;5932:6;5928:14;5921:47;5804:171;:::o;5981:366::-;6123:3;6144:67;6208:2;6203:3;6144:67;:::i;:::-;6137:74;;6220:93;6309:3;6220:93;:::i;:::-;6338:2;6333:3;6329:12;6322:19;;5981:366;;;:::o;6353:419::-;6519:4;6557:2;6546:9;6542:18;6534:26;;6606:9;6600:4;6596:20;6592:1;6581:9;6577:17;6570:47;6634:131;6760:4;6634:131;:::i;:::-;6626:139;;6353:419;;;:::o;6778:182::-;6918:34;6914:1;6906:6;6902:14;6895:58;6778:182;:::o;6966:366::-;7108:3;7129:67;7193:2;7188:3;7129:67;:::i;:::-;7122:74;;7205:93;7294:3;7205:93;:::i;:::-;7323:2;7318:3;7314:12;7307:19;;6966:366;;;:::o;7338:419::-;7504:4;7542:2;7531:9;7527:18;7519:26;;7591:9;7585:4;7581:20;7577:1;7566:9;7562:17;7555:47;7619:131;7745:4;7619:131;:::i;:::-;7611:139;;7338:419;;;:::o;7763:239::-;7903:34;7899:1;7891:6;7887:14;7880:58;7972:22;7967:2;7959:6;7955:15;7948:47;7763:239;:::o;8008:366::-;8150:3;8171:67;8235:2;8230:3;8171:67;:::i;:::-;8164:74;;8247:93;8336:3;8247:93;:::i;:::-;8365:2;8360:3;8356:12;8349:19;;8008:366;;;:::o;8380:419::-;8546:4;8584:2;8573:9;8569:18;8561:26;;8633:9;8627:4;8623:20;8619:1;8608:9;8604:17;8597:47;8661:131;8787:4;8661:131;:::i;:::-;8653:139;;8380:419;;;:::o;8805:442::-;8954:4;8992:2;8981:9;8977:18;8969:26;;9005:71;9073:1;9062:9;9058:17;9049:6;9005:71;:::i;:::-;9086:72;9154:2;9143:9;9139:18;9130:6;9086:72;:::i;:::-;9168;9236:2;9225:9;9221:18;9212:6;9168:72;:::i;:::-;8805:442;;;;;;:::o;9253:137::-;9307:5;9338:6;9332:13;9323:22;;9354:30;9378:5;9354:30;:::i;:::-;9253:137;;;;:::o;9396:345::-;9463:6;9512:2;9500:9;9491:7;9487:23;9483:32;9480:119;;;9518:79;;:::i;:::-;9480:119;9638:1;9663:61;9716:7;9707:6;9696:9;9692:22;9663:61;:::i;:::-;9653:71;;9609:125;9396:345;;;;:::o;9747:165::-;9887:17;9883:1;9875:6;9871:14;9864:41;9747:165;:::o;9918:366::-;10060:3;10081:67;10145:2;10140:3;10081:67;:::i;:::-;10074:74;;10157:93;10246:3;10157:93;:::i;:::-;10275:2;10270:3;10266:12;10259:19;;9918:366;;;:::o;10290:419::-;10456:4;10494:2;10483:9;10479:18;10471:26;;10543:9;10537:4;10533:20;10529:1;10518:9;10514:17;10507:47;10571:131;10697:4;10571:131;:::i;:::-;10563:139;;10290:419;;;:::o;10715:180::-;10763:77;10760:1;10753:88;10860:4;10857:1;10850:15;10884:4;10881:1;10874:15;10901:191;10941:3;10960:20;10978:1;10960:20;:::i;:::-;10955:25;;10994:20;11012:1;10994:20;:::i;:::-;10989:25;;11037:1;11034;11030:9;11023:16;;11058:3;11055:1;11052:10;11049:36;;;11065:18;;:::i;:::-;11049:36;10901:191;;;;:::o;11098:174::-;11238:26;11234:1;11226:6;11222:14;11215:50;11098:174;:::o;11278:366::-;11420:3;11441:67;11505:2;11500:3;11441:67;:::i;:::-;11434:74;;11517:93;11606:3;11517:93;:::i;:::-;11635:2;11630:3;11626:12;11619:19;;11278:366;;;:::o;11650:419::-;11816:4;11854:2;11843:9;11839:18;11831:26;;11903:9;11897:4;11893:20;11889:1;11878:9;11874:17;11867:47;11931:131;12057:4;11931:131;:::i;:::-;11923:139;;11650:419;;;:::o;12075:182::-;12215:34;12211:1;12203:6;12199:14;12192:58;12075:182;:::o;12263:366::-;12405:3;12426:67;12490:2;12485:3;12426:67;:::i;:::-;12419:74;;12502:93;12591:3;12502:93;:::i;:::-;12620:2;12615:3;12611:12;12604:19;;12263:366;;;:::o;12635:419::-;12801:4;12839:2;12828:9;12824:18;12816:26;;12888:9;12882:4;12878:20;12874:1;12863:9;12859:17;12852:47;12916:131;13042:4;12916:131;:::i;:::-;12908:139;;12635:419;;;:::o;13060:223::-;13200:34;13196:1;13188:6;13184:14;13177:58;13269:6;13264:2;13256:6;13252:15;13245:31;13060:223;:::o;13289:366::-;13431:3;13452:67;13516:2;13511:3;13452:67;:::i;:::-;13445:74;;13528:93;13617:3;13528:93;:::i;:::-;13646:2;13641:3;13637:12;13630:19;;13289:366;;;:::o;13661:419::-;13827:4;13865:2;13854:9;13850:18;13842:26;;13914:9;13908:4;13904:20;13900:1;13889:9;13885:17;13878:47;13942:131;14068:4;13942:131;:::i;:::-;13934:139;;13661:419;;;:::o;14086:143::-;14143:5;14174:6;14168:13;14159:22;;14190:33;14217:5;14190:33;:::i;:::-;14086:143;;;;:::o;14235:351::-;14305:6;14354:2;14342:9;14333:7;14329:23;14325:32;14322:119;;;14360:79;;:::i;:::-;14322:119;14480:1;14505:64;14561:7;14552:6;14541:9;14537:22;14505:64;:::i;:::-;14495:74;;14451:128;14235:351;;;;:::o;14592:176::-;14732:28;14728:1;14720:6;14716:14;14709:52;14592:176;:::o;14774:366::-;14916:3;14937:67;15001:2;14996:3;14937:67;:::i;:::-;14930:74;;15013:93;15102:3;15013:93;:::i;:::-;15131:2;15126:3;15122:12;15115:19;;14774:366;;;:::o;15146:419::-;15312:4;15350:2;15339:9;15335:18;15327:26;;15399:9;15393:4;15389:20;15385:1;15374:9;15370:17;15363:47;15427:131;15553:4;15427:131;:::i;:::-;15419:139;;15146:419;;;:::o;15571:332::-;15692:4;15730:2;15719:9;15715:18;15707:26;;15743:71;15811:1;15800:9;15796:17;15787:6;15743:71;:::i;:::-;15824:72;15892:2;15881:9;15877:18;15868:6;15824:72;:::i;:::-;15571:332;;;;;:::o;15909:225::-;16049:34;16045:1;16037:6;16033:14;16026:58;16118:8;16113:2;16105:6;16101:15;16094:33;15909:225;:::o;16140:366::-;16282:3;16303:67;16367:2;16362:3;16303:67;:::i;:::-;16296:74;;16379:93;16468:3;16379:93;:::i;:::-;16497:2;16492:3;16488:12;16481:19;;16140:366;;;:::o;16512:419::-;16678:4;16716:2;16705:9;16701:18;16693:26;;16765:9;16759:4;16755:20;16751:1;16740:9;16736:17;16729:47;16793:131;16919:4;16793:131;:::i;:::-;16785:139;;16512:419;;;:::o;16937:182::-;17077:34;17073:1;17065:6;17061:14;17054:58;16937:182;:::o;17125:366::-;17267:3;17288:67;17352:2;17347:3;17288:67;:::i;:::-;17281:74;;17364:93;17453:3;17364:93;:::i;:::-;17482:2;17477:3;17473:12;17466:19;;17125:366;;;:::o;17497:419::-;17663:4;17701:2;17690:9;17686:18;17678:26;;17750:9;17744:4;17740:20;17736:1;17725:9;17721:17;17714:47;17778:131;17904:4;17778:131;:::i;:::-;17770:139;;17497:419;;;:::o;17922:181::-;18062:33;18058:1;18050:6;18046:14;18039:57;17922:181;:::o;18109:366::-;18251:3;18272:67;18336:2;18331:3;18272:67;:::i;:::-;18265:74;;18348:93;18437:3;18348:93;:::i;:::-;18466:2;18461:3;18457:12;18450:19;;18109:366;;;:::o;18481:419::-;18647:4;18685:2;18674:9;18670:18;18662:26;;18734:9;18728:4;18724:20;18720:1;18709:9;18705:17;18698:47;18762:131;18888:4;18762:131;:::i;:::-;18754:139;;18481:419;;;:::o
Swarm Source
ipfs://ddad7d41442d05dc0187127e8d3afcc06b7e2265dd3a26338d80341196e2a5da
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
CRONOS | 87.46% | $0.073954 | 110,454.1066 | $8,168.54 | |
CRONOS | 0.16% | $0.000064 | 231,498.45 | $14.76 | |
AVAX | 10.03% | $22.33 | 41.9334 | $936.55 | |
AVAX | 2.14% | $0.999886 | 200 | $199.98 | |
FTM | 0.16% | $0.6915 | 20.98 | $14.51 | |
LINEA | 0.02% | $2,255.32 | 0.001 | $2.26 | |
APE | 0.01% | $0.641274 | 2 | $1.28 | |
UNI | 0.01% | $2,266.78 | 0.0005 | $1.13 | |
GNO | <0.01% | $0.999885 | 0.7 | $0.69992 |
[ 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.