Latest 25 from a total of 10,330 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Stake | 12327693 | 420 days ago | IN | 0 ETH | 0.00000169 | ||||
| Stake | 12307763 | 421 days ago | IN | 0 ETH | 0.00000107 | ||||
| Stake | 11773071 | 433 days ago | IN | 0 ETH | 0.00000042 | ||||
| Stake | 11687243 | 435 days ago | IN | 0 ETH | 0.00000056 | ||||
| Stake | 11428323 | 441 days ago | IN | 0 ETH | 0.00000017 | ||||
| Stake | 11398032 | 442 days ago | IN | 0 ETH | 0.00000094 | ||||
| Stake | 11397973 | 442 days ago | IN | 0 ETH | 0.0000009 | ||||
| Stake | 11271566 | 445 days ago | IN | 0 ETH | 0.00000451 | ||||
| Stake | 11201847 | 447 days ago | IN | 0 ETH | 0.00000025 | ||||
| Stake | 11201533 | 447 days ago | IN | 0 ETH | 0.00000019 | ||||
| Stake | 11182333 | 447 days ago | IN | 0 ETH | 0.00000045 | ||||
| Stake | 11058092 | 450 days ago | IN | 0 ETH | 0.00000014 | ||||
| Stake | 11048076 | 450 days ago | IN | 0 ETH | 0.00000087 | ||||
| Stake | 10998195 | 451 days ago | IN | 0 ETH | 0.00000023 | ||||
| Stake | 10949907 | 452 days ago | IN | 0 ETH | 0.00000018 | ||||
| Stake | 10931804 | 453 days ago | IN | 0 ETH | 0.00000022 | ||||
| Stake | 10930269 | 453 days ago | IN | 0 ETH | 0.0000002 | ||||
| Stake | 10849065 | 455 days ago | IN | 0 ETH | 0.0000003 | ||||
| Stake | 10814783 | 455 days ago | IN | 0 ETH | 0.00000018 | ||||
| Stake | 10796358 | 456 days ago | IN | 0 ETH | 0.00000029 | ||||
| Stake | 10783878 | 456 days ago | IN | 0 ETH | 0.000001 | ||||
| Stake | 10765045 | 457 days ago | IN | 0 ETH | 0.00000198 | ||||
| Stake | 10746173 | 457 days ago | IN | 0 ETH | 0.00000061 | ||||
| Stake | 10739046 | 457 days ago | IN | 0 ETH | 0.00000033 | ||||
| Stake | 10702840 | 458 days ago | IN | 0 ETH | 0.00000049 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers.
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | ||||
|---|---|---|---|---|---|---|---|
| 12327693 | 420 days ago | 0 ETH | |||||
| 12307763 | 421 days ago | 0 ETH | |||||
| 11773071 | 433 days ago | 0 ETH | |||||
| 11687243 | 435 days ago | 0 ETH | |||||
| 11428323 | 441 days ago | 0 ETH | |||||
| 11398032 | 442 days ago | 0 ETH | |||||
| 11397973 | 442 days ago | 0 ETH | |||||
| 11271566 | 445 days ago | 0 ETH | |||||
| 11201847 | 447 days ago | 0 ETH | |||||
| 11201533 | 447 days ago | 0 ETH | |||||
| 11182333 | 447 days ago | 0 ETH | |||||
| 11058092 | 450 days ago | 0 ETH | |||||
| 11048076 | 450 days ago | 0 ETH | |||||
| 10998195 | 451 days ago | 0 ETH | |||||
| 10949907 | 452 days ago | 0 ETH | |||||
| 10931804 | 453 days ago | 0 ETH | |||||
| 10930269 | 453 days ago | 0 ETH | |||||
| 10849065 | 455 days ago | 0 ETH | |||||
| 10814783 | 455 days ago | 0 ETH | |||||
| 10796358 | 456 days ago | 0 ETH | |||||
| 10783878 | 456 days ago | 0 ETH | |||||
| 10765045 | 457 days ago | 0 ETH | |||||
| 10746173 | 457 days ago | 0 ETH | |||||
| 10739046 | 457 days ago | 0 ETH | |||||
| 10702840 | 458 days ago | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BfxVault
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.8.0;
// SPDX-License-Identifier: MIT
import "IVault.sol";
import "IERC20.sol";
interface IBfx {
function deposit(uint256 amount) external;
}
interface IBlast {
function configureAutomaticYield() external;
function configureClaimableGas() external;
function claimMaxGas(address contractAddress, address recipientOfGas) external returns (uint256);
}
interface IBlastPoints {
function configurePointsOperator(address operator) external;
}
contract BfxVault is IVault {
address public immutable owner;
IBfx public bfx;
IERC20 public paymentToken;
address public claimer;
bool public ownerIsSoleAdmin;
uint256 _nextStakeId = 1;
uint256 constant UNLOCKED = 1;
uint256 constant LOCKED = 2;
uint256 public constant ADMIN_ROLE = 0;
uint256 public constant TRADER_ROLE = 1;
uint256 public constant TREASURER_ROLE = 2;
IBlast public constant BLAST = IBlast(0x4300000000000000000000000000000000000002);
uint256 MIN_STAKE = 1e17;
mapping(address => mapping(uint256 => bool)) public signers;
uint256 reentryLockStatus = UNLOCKED;
event AddRole(address indexed user, uint256 indexed role, address indexed caller);
event RemoveRole(address indexed user, uint256 indexed role, address indexed caller);
event WithdrawTo(address indexed to, uint256 amount);
event SetBfx(address indexed bfx);
event SetToken(address indexed token);
event SetClaimer(address indexed claimer);
constructor(address _owner, address _bfx, address _paymentToken, address _claimer, address _points) {
owner = _owner;
signers[_owner][ADMIN_ROLE] = true;
signers[_owner][TREASURER_ROLE] = true;
bfx = IBfx(_bfx);
paymentToken = IERC20(_paymentToken);
claimer = _claimer;
BLAST.configureAutomaticYield();
BLAST.configureClaimableGas();
IBlastPoints(_points).configurePointsOperator(_claimer);
}
modifier onlyOwner() {
require(msg.sender == owner, "ONLY_OWNER");
_;
}
modifier onlyClaimer() {
require(msg.sender == claimer, "ONLY_CLAIMER");
_;
}
modifier onlyAdmin() {
if (ownerIsSoleAdmin) {
require(msg.sender == owner, "NOT_OWNER");
} else {
require(signers[msg.sender][ADMIN_ROLE], "NOT_AN_ADMIN");
}
_;
}
modifier nonReentrant() {
require(reentryLockStatus == UNLOCKED, "NO_REENTRY");
reentryLockStatus = LOCKED;
_;
reentryLockStatus = UNLOCKED;
}
function claimGas() external nonReentrant onlyClaimer {
BLAST.claimMaxGas(address(this), claimer);
}
function stake(uint256 amount) external {
require(amount >= MIN_STAKE, "WRONG_AMOUNT");
uint256 stakeId = _allocateStakeId();
emit Stake(stakeId, msg.sender, amount);
require(
_makeTransferFrom(msg.sender, address(bfx), amount),
"TRANSFER_FAILED"
);
}
function _allocateStakeId() private returns (uint256) {
uint256 stakeId = _nextStakeId;
_nextStakeId++;
return stakeId;
}
/**
* @notice does the user have the ADMIN_ROLE - which gives
* the ability to add and remove roles for other users
*
* @param user the address to check
* @return true if the user has the ADMIN_ROLE
*/
function isAdmin(address user) public view returns (bool) {
if (ownerIsSoleAdmin) {
return user == owner;
} else {
return signers[user][ADMIN_ROLE];
}
}
/**
* @notice give the user the ADMIN_ROLE - which gives
* the ability to add and remove roles for other users
*
* @dev the caller must themselves have the ADMIN_ROLE
*
* @param user the address to give the ADMIN_ROLE to
*/
function addAdmin(address user) external {
addRole(user, ADMIN_ROLE);
}
/**
* @notice take away the ADMIN_ROLE - which removes
* the ability to add and remove roles for other users
*
* @dev the caller must themselves have the ADMIN_ROLE
*
* @param user the address from which to remove the ADMIN_ROLE
*/
function removeAdmin(address user) external {
removeRole(user, ADMIN_ROLE);
}
/**
* @notice does the user have the TRADER_ROLE - which gives
* the ability to trade on the bfx exchange with the vault's funds
*
* @param user the address to check
* @return true if the user has the TRADER_ROLE
*/
function isTrader(address user) public view returns (bool) {
return signers[user][TRADER_ROLE];
}
/**
* @notice give the user the TRADER_ROLE - which gives
* the ability to trade on the bfx exchange with the vault's funds
*
* @dev the caller must have the ADMIN_ROLE
*
* @param user the address to give the TRADER_ROLE to
*/
function addTrader(address user) external {
addRole(user, TRADER_ROLE);
}
/**
* @notice take away the TRADER_ROLE - which removes
* the ability to trade on the bfx exchange with the vault's funds
*
* @dev the caller must have the ADMIN_ROLE
*
* @param user the address from which to remove the TRADER_ROLE
*/
function removeTrader(address user) external {
removeRole(user, TRADER_ROLE);
}
/**
* @notice does the user have the TREASURER_ROLE - which gives
* the ability to deposit the vault's funds into the bfx exchange
*
* @param user the address to check
* @return true if the user has the TREASURER_ROLE
*/
function isTreasurer(address user) public view returns (bool) {
return signers[user][TREASURER_ROLE];
}
/**
* @notice give the user the TREASURER_ROLE - which gives
* the ability to deposit the vault's funds into the bfx exchange
*
* @dev the caller must have the ADMIN_ROLE
*
* @param user the address to give the TREASURER_ROLE to
*/
function addTreasurer(address user) external {
addRole(user, TREASURER_ROLE);
}
/**
* @notice take away the TREASURER_ROLE - which removes
* the ability to deposit the vault's funds into the bfx exchange
*
* @dev the caller must have the ADMIN_ROLE
*
* @param user the address from which to remove the TREASURER_ROLE
*/
function removeTreasurer(address user) external {
removeRole(user, TREASURER_ROLE);
}
/**
* @notice does the user have the specified role
*
* @dev the roles recognised by the vault are
* ADMIN_ROLE (0), TRADER_ROLE (1) and TREASURER_ROLE (2), other roles can
* be given and removed, but they have no special meaning for the vault
*
* @param signer the address to check
* @param role the role to check
* @return true if the user has the specified role
*/
function isValidSigner(address signer, uint256 role) external view returns (bool) {
return signers[signer][role];
}
/**
* @notice give the user the specified role
*
* @dev the caller must have the ADMIN_ROLE
* @dev the roles recognised by the vault are
* ADMIN_ROLE (0), TRADER_ROLE (1) and TREASURER_ROLE (2), other roles can
* be given and removed, but they have no special meaning for the vault
*
* @param signer the address to which to give the role
* @param role the role to give
*/
function addRole(address signer, uint256 role) public onlyAdmin {
signers[signer][role] = true;
emit AddRole(signer, role, msg.sender);
}
/**
* @notice take away the specified role from the user
*
* @dev the caller must have the ADMIN_ROLE
* @dev the roles recognised by the vault are
* ADMIN_ROLE (0), TRADER_ROLE (1) and TREASURER_ROLE (2), other roles can
* be given and removed, but they have no special meaning for the vault
*
* @param signer the address from which to remove the role
* @param role the role to remove
*/
function removeRole(address signer, uint256 role) public onlyAdmin {
signers[signer][role] = false;
emit RemoveRole(signer, role, msg.sender);
}
function makeOwnerAdmin() external onlyOwner {
signers[owner][ADMIN_ROLE] = true;
}
function setOwnerIsSoleAdmin(bool value) external onlyOwner {
ownerIsSoleAdmin = value;
}
function setClaimer(address _claimer) external onlyOwner {
claimer = _claimer;
emit SetClaimer(_claimer);
}
/**
* @notice sets the address of the IERC20 payment token used by the bfx exchange
*
* @dev WARNING must match the payment token address on the bfx exchange
* contract, normally set during deployment
* @dev only the vault owner can call this function
*
* @param _paymentToken the address of the payment token
*/
function setPaymentToken(address _paymentToken) external onlyOwner {
paymentToken = IERC20(_paymentToken);
emit SetToken(_paymentToken);
}
/**
* @notice sets the address of the bfx exchange contract
*
* @dev WARNING incorrect setting could lead to loss of funds when
* calling makeDeposit, normally set during deployment
* @dev only the vault owner can call this function
*
* @param _bfx the address of the bfx exchange contract
*/
function setBfx(address _bfx) external onlyOwner {
bfx = IBfx(_bfx);
emit SetBfx(_bfx);
}
/**
* @notice withdraws funds from the vault, not normally used
* as no funds are held on the vault - staking sends them directly
* to the bfx exchange
*
* @dev the vault must already have a sufficient token balance,
* calling this function does not withdraw funds from the bfx
* exchange to the vault
* @dev only the vault owner can call this function
*
* @param amount the amount of tokens to withdraw
* @param to the address to which to send the tokens
*/
function withdrawTokensTo(uint256 amount, address to) external onlyOwner {
require(amount > 0, "WRONG_AMOUNT");
require(to != address(0), "ZERO_ADDRESS");
emit WithdrawTo(to, amount);
bool success = _makeTransfer(to, amount);
require(success, "TRANSFER_FAILED");
}
function _makeTransferFrom(
address from,
address to,
uint256 amount
) private returns (bool success) {
return
_tokenCall(
abi.encodeWithSelector(
paymentToken.transferFrom.selector,
from,
to,
amount
)
);
}
function _makeTransfer(address to, uint256 amount) internal returns (bool success) {
return _tokenCall(abi.encodeWithSelector(paymentToken.transfer.selector, to, amount));
}
function _tokenCall(bytes memory data) private returns (bool) {
(bool success, bytes memory returndata) = address(paymentToken).call(data);
if (success) {
if (returndata.length > 0) {
success = abi.decode(returndata, (bool));
} else {
success = address(paymentToken).code.length > 0;
}
}
return success;
}
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.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);
}
pragma solidity ^0.8.0;
// SPDX-License-Identifier: MIT
interface IVault {
event Stake(
uint256 indexed id,
address indexed trader,
uint256 amount
);
function isValidSigner(
address signer,
uint256 role
) external view returns (bool);
}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_bfx","type":"address"},{"internalType":"address","name":"_paymentToken","type":"address"},{"internalType":"address","name":"_claimer","type":"address"},{"internalType":"address","name":"_points","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"role","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"AddRole","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"role","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"RemoveRole","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bfx","type":"address"}],"name":"SetBfx","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"claimer","type":"address"}],"name":"SetClaimer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"SetToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawTo","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BLAST","outputs":[{"internalType":"contract IBlast","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRADER_ROLE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TREASURER_ROLE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"role","type":"uint256"}],"name":"addRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"addTrader","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"addTreasurer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bfx","outputs":[{"internalType":"contract IBfx","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isTreasurer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"role","type":"uint256"}],"name":"isValidSigner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeOwnerAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerIsSoleAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paymentToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint256","name":"role","type":"uint256"}],"name":"removeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeTrader","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeTreasurer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bfx","type":"address"}],"name":"setBfx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimer","type":"address"}],"name":"setClaimer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setOwnerIsSoleAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_paymentToken","type":"address"}],"name":"setPaymentToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"signers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"withdrawTokensTo","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60a0604052600160035567016345785d8a000060045560016006553480156200002757600080fd5b50604051620026be380380620026be83398181016040528101906200004d9190620003e6565b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002060006101000a81548160ff021916908315150217905550836000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff16637114177a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200027357600080fd5b505af115801562000288573d6000803e3d6000fd5b5050505073430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff16634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620002e957600080fd5b505af1158015620002fe573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166336b91f2b836040518263ffffffff1660e01b81526004016200033d91906200047f565b600060405180830381600087803b1580156200035857600080fd5b505af11580156200036d573d6000803e3d6000fd5b5050505050505050506200049c565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ae8262000381565b9050919050565b620003c081620003a1565b8114620003cc57600080fd5b50565b600081519050620003e081620003b5565b92915050565b600080600080600060a086880312156200040557620004046200037c565b5b60006200041588828901620003cf565b95505060206200042888828901620003cf565b94505060406200043b88828901620003cf565b93505060606200044e88828901620003cf565b92505060806200046188828901620003cf565b9150509295509295909350565b6200047981620003a1565b82525050565b60006020820190506200049660008301846200046e565b92915050565b6080516121c0620004fe6000396000818161057b015281816106c20152818161080c0152818161095101528181610a8e01528181610c9c01528181610e95015281816111aa0152818161138b0152818161141f015261150c01526121c06000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80638da5cb5b11610104578063b743e722116100a2578063d379be2311610071578063d379be23146104ef578063e1326b341461050d578063f0a3a97c1461053d578063f0a56fc81461055b576101da565b8063b743e7221461047d578063c19ef54e14610499578063cc0d50e6146104a3578063cdfb5832146104d3576101da565b8063999323f0116100de578063999323f01461041d578063a694fc3a1461043b578063a95d6b1c14610457578063ab56a29c14610461576101da565b80638da5cb5b146103c557806396f0248a146103e357806397d75776146103ff576101da565b806353635d761161017c578063704802751161014b578063704802751461035357806375b238fc1461036f57806379db5f671461038d5780637fde1c8a146103a9576101da565b806353635d76146102cd5780635d428e08146102fd5780635fdd14cc146103195780636a326ab114610337576101da565b806324d7806c116101b857806324d7806c146102335780633013ce29146102635780634039ad0d1461028157806346c2df8d146102b1576101da565b80630795fcd7146101df5780630a1f194f146101fb5780631785f53c14610217575b600080fd5b6101f960048036038101906101f49190611928565b610579565b005b61021560048036038101906102109190611928565b61068d565b005b610231600480360381019061022c9190611928565b61069b565b005b61024d60048036038101906102489190611928565b6106a9565b60405161025a9190611970565b60405180910390f35b61026b61077c565b60405161027891906119ea565b60405180910390f35b61029b60048036038101906102969190611928565b6107a2565b6040516102a89190611970565b60405180910390f35b6102cb60048036038101906102c69190611a31565b61080a565b005b6102e760048036038101906102e29190611a94565b6108b5565b6040516102f49190611970565b60405180910390f35b61031760048036038101906103129190611928565b61091d565b005b61032161092b565b60405161032e9190611af5565b60405180910390f35b610351600480360381019061034c9190611928565b61094f565b005b61036d60048036038101906103689190611928565b610a64565b005b610377610a72565b6040516103849190611b1f565b60405180910390f35b6103a760048036038101906103a29190611a94565b610a77565b005b6103c360048036038101906103be9190611a94565b610c85565b005b6103cd610e93565b6040516103da9190611b49565b60405180910390f35b6103fd60048036038101906103f89190611928565b610eb7565b005b610407610ec5565b6040516104149190611b85565b60405180910390f35b610425610edd565b6040516104329190611970565b60405180910390f35b61045560048036038101906104509190611ba0565b610ef0565b005b61045f610ffe565b005b61047b60048036038101906104769190611928565b61119a565b005b61049760048036038101906104929190611bcd565b6111a8565b005b6104a1611389565b005b6104bd60048036038101906104b89190611928565b6114a2565b6040516104ca9190611970565b60405180910390f35b6104ed60048036038101906104e89190611928565b61150a565b005b6104f761161f565b6040516105049190611b49565b60405180910390f35b61052760048036038101906105229190611a94565b611645565b6040516105349190611970565b60405180910390f35b610545611674565b6040516105529190611b1f565b60405180910390f35b610563611679565b6040516105709190611b1f565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fe90611c6a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f3e4b86df61338ca26a822751ee2f678930115e21d592d3d6c8abf8c3e3111d7860405160405180910390a250565b610698816001610a77565b50565b6106a6816000610a77565b50565b6000600260149054906101000a900460ff1615610716577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050610777565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060009054906101000a900460ff1690505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001815260200190815260200160002060009054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f90611c6a565b60405180910390fd5b80600260146101000a81548160ff02191690831515021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16905092915050565b610928816001610c85565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490611c6a565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fefc1fd16ea80a922086ee4e995739d59b025c1bcea6d1f67855747480c83214b60405160405180910390a250565b610a6f816000610c85565b50565b600081565b600260149054906101000a900460ff1615610b1f577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1190611cd6565b60405180910390fd5b610bbd565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060009054906101000a900460ff16610bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb390611d42565b60405180910390fd5b5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16818373ffffffffffffffffffffffffffffffffffffffff167fd196b73dcd1f2606bb9ecb4b9cee426a49a0d2cb8b95f3c2acf5c28db10e03ac60405160405180910390a45050565b600260149054906101000a900460ff1615610d2d577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f90611cd6565b60405180910390fd5b610dcb565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060009054906101000a900460ff16610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc190611d42565b60405180910390fd5b5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16818373ffffffffffffffffffffffffffffffffffffffff167f779544d008db0ffbb5630e061673d07bb7a29b6ee170bdd8a758a26f0a565a5e60405160405180910390a45050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ec2816002610a77565b50565b73430000000000000000000000000000000000000281565b600260149054906101000a900460ff1681565b600454811015610f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2c90611dae565b60405180910390fd5b6000610f3f61167e565b90503373ffffffffffffffffffffffffffffffffffffffff16817f02567b2553aeb44e4ddd5d68462774dc3de158cb0f2c2da1740e729b22086aff84604051610f889190611b1f565b60405180910390a3610fbb3360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116a5565b610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190611e1a565b60405180910390fd5b5050565b600160065414611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a90611e86565b60405180910390fd5b6002600681905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290611ef2565b60405180910390fd5b73430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff1663662aa11d30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161114c929190611f12565b6020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611f50565b506001600681905550565b6111a5816002610c85565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d90611c6a565b60405180910390fd5b60008211611279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127090611dae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90611fc9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff167f47096d7b247e809edf18e9bccfcb92f2af426ce8e6b40c923e65cb1b8394cef78360405161132e9190611b1f565b60405180910390a260006113428284611732565b905080611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90611e1a565b60405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90611c6a565b60405180910390fd5b6001600560007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060006101000a81548160ff021916908315150217905550565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002060009054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f90611c6a565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fdfe91dcad2adcb1ecd18d2e830b469081211d6743c1e2dfa893836431fb7879460405160405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600281565b600181565b60008060035490506003600081548092919061169990612018565b91905055508091505090565b60006117296323b872dd60e01b8585856040516024016116c793929190612060565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117bc565b90509392505050565b60006117b463a9059cbb60e01b8484604051602401611752929190612097565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117bc565b905092915050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516118089190612131565b6000604051808303816000865af19150503d8060008114611845576040519150601f19603f3d011682016040523d82523d6000602084013e61184a565b606091505b509150915081156118bb5760008151111561187a5780806020019051810190611873919061215d565b91506118ba565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163b1191505b5b8192505050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f5826118ca565b9050919050565b611905816118ea565b811461191057600080fd5b50565b600081359050611922816118fc565b92915050565b60006020828403121561193e5761193d6118c5565b5b600061194c84828501611913565b91505092915050565b60008115159050919050565b61196a81611955565b82525050565b60006020820190506119856000830184611961565b92915050565b6000819050919050565b60006119b06119ab6119a6846118ca565b61198b565b6118ca565b9050919050565b60006119c282611995565b9050919050565b60006119d4826119b7565b9050919050565b6119e4816119c9565b82525050565b60006020820190506119ff60008301846119db565b92915050565b611a0e81611955565b8114611a1957600080fd5b50565b600081359050611a2b81611a05565b92915050565b600060208284031215611a4757611a466118c5565b5b6000611a5584828501611a1c565b91505092915050565b6000819050919050565b611a7181611a5e565b8114611a7c57600080fd5b50565b600081359050611a8e81611a68565b92915050565b60008060408385031215611aab57611aaa6118c5565b5b6000611ab985828601611913565b9250506020611aca85828601611a7f565b9150509250929050565b6000611adf826119b7565b9050919050565b611aef81611ad4565b82525050565b6000602082019050611b0a6000830184611ae6565b92915050565b611b1981611a5e565b82525050565b6000602082019050611b346000830184611b10565b92915050565b611b43816118ea565b82525050565b6000602082019050611b5e6000830184611b3a565b92915050565b6000611b6f826119b7565b9050919050565b611b7f81611b64565b82525050565b6000602082019050611b9a6000830184611b76565b92915050565b600060208284031215611bb657611bb56118c5565b5b6000611bc484828501611a7f565b91505092915050565b60008060408385031215611be457611be36118c5565b5b6000611bf285828601611a7f565b9250506020611c0385828601611913565b9150509250929050565b600082825260208201905092915050565b7f4f4e4c595f4f574e455200000000000000000000000000000000000000000000600082015250565b6000611c54600a83611c0d565b9150611c5f82611c1e565b602082019050919050565b60006020820190508181036000830152611c8381611c47565b9050919050565b7f4e4f545f4f574e45520000000000000000000000000000000000000000000000600082015250565b6000611cc0600983611c0d565b9150611ccb82611c8a565b602082019050919050565b60006020820190508181036000830152611cef81611cb3565b9050919050565b7f4e4f545f414e5f41444d494e0000000000000000000000000000000000000000600082015250565b6000611d2c600c83611c0d565b9150611d3782611cf6565b602082019050919050565b60006020820190508181036000830152611d5b81611d1f565b9050919050565b7f57524f4e475f414d4f554e540000000000000000000000000000000000000000600082015250565b6000611d98600c83611c0d565b9150611da382611d62565b602082019050919050565b60006020820190508181036000830152611dc781611d8b565b9050919050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b6000611e04600f83611c0d565b9150611e0f82611dce565b602082019050919050565b60006020820190508181036000830152611e3381611df7565b9050919050565b7f4e4f5f5245454e54525900000000000000000000000000000000000000000000600082015250565b6000611e70600a83611c0d565b9150611e7b82611e3a565b602082019050919050565b60006020820190508181036000830152611e9f81611e63565b9050919050565b7f4f4e4c595f434c41494d45520000000000000000000000000000000000000000600082015250565b6000611edc600c83611c0d565b9150611ee782611ea6565b602082019050919050565b60006020820190508181036000830152611f0b81611ecf565b9050919050565b6000604082019050611f276000830185611b3a565b611f346020830184611b3a565b9392505050565b600081519050611f4a81611a68565b92915050565b600060208284031215611f6657611f656118c5565b5b6000611f7484828501611f3b565b91505092915050565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b6000611fb3600c83611c0d565b9150611fbe82611f7d565b602082019050919050565b60006020820190508181036000830152611fe281611fa6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061202382611a5e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361205557612054611fe9565b5b600182019050919050565b60006060820190506120756000830186611b3a565b6120826020830185611b3a565b61208f6040830184611b10565b949350505050565b60006040820190506120ac6000830185611b3a565b6120b96020830184611b10565b9392505050565b600081519050919050565b600081905092915050565b60005b838110156120f45780820151818401526020810190506120d9565b60008484015250505050565b600061210b826120c0565b61211581856120cb565b93506121258185602086016120d6565b80840191505092915050565b600061213d8284612100565b915081905092915050565b60008151905061215781611a05565b92915050565b600060208284031215612173576121726118c5565b5b600061218184828501612148565b9150509291505056fea264697066735822122077b579aff0c43269c81716e6c4b28d5755ffd16de09c92d6a7f6925b9fd1b92664736f6c63430008130033000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc20000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e0000000000000000000000004300000000000000000000000000000000000003000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc20000000000000000000000002536fe9ab3f511540f2f9e2ec2a805005c3dd800
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80638da5cb5b11610104578063b743e722116100a2578063d379be2311610071578063d379be23146104ef578063e1326b341461050d578063f0a3a97c1461053d578063f0a56fc81461055b576101da565b8063b743e7221461047d578063c19ef54e14610499578063cc0d50e6146104a3578063cdfb5832146104d3576101da565b8063999323f0116100de578063999323f01461041d578063a694fc3a1461043b578063a95d6b1c14610457578063ab56a29c14610461576101da565b80638da5cb5b146103c557806396f0248a146103e357806397d75776146103ff576101da565b806353635d761161017c578063704802751161014b578063704802751461035357806375b238fc1461036f57806379db5f671461038d5780637fde1c8a146103a9576101da565b806353635d76146102cd5780635d428e08146102fd5780635fdd14cc146103195780636a326ab114610337576101da565b806324d7806c116101b857806324d7806c146102335780633013ce29146102635780634039ad0d1461028157806346c2df8d146102b1576101da565b80630795fcd7146101df5780630a1f194f146101fb5780631785f53c14610217575b600080fd5b6101f960048036038101906101f49190611928565b610579565b005b61021560048036038101906102109190611928565b61068d565b005b610231600480360381019061022c9190611928565b61069b565b005b61024d60048036038101906102489190611928565b6106a9565b60405161025a9190611970565b60405180910390f35b61026b61077c565b60405161027891906119ea565b60405180910390f35b61029b60048036038101906102969190611928565b6107a2565b6040516102a89190611970565b60405180910390f35b6102cb60048036038101906102c69190611a31565b61080a565b005b6102e760048036038101906102e29190611a94565b6108b5565b6040516102f49190611970565b60405180910390f35b61031760048036038101906103129190611928565b61091d565b005b61032161092b565b60405161032e9190611af5565b60405180910390f35b610351600480360381019061034c9190611928565b61094f565b005b61036d60048036038101906103689190611928565b610a64565b005b610377610a72565b6040516103849190611b1f565b60405180910390f35b6103a760048036038101906103a29190611a94565b610a77565b005b6103c360048036038101906103be9190611a94565b610c85565b005b6103cd610e93565b6040516103da9190611b49565b60405180910390f35b6103fd60048036038101906103f89190611928565b610eb7565b005b610407610ec5565b6040516104149190611b85565b60405180910390f35b610425610edd565b6040516104329190611970565b60405180910390f35b61045560048036038101906104509190611ba0565b610ef0565b005b61045f610ffe565b005b61047b60048036038101906104769190611928565b61119a565b005b61049760048036038101906104929190611bcd565b6111a8565b005b6104a1611389565b005b6104bd60048036038101906104b89190611928565b6114a2565b6040516104ca9190611970565b60405180910390f35b6104ed60048036038101906104e89190611928565b61150a565b005b6104f761161f565b6040516105049190611b49565b60405180910390f35b61052760048036038101906105229190611a94565b611645565b6040516105349190611970565b60405180910390f35b610545611674565b6040516105529190611b1f565b60405180910390f35b610563611679565b6040516105709190611b1f565b60405180910390f35b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fe90611c6a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f3e4b86df61338ca26a822751ee2f678930115e21d592d3d6c8abf8c3e3111d7860405160405180910390a250565b610698816001610a77565b50565b6106a6816000610a77565b50565b6000600260149054906101000a900460ff1615610716577f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050610777565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060009054906101000a900460ff1690505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001815260200190815260200160002060009054906101000a900460ff169050919050565b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f90611c6a565b60405180910390fd5b80600260146101000a81548160ff02191690831515021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16905092915050565b610928816001610c85565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490611c6a565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fefc1fd16ea80a922086ee4e995739d59b025c1bcea6d1f67855747480c83214b60405160405180910390a250565b610a6f816000610c85565b50565b600081565b600260149054906101000a900460ff1615610b1f577f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1190611cd6565b60405180910390fd5b610bbd565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060009054906101000a900460ff16610bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb390611d42565b60405180910390fd5b5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16818373ffffffffffffffffffffffffffffffffffffffff167fd196b73dcd1f2606bb9ecb4b9cee426a49a0d2cb8b95f3c2acf5c28db10e03ac60405160405180910390a45050565b600260149054906101000a900460ff1615610d2d577f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f90611cd6565b60405180910390fd5b610dcb565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060009054906101000a900460ff16610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc190611d42565b60405180910390fd5b5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16818373ffffffffffffffffffffffffffffffffffffffff167f779544d008db0ffbb5630e061673d07bb7a29b6ee170bdd8a758a26f0a565a5e60405160405180910390a45050565b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc281565b610ec2816002610a77565b50565b73430000000000000000000000000000000000000281565b600260149054906101000a900460ff1681565b600454811015610f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2c90611dae565b60405180910390fd5b6000610f3f61167e565b90503373ffffffffffffffffffffffffffffffffffffffff16817f02567b2553aeb44e4ddd5d68462774dc3de158cb0f2c2da1740e729b22086aff84604051610f889190611b1f565b60405180910390a3610fbb3360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116a5565b610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190611e1a565b60405180910390fd5b5050565b600160065414611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a90611e86565b60405180910390fd5b6002600681905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290611ef2565b60405180910390fd5b73430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff1663662aa11d30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161114c929190611f12565b6020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611f50565b506001600681905550565b6111a5816002610c85565b50565b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d90611c6a565b60405180910390fd5b60008211611279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127090611dae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90611fc9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff167f47096d7b247e809edf18e9bccfcb92f2af426ce8e6b40c923e65cb1b8394cef78360405161132e9190611b1f565b60405180910390a260006113428284611732565b905080611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90611e1a565b60405180910390fd5b505050565b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90611c6a565b60405180910390fd5b6001600560007f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080815260200190815260200160002060006101000a81548160ff021916908315150217905550565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002060009054906101000a900460ff169050919050565b7f000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f90611c6a565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fdfe91dcad2adcb1ecd18d2e830b469081211d6743c1e2dfa893836431fb7879460405160405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600281565b600181565b60008060035490506003600081548092919061169990612018565b91905055508091505090565b60006117296323b872dd60e01b8585856040516024016116c793929190612060565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117bc565b90509392505050565b60006117b463a9059cbb60e01b8484604051602401611752929190612097565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117bc565b905092915050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516118089190612131565b6000604051808303816000865af19150503d8060008114611845576040519150601f19603f3d011682016040523d82523d6000602084013e61184a565b606091505b509150915081156118bb5760008151111561187a5780806020019051810190611873919061215d565b91506118ba565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163b1191505b5b8192505050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f5826118ca565b9050919050565b611905816118ea565b811461191057600080fd5b50565b600081359050611922816118fc565b92915050565b60006020828403121561193e5761193d6118c5565b5b600061194c84828501611913565b91505092915050565b60008115159050919050565b61196a81611955565b82525050565b60006020820190506119856000830184611961565b92915050565b6000819050919050565b60006119b06119ab6119a6846118ca565b61198b565b6118ca565b9050919050565b60006119c282611995565b9050919050565b60006119d4826119b7565b9050919050565b6119e4816119c9565b82525050565b60006020820190506119ff60008301846119db565b92915050565b611a0e81611955565b8114611a1957600080fd5b50565b600081359050611a2b81611a05565b92915050565b600060208284031215611a4757611a466118c5565b5b6000611a5584828501611a1c565b91505092915050565b6000819050919050565b611a7181611a5e565b8114611a7c57600080fd5b50565b600081359050611a8e81611a68565b92915050565b60008060408385031215611aab57611aaa6118c5565b5b6000611ab985828601611913565b9250506020611aca85828601611a7f565b9150509250929050565b6000611adf826119b7565b9050919050565b611aef81611ad4565b82525050565b6000602082019050611b0a6000830184611ae6565b92915050565b611b1981611a5e565b82525050565b6000602082019050611b346000830184611b10565b92915050565b611b43816118ea565b82525050565b6000602082019050611b5e6000830184611b3a565b92915050565b6000611b6f826119b7565b9050919050565b611b7f81611b64565b82525050565b6000602082019050611b9a6000830184611b76565b92915050565b600060208284031215611bb657611bb56118c5565b5b6000611bc484828501611a7f565b91505092915050565b60008060408385031215611be457611be36118c5565b5b6000611bf285828601611a7f565b9250506020611c0385828601611913565b9150509250929050565b600082825260208201905092915050565b7f4f4e4c595f4f574e455200000000000000000000000000000000000000000000600082015250565b6000611c54600a83611c0d565b9150611c5f82611c1e565b602082019050919050565b60006020820190508181036000830152611c8381611c47565b9050919050565b7f4e4f545f4f574e45520000000000000000000000000000000000000000000000600082015250565b6000611cc0600983611c0d565b9150611ccb82611c8a565b602082019050919050565b60006020820190508181036000830152611cef81611cb3565b9050919050565b7f4e4f545f414e5f41444d494e0000000000000000000000000000000000000000600082015250565b6000611d2c600c83611c0d565b9150611d3782611cf6565b602082019050919050565b60006020820190508181036000830152611d5b81611d1f565b9050919050565b7f57524f4e475f414d4f554e540000000000000000000000000000000000000000600082015250565b6000611d98600c83611c0d565b9150611da382611d62565b602082019050919050565b60006020820190508181036000830152611dc781611d8b565b9050919050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b6000611e04600f83611c0d565b9150611e0f82611dce565b602082019050919050565b60006020820190508181036000830152611e3381611df7565b9050919050565b7f4e4f5f5245454e54525900000000000000000000000000000000000000000000600082015250565b6000611e70600a83611c0d565b9150611e7b82611e3a565b602082019050919050565b60006020820190508181036000830152611e9f81611e63565b9050919050565b7f4f4e4c595f434c41494d45520000000000000000000000000000000000000000600082015250565b6000611edc600c83611c0d565b9150611ee782611ea6565b602082019050919050565b60006020820190508181036000830152611f0b81611ecf565b9050919050565b6000604082019050611f276000830185611b3a565b611f346020830184611b3a565b9392505050565b600081519050611f4a81611a68565b92915050565b600060208284031215611f6657611f656118c5565b5b6000611f7484828501611f3b565b91505092915050565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b6000611fb3600c83611c0d565b9150611fbe82611f7d565b602082019050919050565b60006020820190508181036000830152611fe281611fa6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061202382611a5e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361205557612054611fe9565b5b600182019050919050565b60006060820190506120756000830186611b3a565b6120826020830185611b3a565b61208f6040830184611b10565b949350505050565b60006040820190506120ac6000830185611b3a565b6120b96020830184611b10565b9392505050565b600081519050919050565b600081905092915050565b60005b838110156120f45780820151818401526020810190506120d9565b60008484015250505050565b600061210b826120c0565b61211581856120cb565b93506121258185602086016120d6565b80840191505092915050565b600061213d8284612100565b915081905092915050565b60008151905061215781611a05565b92915050565b600060208284031215612173576121726118c5565b5b600061218184828501612148565b9150509291505056fea264697066735822122077b579aff0c43269c81716e6c4b28d5755ffd16de09c92d6a7f6925b9fd1b92664736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc20000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e0000000000000000000000004300000000000000000000000000000000000003000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc20000000000000000000000002536fe9ab3f511540f2f9e2ec2a805005c3dd800
-----Decoded View---------------
Arg [0] : _owner (address): 0xfa894dEA8da46dda595c3aF2960704226f8d6Cc2
Arg [1] : _bfx (address): 0x3Ba925fdeAe6B46d0BB4d424D829982Cb2F7309e
Arg [2] : _paymentToken (address): 0x4300000000000000000000000000000000000003
Arg [3] : _claimer (address): 0xfa894dEA8da46dda595c3aF2960704226f8d6Cc2
Arg [4] : _points (address): 0x2536FE9ab3F511540F2f9e2eC2A805005C3Dd800
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc2
Arg [1] : 0000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e
Arg [2] : 0000000000000000000000004300000000000000000000000000000000000003
Arg [3] : 000000000000000000000000fa894dea8da46dda595c3af2960704226f8d6cc2
Arg [4] : 0000000000000000000000002536fe9ab3f511540f2f9e2ec2a805005c3dd800
Deployed Bytecode Sourcemap
477:11019:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9545:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5354:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4257:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3420:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;569:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4605:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8445:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7004:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4989:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;548:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9043:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3895:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;763:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8174:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7564:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;511:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6477:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;900:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;629:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2701:319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2583:112;;;:::i;:::-;;6101:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10187:308;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8344:95;;;:::i;:::-;;5709:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8552:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;601:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1018:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;852:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;807:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9545:109;2023:5;2009:19;;:10;:19;;;2001:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;9615:4:::1;9604:3;::::0;:16:::1;;;;;;;;;;;;;;;;;;9642:4;9635:12;;;;;;;;;;;;9545:109:::0;:::o;5354:91::-;5409:29;5420:4;845:1;5409:10;:29::i;:::-;5354:91;:::o;4257:89::-;4311:28;4322:4;800:1;4311:10;:28::i;:::-;4257:89;:::o;3420:204::-;3472:4;3492:16;;;;;;;;;;;3488:130;;;3539:5;3531:13;;:4;:13;;;3524:20;;;;3488:130;3582:7;:13;3590:4;3582:13;;;;;;;;;;;;;;;:25;800:1;3582:25;;;;;;;;;;;;;;;;;;;;;3575:32;;3420:204;;;;:::o;569:26::-;;;;;;;;;;;;;:::o;4605:109::-;4658:4;4681:7;:13;4689:4;4681:13;;;;;;;;;;;;;;;:26;845:1;4681:26;;;;;;;;;;;;;;;;;;;;;4674:33;;4605:109;;;:::o;8445:101::-;2023:5;2009:19;;:10;:19;;;2001:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;8534:5:::1;8515:16;;:24;;;;;;;;;;;;;;;;;;8445:101:::0;:::o;7004:127::-;7080:4;7103:7;:15;7111:6;7103:15;;;;;;;;;;;;;;;:21;7119:4;7103:21;;;;;;;;;;;;;;;;;;;;;7096:28;;7004:127;;;;:::o;4989:85::-;5041:26;5049:4;845:1;5041:7;:26::i;:::-;4989:85;:::o;548:15::-;;;;;;;;;;;;:::o;9043:158::-;2023:5;2009:19;;:10;:19;;;2001:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;9142:13:::1;9120:12;;:36;;;;;;;;;;;;;;;;;;9180:13;9171:23;;;;;;;;;;;;9043:158:::0;:::o;3895:83::-;3946:25;3954:4;800:1;3946:7;:25::i;:::-;3895:83;:::o;763:38::-;800:1;763:38;:::o;8174:164::-;2205:16;;;;;;;;;;;2201:175;;;2259:5;2245:19;;:10;:19;;;2237:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2201:175;;;2317:7;:19;2325:10;2317:19;;;;;;;;;;;;;;;:31;800:1;2317:31;;;;;;;;;;;;;;;;;;;;;2309:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2201:175;8275:5:::1;8251:7;:15;8259:6;8251:15;;;;;;;;;;;;;;;:21;8267:4;8251:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;8320:10;8295:36;;8314:4;8306:6;8295:36;;;;;;;;;;;;8174:164:::0;;:::o;7564:157::-;2205:16;;;;;;;;;;;2201:175;;;2259:5;2245:19;;:10;:19;;;2237:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2201:175;;;2317:7;:19;2325:10;2317:19;;;;;;;;;;;;;;;:31;800:1;2317:31;;;;;;;;;;;;;;;;;;;;;2309:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2201:175;7662:4:::1;7638:7;:15;7646:6;7638:15;;;;;;;;;;;;;;;:21;7654:4;7638:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7703:10;7681:33;;7697:4;7689:6;7681:33;;;;;;;;;;;;7564:157:::0;;:::o;511:30::-;;;:::o;6477:97::-;6535:32;6546:4;893:1;6535:10;:32::i;:::-;6477:97;:::o;900:81::-;938:42;900:81;:::o;629:28::-;;;;;;;;;;;;;:::o;2701:319::-;2769:9;;2759:6;:19;;2751:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;2805:15;2823:18;:16;:18::i;:::-;2805:36;;2871:10;2856:34;;2862:7;2856:34;2883:6;2856:34;;;;;;:::i;:::-;;;;;;;;2921:51;2939:10;2959:3;;;;;;;;;;2965:6;2921:17;:51::i;:::-;2900:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;2741:279;2701:319;:::o;2583:112::-;723:1;2441:17;;:29;2433:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;756:1;2495:17;:26;;;;2122:7:::1;;;;;;;;;;;2108:21;;:10;:21;;;2100:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;938:42:::2;2647:17;;;2673:4;2680:7;;;;;;;;;;;2647:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;723:1:::0;2542:17;:28;;;;2583:112::o;6101:91::-;6156:29;6164:4;893:1;6156:7;:29::i;:::-;6101:91;:::o;10187:308::-;2023:5;2009:19;;:10;:19;;;2001:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;10287:1:::1;10278:6;:10;10270:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;10337:1;10323:16;;:2;:16;;::::0;10315:41:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10382:2;10371:22;;;10386:6;10371:22;;;;;;:::i;:::-;;;;;;;;10403:12;10418:25;10432:2;10436:6;10418:13;:25::i;:::-;10403:40;;10461:7;10453:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;10260:235;10187:308:::0;;:::o;8344:95::-;2023:5;2009:19;;:10;:19;;;2001:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;8428:4:::1;8399:7;:14;8407:5;8399:14;;;;;;;;;;;;;;;:26;800:1:::0;8399:26:::1;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8344:95::o:0;5709:115::-;5765:4;5788:7;:13;5796:4;5788:13;;;;;;;;;;;;;;;:29;893:1;5788:29;;;;;;;;;;;;;;;;;;;;;5781:36;;5709:115;;;:::o;8552:127::-;2023:5;2009:19;;:10;:19;;;2001:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;8629:8:::1;8619:7;;:18;;;;;;;;;;;;;;;;;;8663:8;8652:20;;;;;;;;;;;;8552:127:::0;:::o;601:22::-;;;;;;;;;;;;;:::o;1018:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;852:42::-;893:1;852:42;:::o;807:39::-;845:1;807:39;:::o;3026:149::-;3071:7;3090:15;3108:12;;3090:30;;3130:12;;:14;;;;;;;;;:::i;:::-;;;;;;3161:7;3154:14;;;3026:149;:::o;10505:382::-;10621:12;10664:216;10736:34;;;10792:4;10818:2;10842:6;10692:174;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10664:10;:216::i;:::-;10645:235;;10505:382;;;;;:::o;10893:185::-;10962:12;10993:78;11027:30;;;11059:2;11063:6;11004:66;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10993:10;:78::i;:::-;10986:85;;10893:185;;;;:::o;11084:410::-;11140:4;11157:12;11171:23;11206:12;;;;;;;;;;;11198:26;;11225:4;11198:32;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11156:74;;;;11244:7;11240:224;;;11292:1;11272:10;:17;:21;11268:186;;;11334:10;11323:30;;;;;;;;;;;;:::i;:::-;11313:40;;11268:186;;;11438:1;11410:12;;;;;;;;;;;11402:33;;;:37;11392:47;;11268:186;11240:224;11480:7;11473:14;;;;11084:410;;;:::o;88:117:3:-;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:60::-;1631:3;1652:5;1645:12;;1603:60;;;:::o;1669:142::-;1719:9;1752:53;1770:34;1779:24;1797:5;1779:24;:::i;:::-;1770:34;:::i;:::-;1752:53;:::i;:::-;1739:66;;1669:142;;;:::o;1817:126::-;1867:9;1900:37;1931:5;1900:37;:::i;:::-;1887:50;;1817:126;;;:::o;1949:140::-;2013:9;2046:37;2077:5;2046:37;:::i;:::-;2033:50;;1949:140;;;:::o;2095:159::-;2196:51;2241:5;2196:51;:::i;:::-;2191:3;2184:64;2095:159;;:::o;2260:250::-;2367:4;2405:2;2394:9;2390:18;2382:26;;2418:85;2500:1;2489:9;2485:17;2476:6;2418:85;:::i;:::-;2260:250;;;;:::o;2516:116::-;2586:21;2601:5;2586:21;:::i;:::-;2579:5;2576:32;2566:60;;2622:1;2619;2612:12;2566:60;2516:116;:::o;2638:133::-;2681:5;2719:6;2706:20;2697:29;;2735:30;2759:5;2735:30;:::i;:::-;2638:133;;;;:::o;2777:323::-;2833:6;2882:2;2870:9;2861:7;2857:23;2853:32;2850:119;;;2888:79;;:::i;:::-;2850:119;3008:1;3033:50;3075:7;3066:6;3055:9;3051:22;3033:50;:::i;:::-;3023:60;;2979:114;2777:323;;;;:::o;3106:77::-;3143:7;3172:5;3161:16;;3106:77;;;:::o;3189:122::-;3262:24;3280:5;3262:24;:::i;:::-;3255:5;3252:35;3242:63;;3301:1;3298;3291:12;3242:63;3189:122;:::o;3317:139::-;3363:5;3401:6;3388:20;3379:29;;3417:33;3444:5;3417:33;:::i;:::-;3317:139;;;;:::o;3462:474::-;3530:6;3538;3587:2;3575:9;3566:7;3562:23;3558:32;3555:119;;;3593:79;;:::i;:::-;3555:119;3713:1;3738:53;3783:7;3774:6;3763:9;3759:22;3738:53;:::i;:::-;3728:63;;3684:117;3840:2;3866:53;3911:7;3902:6;3891:9;3887:22;3866:53;:::i;:::-;3856:63;;3811:118;3462:474;;;;;:::o;3942:136::-;4002:9;4035:37;4066:5;4035:37;:::i;:::-;4022:50;;3942:136;;;:::o;4084:151::-;4181:47;4222:5;4181:47;:::i;:::-;4176:3;4169:60;4084:151;;:::o;4241:242::-;4344:4;4382:2;4371:9;4367:18;4359:26;;4395:81;4473:1;4462:9;4458:17;4449:6;4395:81;:::i;:::-;4241:242;;;;:::o;4489:118::-;4576:24;4594:5;4576:24;:::i;:::-;4571:3;4564:37;4489:118;;:::o;4613:222::-;4706:4;4744:2;4733:9;4729:18;4721:26;;4757:71;4825:1;4814:9;4810:17;4801:6;4757:71;:::i;:::-;4613:222;;;;:::o;4841:118::-;4928:24;4946:5;4928:24;:::i;:::-;4923:3;4916:37;4841:118;;:::o;4965:222::-;5058:4;5096:2;5085:9;5081:18;5073:26;;5109:71;5177:1;5166:9;5162:17;5153:6;5109:71;:::i;:::-;4965:222;;;;:::o;5193:139::-;5256:9;5289:37;5320:5;5289:37;:::i;:::-;5276:50;;5193:139;;;:::o;5338:157::-;5438:50;5482:5;5438:50;:::i;:::-;5433:3;5426:63;5338:157;;:::o;5501:248::-;5607:4;5645:2;5634:9;5630:18;5622:26;;5658:84;5739:1;5728:9;5724:17;5715:6;5658:84;:::i;:::-;5501:248;;;;:::o;5755:329::-;5814:6;5863:2;5851:9;5842:7;5838:23;5834:32;5831:119;;;5869:79;;:::i;:::-;5831:119;5989:1;6014:53;6059:7;6050:6;6039:9;6035:22;6014:53;:::i;:::-;6004:63;;5960:117;5755:329;;;;:::o;6090:474::-;6158:6;6166;6215:2;6203:9;6194:7;6190:23;6186:32;6183:119;;;6221:79;;:::i;:::-;6183:119;6341:1;6366:53;6411:7;6402:6;6391:9;6387:22;6366:53;:::i;:::-;6356:63;;6312:117;6468:2;6494:53;6539:7;6530:6;6519:9;6515:22;6494:53;:::i;:::-;6484:63;;6439:118;6090:474;;;;;:::o;6570:169::-;6654:11;6688:6;6683:3;6676:19;6728:4;6723:3;6719:14;6704:29;;6570:169;;;;:::o;6745:160::-;6885:12;6881:1;6873:6;6869:14;6862:36;6745:160;:::o;6911:366::-;7053:3;7074:67;7138:2;7133:3;7074:67;:::i;:::-;7067:74;;7150:93;7239:3;7150:93;:::i;:::-;7268:2;7263:3;7259:12;7252:19;;6911:366;;;:::o;7283:419::-;7449:4;7487:2;7476:9;7472:18;7464:26;;7536:9;7530:4;7526:20;7522:1;7511:9;7507:17;7500:47;7564:131;7690:4;7564:131;:::i;:::-;7556:139;;7283:419;;;:::o;7708:159::-;7848:11;7844:1;7836:6;7832:14;7825:35;7708:159;:::o;7873:365::-;8015:3;8036:66;8100:1;8095:3;8036:66;:::i;:::-;8029:73;;8111:93;8200:3;8111:93;:::i;:::-;8229:2;8224:3;8220:12;8213:19;;7873:365;;;:::o;8244:419::-;8410:4;8448:2;8437:9;8433:18;8425:26;;8497:9;8491:4;8487:20;8483:1;8472:9;8468:17;8461:47;8525:131;8651:4;8525:131;:::i;:::-;8517:139;;8244:419;;;:::o;8669:162::-;8809:14;8805:1;8797:6;8793:14;8786:38;8669:162;:::o;8837:366::-;8979:3;9000:67;9064:2;9059:3;9000:67;:::i;:::-;8993:74;;9076:93;9165:3;9076:93;:::i;:::-;9194:2;9189:3;9185:12;9178:19;;8837:366;;;:::o;9209:419::-;9375:4;9413:2;9402:9;9398:18;9390:26;;9462:9;9456:4;9452:20;9448:1;9437:9;9433:17;9426:47;9490:131;9616:4;9490:131;:::i;:::-;9482:139;;9209:419;;;:::o;9634:162::-;9774:14;9770:1;9762:6;9758:14;9751:38;9634:162;:::o;9802:366::-;9944:3;9965:67;10029:2;10024:3;9965:67;:::i;:::-;9958:74;;10041:93;10130:3;10041:93;:::i;:::-;10159:2;10154:3;10150:12;10143:19;;9802:366;;;:::o;10174:419::-;10340:4;10378:2;10367:9;10363:18;10355:26;;10427:9;10421:4;10417:20;10413:1;10402:9;10398:17;10391:47;10455:131;10581:4;10455:131;:::i;:::-;10447:139;;10174:419;;;:::o;10599:165::-;10739:17;10735:1;10727:6;10723:14;10716:41;10599:165;:::o;10770:366::-;10912:3;10933:67;10997:2;10992:3;10933:67;:::i;:::-;10926:74;;11009:93;11098:3;11009:93;:::i;:::-;11127:2;11122:3;11118:12;11111:19;;10770:366;;;:::o;11142:419::-;11308:4;11346:2;11335:9;11331:18;11323:26;;11395:9;11389:4;11385:20;11381:1;11370:9;11366:17;11359:47;11423:131;11549:4;11423:131;:::i;:::-;11415:139;;11142:419;;;:::o;11567:160::-;11707:12;11703:1;11695:6;11691:14;11684:36;11567:160;:::o;11733:366::-;11875:3;11896:67;11960:2;11955:3;11896:67;:::i;:::-;11889:74;;11972:93;12061:3;11972:93;:::i;:::-;12090:2;12085:3;12081:12;12074:19;;11733:366;;;:::o;12105:419::-;12271:4;12309:2;12298:9;12294:18;12286:26;;12358:9;12352:4;12348:20;12344:1;12333:9;12329:17;12322:47;12386:131;12512:4;12386:131;:::i;:::-;12378:139;;12105:419;;;:::o;12530:162::-;12670:14;12666:1;12658:6;12654:14;12647:38;12530:162;:::o;12698:366::-;12840:3;12861:67;12925:2;12920:3;12861:67;:::i;:::-;12854:74;;12937:93;13026:3;12937:93;:::i;:::-;13055:2;13050:3;13046:12;13039:19;;12698:366;;;:::o;13070:419::-;13236:4;13274:2;13263:9;13259:18;13251:26;;13323:9;13317:4;13313:20;13309:1;13298:9;13294:17;13287:47;13351:131;13477:4;13351:131;:::i;:::-;13343:139;;13070:419;;;:::o;13495:332::-;13616:4;13654:2;13643:9;13639:18;13631:26;;13667:71;13735:1;13724:9;13720:17;13711:6;13667:71;:::i;:::-;13748:72;13816:2;13805:9;13801:18;13792:6;13748:72;:::i;:::-;13495:332;;;;;:::o;13833:143::-;13890:5;13921:6;13915:13;13906:22;;13937:33;13964:5;13937:33;:::i;:::-;13833:143;;;;:::o;13982:351::-;14052:6;14101:2;14089:9;14080:7;14076:23;14072:32;14069:119;;;14107:79;;:::i;:::-;14069:119;14227:1;14252:64;14308:7;14299:6;14288:9;14284:22;14252:64;:::i;:::-;14242:74;;14198:128;13982:351;;;;:::o;14339:162::-;14479:14;14475:1;14467:6;14463:14;14456:38;14339:162;:::o;14507:366::-;14649:3;14670:67;14734:2;14729:3;14670:67;:::i;:::-;14663:74;;14746:93;14835:3;14746:93;:::i;:::-;14864:2;14859:3;14855:12;14848:19;;14507:366;;;:::o;14879:419::-;15045:4;15083:2;15072:9;15068:18;15060:26;;15132:9;15126:4;15122:20;15118:1;15107:9;15103:17;15096:47;15160:131;15286:4;15160:131;:::i;:::-;15152:139;;14879:419;;;:::o;15304:180::-;15352:77;15349:1;15342:88;15449:4;15446:1;15439:15;15473:4;15470:1;15463:15;15490:233;15529:3;15552:24;15570:5;15552:24;:::i;:::-;15543:33;;15598:66;15591:5;15588:77;15585:103;;15668:18;;:::i;:::-;15585:103;15715:1;15708:5;15704:13;15697:20;;15490:233;;;:::o;15729:442::-;15878:4;15916:2;15905:9;15901:18;15893:26;;15929:71;15997:1;15986:9;15982:17;15973:6;15929:71;:::i;:::-;16010:72;16078:2;16067:9;16063:18;16054:6;16010:72;:::i;:::-;16092;16160:2;16149:9;16145:18;16136:6;16092:72;:::i;:::-;15729:442;;;;;;:::o;16177:332::-;16298:4;16336:2;16325:9;16321:18;16313:26;;16349:71;16417:1;16406:9;16402:17;16393:6;16349:71;:::i;:::-;16430:72;16498:2;16487:9;16483:18;16474:6;16430:72;:::i;:::-;16177:332;;;;;:::o;16515:98::-;16566:6;16600:5;16594:12;16584:22;;16515:98;;;:::o;16619:147::-;16720:11;16757:3;16742:18;;16619:147;;;;:::o;16772:246::-;16853:1;16863:113;16877:6;16874:1;16871:13;16863:113;;;16962:1;16957:3;16953:11;16947:18;16943:1;16938:3;16934:11;16927:39;16899:2;16896:1;16892:10;16887:15;;16863:113;;;17010:1;17001:6;16996:3;16992:16;16985:27;16834:184;16772:246;;;:::o;17024:386::-;17128:3;17156:38;17188:5;17156:38;:::i;:::-;17210:88;17291:6;17286:3;17210:88;:::i;:::-;17203:95;;17307:65;17365:6;17360:3;17353:4;17346:5;17342:16;17307:65;:::i;:::-;17397:6;17392:3;17388:16;17381:23;;17132:278;17024:386;;;;:::o;17416:271::-;17546:3;17568:93;17657:3;17648:6;17568:93;:::i;:::-;17561:100;;17678:3;17671:10;;17416:271;;;;:::o;17693:137::-;17747:5;17778:6;17772:13;17763:22;;17794:30;17818:5;17794:30;:::i;:::-;17693:137;;;;:::o;17836:345::-;17903:6;17952:2;17940:9;17931:7;17927:23;17923:32;17920:119;;;17958:79;;:::i;:::-;17920:119;18078:1;18103:61;18156:7;18147:6;18136:9;18132:22;18103:61;:::i;:::-;18093:71;;18049:125;17836:345;;;;:::o
Swarm Source
ipfs://77b579aff0c43269c81716e6c4b28d5755ffd16de09c92d6a7f6925b9fd1b926
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.