| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x2858ed…cd2035 | 22 days agoSat, 25 Jul 2026 21:06:33 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…8568ebde data: 0x000000000000000000…cf6a776e |
| 0x974cca…b52368 | 22 days agoSat, 25 Jul 2026 19:01:52 UTC | Transfer | [0] 0x000000000000…94624eff [1] 0x000000000000…43e40951 data: 0x000000000000000000…63535bdc |
| 0x974cca…b52368 | 22 days agoSat, 25 Jul 2026 19:01:52 UTC | Transfer | [0] 0x000000000000…24c8fce5 [1] 0x000000000000…94624eff data: 0x000000000000000000…63535bdc |
| 0xfe3573…8d72e4 | 22 days agoSat, 25 Jul 2026 18:53:29 UTC | Approval | [0] 0x000000000000…24c8fce5 [1] 0x000000000000…72c22734 data: 0xffffffffffffffffff…ffffffff |
| 0x6cae56…44ced0 | 22 days agoSat, 25 Jul 2026 14:16:10 UTC | Transfer | [0] 0x000000000000…638de0d3 [1] 0x000000000000…7ee17377 data: 0x000000000000000000…10e149fb |
| 0x6cae56…44ced0 | 22 days agoSat, 25 Jul 2026 14:16:10 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…10e149fb |
| 0x3f4008…93c708 | 22 days agoSat, 25 Jul 2026 14:16:06 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…32dd41b7 data: 0x000000000000000000…e5c14bf9 |
| 0x67a3ba…933720 | 22 days agoSat, 25 Jul 2026 14:16:03 UTC | Transfer | [0] 0x000000000000…50d4738c [1] 0x000000000000…40e6d068 data: 0x000000000000000000…6f52b021 |
| 0x67a3ba…933720 | 22 days agoSat, 25 Jul 2026 14:16:03 UTC | Approval | [0] 0x000000000000…50d4738c [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…6f52b021 |
| 0xd1ad99…4f73ed | 22 days agoSat, 25 Jul 2026 14:16:03 UTC | Transfer | [0] 0x000000000000…34722f1f [1] 0x000000000000…40e6d068 data: 0x000000000000000000…3ec5090f |
| 0xd1ad99…4f73ed | 22 days agoSat, 25 Jul 2026 14:16:03 UTC | Approval | [0] 0x000000000000…34722f1f [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…3ec5090f |
| 0xfef1d1…8129f7 | 22 days agoSat, 25 Jul 2026 14:16:03 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…0906f7ae data: 0x000000000000000000…f2c5e69f |
| 0xbda2f4…09b360 | 22 days agoSat, 25 Jul 2026 14:16:03 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…1bf22322 data: 0x000000000000000000…9fbaa7e0 |
| 0x77310b…cd25c2 | 22 days agoSat, 25 Jul 2026 14:16:02 UTC | Transfer | [0] 0x000000000000…7550e4f2 [1] 0x000000000000…40e6d068 data: 0x000000000000000000…a948a071 |
| 0x77310b…cd25c2 | 22 days agoSat, 25 Jul 2026 14:16:02 UTC | Approval | [0] 0x000000000000…7550e4f2 [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…a948a071 |
| 0x5da8ee…73377e | 22 days agoSat, 25 Jul 2026 14:16:02 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…5c655c05 data: 0x000000000000000000…540ebae1 |
| 0xd8a8fd…03f39c | 22 days agoSat, 25 Jul 2026 14:16:02 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…326ffbd3 data: 0x000000000000000000…c9f7e8d9 |
| 0xd8c36f…210bc1 | 22 days agoSat, 25 Jul 2026 14:16:01 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…9479294e data: 0x000000000000000000…d8abded9 |
| 0x095baa…357a31 | 22 days agoSat, 25 Jul 2026 14:16:00 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…cceea1f3 data: 0x000000000000000000…2a01fb5b |
| 0xb0d767…c1921e | 22 days agoSat, 25 Jul 2026 14:16:00 UTC | Transfer | [0] 0x000000000000…8a6eff82 [1] 0x000000000000…40e6d068 data: 0x000000000000000000…3f26a3a8 |
| 0xb0d767…c1921e | 22 days agoSat, 25 Jul 2026 14:16:00 UTC | Approval | [0] 0x000000000000…8a6eff82 [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…3f26a3a8 |
| 0x948269…e9de52 | 22 days agoSat, 25 Jul 2026 14:16:00 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…d8b37cd6 data: 0x000000000000000000…29f15744 |
| 0x90ff9b…14853c | 22 days agoSat, 25 Jul 2026 14:16:00 UTC | Transfer | [0] 0x000000000000…40e6d068 [1] 0x000000000000…0c043c3a data: 0x000000000000000000…4874c5f5 |
| 0x29d91d…6de657 | 22 days agoSat, 25 Jul 2026 14:15:58 UTC | Transfer | [0] 0x000000000000…f18f4175 [1] 0x000000000000…40e6d068 data: 0x000000000000000000…221fee3d |
| 0x29d91d…6de657 | 22 days agoSat, 25 Jul 2026 14:15:58 UTC | Approval | [0] 0x000000000000…f18f4175 [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…221fee3d |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {OFT} from "@layerzerolabs/oft-evm/contracts/OFT.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
contract HoodOFT is OFT, ERC20Permit {
constructor(
string memory tokenName,
string memory tokenSymbol,
address layerZeroEndpoint,
address configurationOwner
)
OFT(tokenName, tokenSymbol, layerZeroEndpoint, configurationOwner)
ERC20Permit(tokenName)
Ownable(configurationOwner)
{}
function decimals() public pure override returns (uint8) {
return 18;
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "tokenName",
"type": "string",
"internalType": "string"
},
{
"name": "tokenSymbol",
"type": "string",
"internalType": "string"
},
{
"name": "layerZeroEndpoint",
"type": "address",
"internalType": "address"
},
{
"name": "configurationOwner",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AmountSDOverflowed",
"type": "error",
"inputs": [
{
"name": "amountSD",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ECDSAInvalidSignature",
"type": "error",
"inputs": []
},
{
"name": "ECDSAInvalidSignatureLength",
"type": "error",
"inputs": [
{
"name": "length",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ECDSAInvalidSignatureS",
"type": "error",
"inputs": [
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC2612ExpiredSignature",
"type": "error",
"inputs": [
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC2612InvalidSigner",
"type": "error",
"inputs": [
{
"name": "signer",
"type": "address",
"internalType": "address"
},
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "InvalidAccountNonce",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "currentNonce",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "InvalidDelegate",
"type": "error",
"inputs": []
},
{
"name": "InvalidEndpointCall",
"type": "error",
"inputs": []
},
{
"name": "InvalidLocalDecimals",
"type": "error",
"inputs": []
},
{
"name": "InvalidOptions",
"type": "error",
"inputs": [
{
"name": "options",
"type": "bytes",
"internalType": "bytes"
}
]
},
{
"name": "InvalidShortString",
"type": "error",
"inputs": []
},
{
"name": "LzTokenUnavailable",
"type": "error",
"inputs": []
},
{
"name": "NoPeer",
"type": "error",
"inputs": [
{
"name": "eid",
"type": "uint32",
"internalType": "uint32"
}
]
},
{
"name": "NotEnoughNative",
"type": "error",
"inputs": [
{
"name": "msgValue",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "OnlyEndpoint",
"type": "error",
"inputs": [
{
"name": "addr",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OnlyPeer",
"type": "error",
"inputs": [
{
"name": "eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "OnlySelf",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "SimulationResult",
"type": "error",
"inputs": [
{
"name": "result",
"type": "bytes",
"internalType": "bytes"
}
]
},
{
"name": "SlippageExceeded",
"type": "error",
"inputs": [
{
"name": "amountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minAmountLD",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "StringTooLong",
"type": "error",
"inputs": [
{
"name": "str",
"type": "string",
"internalType": "string"
}
]
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "EIP712DomainChanged",
"type": "event",
"inputs": [],
"anonymous": false
},
{
"name": "EnforcedOptionSet",
"type": "event",
"inputs": [
{
"name": "_enforcedOptions",
"type": "tuple[]",
"indexed": false,
"components": [
{
"name": "eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "msgType",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "options",
"type": "bytes",
"internalType": "bytes"
}
],
"internalType": "struct EnforcedOptionParam[]"
}
],
"anonymous": false
},
{
"name": "MsgInspectorSet",
"type": "event",
"inputs": [
{
"name": "inspector",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "OFTReceived",
"type": "event",
"inputs": [
{
"name": "guid",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "srcEid",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "toAddress",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amountReceivedLD",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OFTSent",
"type": "event",
"inputs": [
{
"name": "guid",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "dstEid",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "fromAddress",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amountSentLD",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amountReceivedLD",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "PeerSet",
"type": "event",
"inputs": [
{
"name": "eid",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "peer",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"name": "PreCrimeSet",
"type": "event",
"inputs": [
{
"name": "preCrimeAddress",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "DOMAIN_SEPARATOR",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "SEND",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "SEND_AND_CALL",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "allowInitializePath",
"type": "function",
"inputs": [
{
"name": "origin",
"type": "tuple",
"components": [
{
"name": "srcEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct Origin"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approvalRequired",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "pure"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "combineOptions",
"type": "function",
"inputs": [
{
"name": "_eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "_msgType",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "_extraOptions",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "view"
},
{
"name": "decimalConversionRate",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "pure"
},
{
"name": "eip712Domain",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "fields",
"type": "bytes1",
"internalType": "bytes1"
},
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "version",
"type": "string",
"internalType": "string"
},
{
"name": "chainId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "verifyingContract",
"type": "address",
"internalType": "address"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "extensions",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"stateMutability": "view"
},
{
"name": "endpoint",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ILayerZeroEndpointV2"
}
],
"stateMutability": "view"
},
{
"name": "enforcedOptions",
"type": "function",
"inputs": [
{
"name": "eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "msgType",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [
{
"name": "enforcedOption",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "view"
},
{
"name": "isComposeMsgSender",
"type": "function",
"inputs": [
{
"name": "",
"type": "tuple",
"components": [
{
"name": "srcEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct Origin"
},
{
"name": "",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "_sender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "isPeer",
"type": "function",
"inputs": [
{
"name": "_eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "_peer",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "lzReceive",
"type": "function",
"inputs": [
{
"name": "_origin",
"type": "tuple",
"components": [
{
"name": "srcEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct Origin"
},
{
"name": "_guid",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "_message",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "_executor",
"type": "address",
"internalType": "address"
},
{
"name": "_extraData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"name": "lzReceiveAndRevert",
"type": "function",
"inputs": [
{
"name": "_packets",
"type": "tuple[]",
"components": [
{
"name": "origin",
"type": "tuple",
"components": [
{
"name": "srcEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct Origin"
},
{
"name": "dstEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "guid",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "executor",
"type": "address",
"internalType": "address"
},
{
"name": "message",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "extraData",
"type": "bytes",
"internalType": "bytes"
}
],
"internalType": "struct InboundPacket[]"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"name": "lzReceiveSimulate",
"type": "function",
"inputs": [
{
"name": "_origin",
"type": "tuple",
"components": [
{
"name": "srcEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct Origin"
},
{
"name": "_guid",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "_message",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "_executor",
"type": "address",
"internalType": "address"
},
{
"name": "_extraData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"name": "msgInspector",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "nextNonce",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"name": "nonces",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "oApp",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "oAppVersion",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "senderVersion",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "receiverVersion",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "pure"
},
{
"name": "oftVersion",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "version",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "pure"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "peers",
"type": "function",
"inputs": [
{
"name": "eid",
"type": "uint32",
"internalType": "uint32"
}
],
"outputs": [
{
"name": "peer",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "permit",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "preCrime",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "quoteOFT",
"type": "function",
"inputs": [
{
"name": "_sendParam",
"type": "tuple",
"components": [
{
"name": "dstEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "to",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minAmountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "extraOptions",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "composeMsg",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "oftCmd",
"type": "bytes",
"internalType": "bytes"
}
],
"internalType": "struct SendParam"
}
],
"outputs": [
{
"name": "oftLimit",
"type": "tuple",
"components": [
{
"name": "minAmountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxAmountLD",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct OFTLimit"
},
{
"name": "oftFeeDetails",
"type": "tuple[]",
"components": [
{
"name": "feeAmountLD",
"type": "int256",
"internalType": "int256"
},
{
"name": "description",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct OFTFeeDetail[]"
},
{
"name": "oftReceipt",
"type": "tuple",
"components": [
{
"name": "amountSentLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountReceivedLD",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct OFTReceipt"
}
],
"stateMutability": "view"
},
{
"name": "quoteSend",
"type": "function",
"inputs": [
{
"name": "_sendParam",
"type": "tuple",
"components": [
{
"name": "dstEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "to",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minAmountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "extraOptions",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "composeMsg",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "oftCmd",
"type": "bytes",
"internalType": "bytes"
}
],
"internalType": "struct SendParam"
},
{
"name": "_payInLzToken",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [
{
"name": "msgFee",
"type": "tuple",
"components": [
{
"name": "nativeFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "lzTokenFee",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct MessagingFee"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "send",
"type": "function",
"inputs": [
{
"name": "_sendParam",
"type": "tuple",
"components": [
{
"name": "dstEid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "to",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minAmountLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "extraOptions",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "composeMsg",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "oftCmd",
"type": "bytes",
"internalType": "bytes"
}
],
"internalType": "struct SendParam"
},
{
"name": "_fee",
"type": "tuple",
"components": [
{
"name": "nativeFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "lzTokenFee",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct MessagingFee"
},
{
"name": "_refundAddress",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "msgReceipt",
"type": "tuple",
"components": [
{
"name": "guid",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nonce",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "fee",
"type": "tuple",
"components": [
{
"name": "nativeFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "lzTokenFee",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct MessagingFee"
}
],
"internalType": "struct MessagingReceipt"
},
{
"name": "oftReceipt",
"type": "tuple",
"components": [
{
"name": "amountSentLD",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountReceivedLD",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct OFTReceipt"
}
],
"stateMutability": "payable"
},
{
"name": "setDelegate",
"type": "function",
"inputs": [
{
"name": "_delegate",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setEnforcedOptions",
"type": "function",
"inputs": [
{
"name": "_enforcedOptions",
"type": "tuple[]",
"components": [
{
"name": "eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "msgType",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "options",
"type": "bytes",
"internalType": "bytes"
}
],
"internalType": "struct EnforcedOptionParam[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setMsgInspector",
"type": "function",
"inputs": [
{
"name": "_msgInspector",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPeer",
"type": "function",
"inputs": [
{
"name": "_eid",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "_peer",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPreCrime",
"type": "function",
"inputs": [
{
"name": "_preCrime",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "sharedDecimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "token",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}
]0x6101a0806040523461054e575f90613d4d803803809161001f8285610565565b8339810160808282031261054e5781516001600160401b03811161054e578161004991840161059c565b602083015190916001600160401b03821161054e5761006991840161059c565b90610082606061007b604086016105f1565b94016105f1565b916040948551946100938787610565565b60018652603160f81b60208701908152946001600160a01b03168015610552575f80546001600160a01b03198116831782558951939183916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600160a01b03166080819052803b1561054e576024835f8193819563ca5eb5e160e01b845260048401525af1801561054457610531575b5064e8d4a5100060a05282516001600160401b03811161043757600854600181811c91168015610527575b602082101461041957601f81116104b8575b50806020601f821160011461045657839161044b575b508160011b915f199060031b1c1916176008555b8151916001600160401b03831161043757600954600181811c9116801561042d575b6020821014610419579081601f859493116103a0575b50602091601f841160011461033c5792610331575b50508160011b915f199060031b1c1916176009555b61020481610605565b61016052610211836107ac565b610180526020815191012091826101205251902080610140524660e05282519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528483015260608201524660808201523060a082015260a0815261027d60c082610565565b51902060c05230610100525161345c90816108f182396080518181816107760152818161089e01528181610d690152818161104601528181611a37015281816130b201526132c4015260a051818181610c98015281816114590152818161222c01528181612c010152612e2b015260c05181612471015260e0518161252e01526101005181612442015261012051816124c0015261014051816124e60152610160518161125c015261018051816112850152f35b015190505f806101e6565b600981528281209350601f198516905b8181106103885750908460019594939210610370575b505050811b016009556101fb565b01515f1960f88460031b161c191690555f8080610362565b9293602060018192878601518155019501930161034c565b838111156101d1576009835291925090601f840160051c7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af60208610610411575b85949392601f0160051c8290039101835b8281106104005750506101d1565b8082018590558695506001016103f2565b8491506103e1565b634e487b7160e01b83526022600452602483fd5b90607f16906101bb565b634e487b7160e01b82526041600452602482fd5b90508401515f610185565b600884528084209150601f198316845b8181106104a057509083600194939210610488575b5050811b01600855610199565b8601515f1960f88460031b161c191690555f8061047b565b9192602060018192868b015181550194019201610466565b8181111561016f5760088352601f820160051c7ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee36020841061051f575b81601f9101920160051c0390835b82811061051157505061016f565b808560019284015501610503565b8491506104f5565b90607f169061015d565b61053d91505f90610565565b5f5f610132565b87513d5f823e3d90fd5b5f80fd5b631e4fbdf760e01b5f525f60045260245ffd5b601f909101601f19168101906001600160401b0382119082101761058857604052565b634e487b7160e01b5f52604160045260245ffd5b81601f8201121561054e578051906001600160401b03821161058857604051926105d0601f8401601f191660200185610565565b8284526020838301011161054e57815f9260208093018386015e8301015290565b51906001600160a01b038216820361054e57565b908151602081105f1461067f575090601f81511161063f576020815191015160208210610630571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161058857600a54600181811c911680156107a2575b602082101461078e57601f811161074f575b50602092601f82116001146106ee57928192935f926106e3575b50508160011b915f199060031b1c191617600a5560ff90565b015190505f806106ca565b601f19821693600a5f52805f20915f5b868110610737575083600195961061071f575b505050811b01600a5560ff90565b01515f1960f88460031b161c191690555f8080610711565b919260206001819286850151815501940192016106fe565b818111156106b057600a5f5260205f20601f80840160051c809201920160051c03905f5b8281106107815750506106b0565b5f82820155600101610773565b634e487b7160e01b5f52602260045260245ffd5b90607f169061069e565b908151602081105f146107d7575090601f81511161063f576020815191015160208210610630571790565b6001600160401b03811161058857600b54600181811c911680156108e6575b602082101461078e57601f81116108a7575b50602092601f821160011461084657928192935f9261083b575b50508160011b915f199060031b1c191617600b5560ff90565b015190505f80610822565b601f19821693600b5f52805f20915f5b86811061088f5750836001959610610877575b505050811b01600b5560ff90565b01515f1960f88460031b161c191690555f8080610869565b91926020600181928685015181550194019201610856565b8181111561080857600b5f5260205f20601f80840160051c809201920160051c03905f5b8281106108d9575050610808565b5f828201556001016108cb565b90607f16906107f656fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146102ef578063095ea7b3146102ea5780630d35b415146102e5578063111ecdad146102e057806313137d65146102db578063134d4f25146102d6578063156a0d0f146102d157806317442b70146102cc57806318160ddd146102c75780631f5e1334146102c257806323b872dd146102bd578063313ce567146102b85780633400288b146102b35780633644e515146102ae5780633b6f743b146102a957806352ae2879146102185780635535d461146102a45780635a0dfe4d1461029f5780635e280f111461029a5780636fc1b31e1461029557806370a0823114610290578063715018a61461028b5780637d25a05e146102865780637ecebe001461028157806382413eac1461027c57806384b0196e14610277578063857749b0146102725780638da5cb5b1461026d57806395d89b4114610268578063963efcaa146102635780639f68b9641461025e578063a9059cbb14610259578063b731ea0a14610254578063b98bd0701461024f578063bb0b6a531461024a578063bc70b35414610245578063bd815db014610240578063c7c7f5b31461023b578063ca5eb5e114610236578063d045a0dc14610231578063d42438851461022c578063d505accf14610227578063dd62ed3e14610222578063f2fde38b1461021d578063fc0c546a146102185763ff7bd03d14610213575f80fd5b611e02565b610e00565b611d55565b611cf4565b611b7c565b611b03565b611ab9565b611a07565b6118a0565b6116af565b61165a565b611621565b61153a565b6114c0565b611496565b61147c565b611442565b61139d565b611378565b61135d565b611244565b6111e5565b6111a9565b611183565b61111f565b6110e3565b61106a565b611027565b610fe1565b610f66565b610c33565b610c07565b610b82565b610b59565b610a8c565b610a71565b610a54565b610a33565b6109f3565b6109d8565b61075d565b610689565b610508565b610425565b61033a565b5f9103126102fe57565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610337928181520190610302565b90565b346102fe575f3660031901126102fe576040515f60085461035a81610e3a565b80845290600181169081156103f05750600114610392575b61038e8361038281850382610f44565b60405191829182610326565b0390f35b60085f9081527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b8082106103d657509091508101602001610382610372565b9192600181602092548385880101520191019092916103be565b60ff191660208086019190915291151560051b840190910191506103829050610372565b6001600160a01b038116036102fe57565b346102fe5760403660031901126102fe5761044f60043561044581610414565b6024359033612a75565b602060405160018152f35b908160e09103126102fe5790565b939291906104848560a081019260208091805184520151910152565b60a06040860152815180915260c0850190602060c08260051b8801019301915f905b8282106104cc57505050509060606104ca9294019060208091805184520151910152565b565b909192936020806104fa60019360bf198c82030186526040838a518051845201519181858201520190610302565b9601920192019092916104a6565b346102fe5760203660031901126102fe5760043567ffffffffffffffff81116102fe5761053990369060040161045a565b610541611e65565b5061054a611e65565b506040517ffc0c546a000000000000000000000000000000000000000000000000000000008152602081600481305afa908115610657576001600160a01b03916020915f9161065c575b506004604051809481937f18160ddd000000000000000000000000000000000000000000000000000000008352165afa908115610657575f91610628575b506105db611e47565b905f8252602082015261038e61060c6105f2611ec4565b936040810135610606606083013592611f0a565b50612223565b610614611e47565b918252602082015260405193849384610468565b61064a915060203d602011610650575b6106428183610f44565b810190611e9d565b5f6105d2565b503d610638565b611e92565b61067c9150823d8411610682575b6106748183610f44565b810190611e7d565b5f610594565b503d61066a565b346102fe575f3660031901126102fe5760206001600160a01b0360045416604051908152f35b60609060031901126102fe57600490565b9181601f840112156102fe5782359167ffffffffffffffff83116102fe57602083818601950101116102fe57565b90600319820160e081126102fe576060136102fe576004916064359160843567ffffffffffffffff81116102fe5782610729916004016106c0565b9290929160a43561073981610414565b9160c4359067ffffffffffffffff82116102fe57610759916004016106c0565b9091565b610766366106ee565b5050509092336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016036109ac5780356107a681610b74565b6107af81612275565b90602083013580920361096e5750506107d76107cb8386612bd4565b6001600160a01b031690565b916107fd6107ed6107e88388612be0565b612bf2565b6107f684611f0a565b5084612c27565b94859060288311610868575b50847fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c6001600160a01b038661086361084188611f0a565b956040519384931696836020909392919363ffffffff60408201951681520152565b0390a3005b90610893929161088d61087d604087016122be565b9361088787611f0a565b92612cb1565b92612ccd565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156102fe576109045f949185926040519687809481937f7cb590120000000000000000000000000000000000000000000000000000000083528b89600485016122c8565b03925af1928315610657576108416001600160a01b0393610863927fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c96610954575b509350829450869150610809565b806109625f61096893610f44565b806102f4565b5f610946565b8061097d63ffffffff92610b74565b7fc26bebcc000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f91ac5e4f000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346102fe575f3660031901126102fe57602060405160028152f35b346102fe575f3660031901126102fe57604080517f02e49c2c00000000000000000000000000000000000000000000000000000000815260016020820152f35b346102fe575f3660031901126102fe57604080516001815260026020820152f35b346102fe575f3660031901126102fe576020600754604051908152f35b346102fe575f3660031901126102fe57602060405160018152f35b346102fe5760603660031901126102fe57600435610aa981610414565b602435610ab581610414565b604435906001600160a01b0383165f526006602052610ae83360405f20906001600160a01b03165f5260205260405f2090565b54925f198410610b09575b610afd93506122f3565b60405160018152602090f35b828410610b2557610b2083610afd95033383612b43565b610af3565b82847ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b346102fe575f3660031901126102fe57602060405160128152f35b63ffffffff8116036102fe57565b346102fe5760403660031901126102fe577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b600435610bc081610b74565b60243590610bcc6123f9565b63ffffffff81165f5260016020528160405f2055610c02604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b346102fe575f3660031901126102fe576020610c21612438565b604051908152f35b801515036102fe57565b346102fe5760403660031901126102fe5760043567ffffffffffffffff81116102fe57610c6490369060040161045a565b602435610c7081610c29565b610c78611e65565b50813591606081013590610cc36040820135610c9386610b74565b610cbe7f00000000000000000000000000000000000000000000000000000000000000008092612b9e565b612bbc565b91808310610dea57610d5d604086610d2987610cdf888861258e565b90610ce985610b74565b610cf1611e65565b50610cfb85612275565b610d12610d06611e56565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b8151809381927fddc28c580000000000000000000000000000000000000000000000000000000083523090600484016126cc565b03816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa80156106575761038e915f91610dbb575b5060405191829182815181526020918201519181019190915260400190565b610ddd915060403d604011610de3575b610dd58183610f44565b8101906126b8565b82610d9c565b503d610dcb565b826371c4efed60e01b5f5260045260245260445ffd5b346102fe575f3660031901126102fe576020604051308152f35b6024359061ffff821682036102fe57565b359061ffff821682036102fe57565b90600182811c92168015610e68575b6020831014610e5457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e49565b5f9291815491610e8183610e3a565b8083529260018116908115610ed65750600114610e9d57505050565b5f9081526020812093945091925b838310610ebc575060209250010190565b600181602092949394548385870101520191019190610eab565b915050602093945060ff929192191683830152151560051b010190565b634e487b7160e01b5f52604160045260245ffd5b6060810190811067ffffffffffffffff821117610f2357604052565b610ef3565b6040810190811067ffffffffffffffff821117610f2357604052565b90601f8019910116810190811067ffffffffffffffff821117610f2357604052565b346102fe5760403660031901126102fe5761038e610fc6610fcd610fba600435610f8f81610b74565b63ffffffff610f9c610e1a565b91165f52600360205260405f209061ffff165f5260205260405f2090565b60405192838092610e72565b0382610f44565b604051918291602083526020830190610302565b346102fe5760403660031901126102fe57602061101d60043561100381610b74565b6024359063ffffffff165f52600160205260405f20541490565b6040519015158152f35b346102fe575f3660031901126102fe5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102fe5760203660031901126102fe577ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419760206001600160a01b036004356110b281610414565b6110ba6123f9565b168073ffffffffffffffffffffffffffffffffffffffff196004541617600455604051908152a1005b346102fe5760203660031901126102fe576001600160a01b0360043561110881610414565b165f526005602052602060405f2054604051908152f35b346102fe575f3660031901126102fe576111376123f9565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346102fe5760403660031901126102fe5761119f600435610b74565b60206040515f8152f35b346102fe5760203660031901126102fe576001600160a01b036004356111ce81610414565b165f52600c602052602060405f2054604051908152f35b346102fe5760a03660031901126102fe576111ff366106af565b5060643567ffffffffffffffff81116102fe576112209036906004016106c0565b5050602060843561123081610414565b604051906001600160a01b03309116148152f35b346102fe575f3660031901126102fe576113046112807f0000000000000000000000000000000000000000000000000000000000000000612f29565b6112a97f0000000000000000000000000000000000000000000000000000000000000000612f9b565b60206040516112b88282610f44565b5f81528161131281830194601f1983013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e0890190610302565b908782036040890152610302565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061134657505050500390f35b835185528695509381019392810192600101611337565b346102fe575f3660031901126102fe57602060405160068152f35b346102fe575f3660031901126102fe5760206001600160a01b035f5416604051908152f35b346102fe575f3660031901126102fe576040515f6009546113bd81610e3a565b80845290600181169081156103f057506001146113e45761038e8361038281850382610f44565b60095f9081527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af939250905b80821061142857509091508101602001610382610372565b919260018160209254838588010152019101909291611410565b346102fe575f3660031901126102fe5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346102fe575f3660031901126102fe5760206040515f8152f35b346102fe5760403660031901126102fe5761044f6004356114b681610414565b60243590336122f3565b346102fe575f3660031901126102fe5760206001600160a01b0360025416604051908152f35b9060206003198301126102fe5760043567ffffffffffffffff81116102fe5760040182601f820112156102fe5780359267ffffffffffffffff84116102fe576020808301928560051b0101116102fe579190565b346102fe57611548366114e6565b906115516123f9565b61155a82611eac565b906115686040519283610f44565b828252602082019260051b8101903682116102fe5780935b82851061159257611590846128fb565b005b843567ffffffffffffffff81116102fe578201906060823603126102fe57604051916115bd83610f07565b80356115c881610b74565b83526115d660208201610e2b565b602084015260408101359067ffffffffffffffff82116102fe57019036601f830112156102fe57602092611611849336908581359101611f30565b6040820152815201940193611580565b346102fe5760203660031901126102fe5763ffffffff60043561164381610b74565b165f526001602052602060405f2054604051908152f35b346102fe5760603660031901126102fe5760043561167781610b74565b61167f610e1a565b6044359067ffffffffffffffff82116102fe5761038e926116a7610fcd9336906004016106c0565b929091611ff5565b6116b8366114e6565b5f5b818110611759576040517f8e9e70990000000000000000000000000000000000000000000000000000000081525f81600481335afa801561065757611733915f91611737575b506040519182917f8351eea700000000000000000000000000000000000000000000000000000000835260048301610326565b0390fd5b61175391503d805f833e61174b8183610f44565b81019061219a565b82611700565b6117648183856120ab565b9061179461179061177484611f0a565b60208501359063ffffffff165f52600160205260405f20541490565b1590565b6118455760c08201359160a08101356117b16101008301836120d3565b9490916117c060e08501612106565b936117cf6101208201826120d3565b959095303b156102fe575f96611815926040519a8b98899788977fd045a0dc00000000000000000000000000000000000000000000000000000000895260048901612122565b0391305af191821561065757600192611831575b505b016116ba565b806109625f61183f93610f44565b5f611829565b6001915061182b565b9160806104ca92949361188f604060c08301978051845267ffffffffffffffff60208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b60803660031901126102fe5760043567ffffffffffffffff81116102fe576118cc90369060040161045a565b60403660231901126102fe576064356118e481610414565b6118ec6121fd565b506118f5611e65565b506118fe6121fd565b50611907611e65565b506060820135906119206040840135610c938535610b74565b91808310610dea575033156119db576119609061193d8333612d39565b611947838561258e565b61195086611f0a565b9161195a366129f4565b92613014565b90611969611e47565b928184528160208501527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6119c96119a2855193611f0a565b936040519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a361038e6040519283928361184e565b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102fe575f60203660031901126102fe57600435611a2581610414565b611a2d6123f9565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690813b156102fe576001600160a01b0360245f928360405195869485937fca5eb5e10000000000000000000000000000000000000000000000000000000085521660048401525af1801561065757611aad575080f35b61159091505f90610f44565b611ac2366106ee565b5050509092303303611adb576107d76107cb8386612bd4565b7f14d4a4e8000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102fe5760203660031901126102fe577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776060206001600160a01b03600435611b4b81610414565b611b536123f9565b168073ffffffffffffffffffffffffffffffffffffffff196002541617600255604051908152a1005b346102fe5760e03660031901126102fe57600435611b9981610414565b602435611ba581610414565b604435906064359260843560ff811681036102fe5760a43560c43590864211611cc857611c7492611c6f8588611c6789611c596001600160a01b0385169d8e5f52600c60205260405f2080549060018201905560405195869460208601988991926001600160a01b0360a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b03601f198101835282610f44565b519020612a1c565b612a5d565b936001600160a01b03851603611c8e576115909350612a75565b7f4b800e46000000000000000000000000000000000000000000000000000000005f526001600160a01b038085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102fe5760403660031901126102fe576020611d4c600435611d1681610414565b6001600160a01b0360243591611d2b83610414565b165f526006835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b346102fe5760203660031901126102fe576001600160a01b03600435611d7a81610414565b611d826123f9565b168015611dd6576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102fe5760603660031901126102fe576020611e1e366106af565b63ffffffff8135611e2e81610b74565b165f52600182528160405f205491013560405191148152f35b604051906104ca604083610f44565b604051906104ca60a083610f44565b60405190611e7282610f28565b5f6020838281520152565b908160209103126102fe575161033781610414565b6040513d5f823e3d90fd5b908160209103126102fe575190565b67ffffffffffffffff8111610f235760051b60200190565b60405190611ed3602083610f44565b5f80835282815b828110611ee657505050565b602090604051611ef581610f28565b5f815260608382015282828501015201611eda565b3561033781610b74565b67ffffffffffffffff8111610f2357601f01601f191660200190565b929192611f3c82611f14565b91611f4a6040519384610f44565b8294818452818301116102fe578281602093845f960137010152565b90929192836002116102fe5783116102fe57600201916001190190565b805191908290602001825e015f815290565b611faf93926104ca92816040519687946020860190611f83565b918237015f815203601f198101845283610f44565b908060209392818452848401375f828201840152601f01601f1916010190565b916020610337938181520191611fc4565b610fba610fc69263ffffffff6120269397959697165f52600360205260405f209061ffff165f5260205260405f2090565b80511561208957831561208357600284101561205a575050611733604051928392639a6d49cd60e01b845260048401611fe4565b90928061207d9161033794612078612073368484611f30565b6129bd565b611f66565b91611f95565b92509050565b509190610337913691611f30565b634e487b7160e01b5f52603260045260245ffd5b91908110156120ce5760051b8101359061013e19813603018212156102fe570190565b612097565b903590601e19813603018212156102fe570180359067ffffffffffffffff82116102fe576020019181360383136102fe57565b3561033781610414565b67ffffffffffffffff8116036102fe57565b92610337979596946001600160a01b039367ffffffffffffffff60406121869563ffffffff813561215281610b74565b168952602081013560208a0152013561216a81612110565b166040870152606086015260e0608086015260e0850191611fc4565b941660a082015260c0818503910152611fc4565b6020818303126102fe5780519067ffffffffffffffff82116102fe570181601f820112156102fe578051906121ce82611f14565b926121dc6040519485610f44565b828452602083830101116102fe57815f9260208093018386015e8301015290565b6040519061220a82610f07565b815f81525f6020820152604061221e611e65565b910152565b61225290610cbe7f00000000000000000000000000000000000000000000000000000000000000008092612b9e565b91829180841061225f5750565b836371c4efed60e01b5f5260045260245260445ffd5b63ffffffff16805f52600160205260405f2054908115612293575090565b7ff6ff4fb7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3561033781612110565b61033793926001600160a01b0360809316825260208201525f60408201528160608201520190610302565b916001600160a01b0383169182156119db576001600160a01b0381169384156123cd57612331816001600160a01b03165f52600560205260405f2090565b548381106123a857916123969161237e857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef969503916001600160a01b03165f52600560205260405f2090565b556001600160a01b03165f52600560205260405f2090565b805482019055604051908152602090a3565b63391434e360e21b5f526001600160a01b03909116600452602452604482905260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b6001600160a01b035f5416330361240c57565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630148061252b575b15612493577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261252560c082610f44565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461246a565b908160209103126102fe575161033781610c29565b909161258061033793604084526040840190610302565b916020818403910152610302565b90916125c26125e8936125a5602085013591612e25565b6125bc6125b560a08701876120d3565b3691611f30565b91612e97565b93909283945f14612688576002905b6116a76125dd82611f0a565b9160808101906120d3565b916001600160a01b036126036004546001600160a01b031690565b1690838261261057505050565b61264c926020926040518095819482937f043a78eb00000000000000000000000000000000000000000000000000000000845260048401612569565b03915afa80156106575761265d5750565b61267e9060203d602011612681575b6126768183610f44565b810190612554565b50565b503d61266c565b6001906125d1565b91908260409103126102fe576040516126a881610f28565b6020808294805184520151910152565b906040828203126102fe5761033791612690565b906001600160a01b036020919493946040845263ffffffff81511660408501528281015160608501526080612728612712604084015160a08489015260e0880190610302565b6060840151878203603f190160a0890152610302565b910151151560c08501529416910152565b80518210156120ce5760209160051b010190565b919091601f831161275e575b505050565b81831161276a57505050565b5f5260205f206020601f830160051c92106127a3575b81601f9101920160051c03905f5b82811015612759575f8282015560010161278e565b5f9150612780565b919091825167ffffffffffffffff8111610f23576127d3816127cd8454610e3a565b8461274d565b6020601f82116001146128125781906128039394955f92612807575b50508160011b915f199060031b1c19161790565b9055565b015190505f806127ef565b601f19821690612825845f5260205f2090565b915f5b81811061285f57509583600195969710612847575b505050811b019055565b01515f1960f88460031b161c191690555f808061283d565b9192602060018192868b015181550194019201612828565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106128a957505050505090565b90919293946020806128ec600193603f19868203018752606060408b5163ffffffff815116845261ffff8682015116868501520151918160408201520190610302565b9701930193019193929061289a565b5f5b81518110156129865780612920604061291860019486612739565b5101516129bd565b612980604061292f8386612739565b51015163ffffffff6129418487612739565b5151165f52600360205261297b60405f2061296b6020612961878a612739565b51015161ffff1690565b61ffff165f5260205260405f2090565b6127ab565b016128fd565b506129b87fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749160405191829182612877565b0390a1565b600361ffff600283015116036129d05750565b61173390604051918291639a6d49cd60e01b83526020600484018181520190610302565b60409060231901126102fe5760405190612a0d82610f28565b60243582526044356020830152565b604290612a27612438565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916103379391612a6c9361311d565b909291926131bd565b6001600160a01b0316908115612b17576001600160a01b038116928315612aeb5780612ade7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600660205260405f20906001600160a01b03165f5260205260405f2090565b55604051908152602090a3565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b6001600160a01b0316908115612b17576001600160a01b03811615612aeb57612b87915f52600660205260405f20906001600160a01b03165f5260205260405f2090565b55565b634e487b7160e01b5f52601160045260245ffd5b8115612ba8570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715612bcf57565b612b8a565b906020116102fe573590565b906028116102fe576020013560c01c90565b6103379067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000009116612bbc565b6001600160a01b03811615612ca8575b6001600160a01b0381169081156123cd5760075490838201809211612bcf57612c74916007556001600160a01b03165f52600560205260405f2090565b8281540190555f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051858152a390565b5061dead612c37565b90806028116102fe576103379136916027190190602801611f30565b9077ffffffffffffffffffffffffffffffffffffffffffffffff1993610337937fffffffff00000000000000000000000000000000000000000000000000000000611c599360405197889660c01b16602087015260e01b166028850152602c840152604c830190611f83565b6001600160a01b038116919082612d96575090600754828101809111612bcf575f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916007555b600780548290039055604051908152602090a3565b612db1816001600160a01b03165f52600560205260405f2090565b54828110612e0257917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91612dfc825f969503916001600160a01b03165f52600560205260405f2090565b55612d81565b63391434e360e21b5f526001600160a01b0390911660045260245260445260645ffd5b612e50907f000000000000000000000000000000000000000000000000000000000000000090612b9e565b67ffffffffffffffff8111612e6c5767ffffffffffffffff1690565b7fe2ce9413000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b82511580159390612eeb5790611c59612ee89277ffffffffffffffffffffffffffffffffffffffffffffffff19604051958694602086015260c01b1660408401523360488401526068830190611f83565b91565b509077ffffffffffffffffffffffffffffffffffffffffffffffff199060405192602084015260c01b16604082015260288152612ee8604882610f44565b60ff8114612f885760ff811690601f8211612f605760405191612f4d604084610f44565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060405161033781610fc681600a610e72565b60ff8114612fbf5760ff811690601f8211612f605760405191612f4d604084610f44565b5060405161033781610fc681600b610e72565b906080828203126102fe5761300c906040805193612fef85610f07565b80518552602081015161300181612110565b602086015201612690565b604082015290565b613071608094926130a696946130286121fd565b5060206130358651613284565b95019182518061310e575b5061304a85612275565b925115159261305a610d06611e56565b602086015260408501526060840152151585830152565b6040518095819482937f2637a450000000000000000000000000000000000000000000000000000000008452600484016126cc565b03916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1908115610657575f916130e5575090565b610337915060803d608011613107575b6130ff8183610f44565b810190612fd2565b503d6130f5565b613117906132ba565b5f613040565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411613194579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610657575f516001600160a01b0381161561318a57905f905f90565b505f906001905f90565b5050505f9160039190565b600411156131a957565b634e487b7160e01b5f52602160045260245ffd5b6131c68161319f565b806131cf575050565b6131d88161319f565b60018103613208577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6132118161319f565b6002810361324557507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8061325160039261319f565b146132595750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80340361328e5790565b7f9f704120000000000000000000000000000000000000000000000000000000005f523460045260245ffd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040517fe4fe1d94000000000000000000000000000000000000000000000000000000008152602081600481855afa8015610657576001600160a01b03915f91613407575b50169182156133df57604051917f23b872dd000000000000000000000000000000000000000000000000000000005f523360045260245260445260205f60648180865af160015f51148116156133c0575b6040919091525f6060521561338c5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f526001600160a01b031660045260245ffd5b60018115166133d6573d15833b1515161661337a565b503d5f823e3d90fd5b7f5373352a000000000000000000000000000000000000000000000000000000005f5260045ffd5b613420915060203d602011610682576106748183610f44565b5f61332956fea2646970667358221220315a6ae7eb57947f6c0fc35d2d33fbcf3d8d078cccf0fe19468824fe771aad4764736f6c63430008240033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b0000000000000000000000006177fa323c456cc727a9a4405cd0cccf7ee173770000000000000000000000000000000000000000000000000000000000000005464f5241490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005464f524149000000000000000000000000000000000000000000000000000000
0x60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146102ef578063095ea7b3146102ea5780630d35b415146102e5578063111ecdad146102e057806313137d65146102db578063134d4f25146102d6578063156a0d0f146102d157806317442b70146102cc57806318160ddd146102c75780631f5e1334146102c257806323b872dd146102bd578063313ce567146102b85780633400288b146102b35780633644e515146102ae5780633b6f743b146102a957806352ae2879146102185780635535d461146102a45780635a0dfe4d1461029f5780635e280f111461029a5780636fc1b31e1461029557806370a0823114610290578063715018a61461028b5780637d25a05e146102865780637ecebe001461028157806382413eac1461027c57806384b0196e14610277578063857749b0146102725780638da5cb5b1461026d57806395d89b4114610268578063963efcaa146102635780639f68b9641461025e578063a9059cbb14610259578063b731ea0a14610254578063b98bd0701461024f578063bb0b6a531461024a578063bc70b35414610245578063bd815db014610240578063c7c7f5b31461023b578063ca5eb5e114610236578063d045a0dc14610231578063d42438851461022c578063d505accf14610227578063dd62ed3e14610222578063f2fde38b1461021d578063fc0c546a146102185763ff7bd03d14610213575f80fd5b611e02565b610e00565b611d55565b611cf4565b611b7c565b611b03565b611ab9565b611a07565b6118a0565b6116af565b61165a565b611621565b61153a565b6114c0565b611496565b61147c565b611442565b61139d565b611378565b61135d565b611244565b6111e5565b6111a9565b611183565b61111f565b6110e3565b61106a565b611027565b610fe1565b610f66565b610c33565b610c07565b610b82565b610b59565b610a8c565b610a71565b610a54565b610a33565b6109f3565b6109d8565b61075d565b610689565b610508565b610425565b61033a565b5f9103126102fe57565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610337928181520190610302565b90565b346102fe575f3660031901126102fe576040515f60085461035a81610e3a565b80845290600181169081156103f05750600114610392575b61038e8361038281850382610f44565b60405191829182610326565b0390f35b60085f9081527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b8082106103d657509091508101602001610382610372565b9192600181602092548385880101520191019092916103be565b60ff191660208086019190915291151560051b840190910191506103829050610372565b6001600160a01b038116036102fe57565b346102fe5760403660031901126102fe5761044f60043561044581610414565b6024359033612a75565b602060405160018152f35b908160e09103126102fe5790565b939291906104848560a081019260208091805184520151910152565b60a06040860152815180915260c0850190602060c08260051b8801019301915f905b8282106104cc57505050509060606104ca9294019060208091805184520151910152565b565b909192936020806104fa60019360bf198c82030186526040838a518051845201519181858201520190610302565b9601920192019092916104a6565b346102fe5760203660031901126102fe5760043567ffffffffffffffff81116102fe5761053990369060040161045a565b610541611e65565b5061054a611e65565b506040517ffc0c546a000000000000000000000000000000000000000000000000000000008152602081600481305afa908115610657576001600160a01b03916020915f9161065c575b506004604051809481937f18160ddd000000000000000000000000000000000000000000000000000000008352165afa908115610657575f91610628575b506105db611e47565b905f8252602082015261038e61060c6105f2611ec4565b936040810135610606606083013592611f0a565b50612223565b610614611e47565b918252602082015260405193849384610468565b61064a915060203d602011610650575b6106428183610f44565b810190611e9d565b5f6105d2565b503d610638565b611e92565b61067c9150823d8411610682575b6106748183610f44565b810190611e7d565b5f610594565b503d61066a565b346102fe575f3660031901126102fe5760206001600160a01b0360045416604051908152f35b60609060031901126102fe57600490565b9181601f840112156102fe5782359167ffffffffffffffff83116102fe57602083818601950101116102fe57565b90600319820160e081126102fe576060136102fe576004916064359160843567ffffffffffffffff81116102fe5782610729916004016106c0565b9290929160a43561073981610414565b9160c4359067ffffffffffffffff82116102fe57610759916004016106c0565b9091565b610766366106ee565b5050509092336001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b16036109ac5780356107a681610b74565b6107af81612275565b90602083013580920361096e5750506107d76107cb8386612bd4565b6001600160a01b031690565b916107fd6107ed6107e88388612be0565b612bf2565b6107f684611f0a565b5084612c27565b94859060288311610868575b50847fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c6001600160a01b038661086361084188611f0a565b956040519384931696836020909392919363ffffffff60408201951681520152565b0390a3005b90610893929161088d61087d604087016122be565b9361088787611f0a565b92612cb1565b92612ccd565b916001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b16803b156102fe576109045f949185926040519687809481937f7cb590120000000000000000000000000000000000000000000000000000000083528b89600485016122c8565b03925af1928315610657576108416001600160a01b0393610863927fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c96610954575b509350829450869150610809565b806109625f61096893610f44565b806102f4565b5f610946565b8061097d63ffffffff92610b74565b7fc26bebcc000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f91ac5e4f000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346102fe575f3660031901126102fe57602060405160028152f35b346102fe575f3660031901126102fe57604080517f02e49c2c00000000000000000000000000000000000000000000000000000000815260016020820152f35b346102fe575f3660031901126102fe57604080516001815260026020820152f35b346102fe575f3660031901126102fe576020600754604051908152f35b346102fe575f3660031901126102fe57602060405160018152f35b346102fe5760603660031901126102fe57600435610aa981610414565b602435610ab581610414565b604435906001600160a01b0383165f526006602052610ae83360405f20906001600160a01b03165f5260205260405f2090565b54925f198410610b09575b610afd93506122f3565b60405160018152602090f35b828410610b2557610b2083610afd95033383612b43565b610af3565b82847ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b346102fe575f3660031901126102fe57602060405160128152f35b63ffffffff8116036102fe57565b346102fe5760403660031901126102fe577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b600435610bc081610b74565b60243590610bcc6123f9565b63ffffffff81165f5260016020528160405f2055610c02604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b346102fe575f3660031901126102fe576020610c21612438565b604051908152f35b801515036102fe57565b346102fe5760403660031901126102fe5760043567ffffffffffffffff81116102fe57610c6490369060040161045a565b602435610c7081610c29565b610c78611e65565b50813591606081013590610cc36040820135610c9386610b74565b610cbe7f000000000000000000000000000000000000000000000000000000e8d4a510008092612b9e565b612bbc565b91808310610dea57610d5d604086610d2987610cdf888861258e565b90610ce985610b74565b610cf1611e65565b50610cfb85612275565b610d12610d06611e56565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b8151809381927fddc28c580000000000000000000000000000000000000000000000000000000083523090600484016126cc565b03816001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b165afa80156106575761038e915f91610dbb575b5060405191829182815181526020918201519181019190915260400190565b610ddd915060403d604011610de3575b610dd58183610f44565b8101906126b8565b82610d9c565b503d610dcb565b826371c4efed60e01b5f5260045260245260445ffd5b346102fe575f3660031901126102fe576020604051308152f35b6024359061ffff821682036102fe57565b359061ffff821682036102fe57565b90600182811c92168015610e68575b6020831014610e5457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e49565b5f9291815491610e8183610e3a565b8083529260018116908115610ed65750600114610e9d57505050565b5f9081526020812093945091925b838310610ebc575060209250010190565b600181602092949394548385870101520191019190610eab565b915050602093945060ff929192191683830152151560051b010190565b634e487b7160e01b5f52604160045260245ffd5b6060810190811067ffffffffffffffff821117610f2357604052565b610ef3565b6040810190811067ffffffffffffffff821117610f2357604052565b90601f8019910116810190811067ffffffffffffffff821117610f2357604052565b346102fe5760403660031901126102fe5761038e610fc6610fcd610fba600435610f8f81610b74565b63ffffffff610f9c610e1a565b91165f52600360205260405f209061ffff165f5260205260405f2090565b60405192838092610e72565b0382610f44565b604051918291602083526020830190610302565b346102fe5760403660031901126102fe57602061101d60043561100381610b74565b6024359063ffffffff165f52600160205260405f20541490565b6040519015158152f35b346102fe575f3660031901126102fe5760206040516001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b168152f35b346102fe5760203660031901126102fe577ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419760206001600160a01b036004356110b281610414565b6110ba6123f9565b168073ffffffffffffffffffffffffffffffffffffffff196004541617600455604051908152a1005b346102fe5760203660031901126102fe576001600160a01b0360043561110881610414565b165f526005602052602060405f2054604051908152f35b346102fe575f3660031901126102fe576111376123f9565b5f6001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346102fe5760403660031901126102fe5761119f600435610b74565b60206040515f8152f35b346102fe5760203660031901126102fe576001600160a01b036004356111ce81610414565b165f52600c602052602060405f2054604051908152f35b346102fe5760a03660031901126102fe576111ff366106af565b5060643567ffffffffffffffff81116102fe576112209036906004016106c0565b5050602060843561123081610414565b604051906001600160a01b03309116148152f35b346102fe575f3660031901126102fe576113046112807f464f524149000000000000000000000000000000000000000000000000000005612f29565b6112a97f3100000000000000000000000000000000000000000000000000000000000001612f9b565b60206040516112b88282610f44565b5f81528161131281830194601f1983013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e0890190610302565b908782036040890152610302565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061134657505050500390f35b835185528695509381019392810192600101611337565b346102fe575f3660031901126102fe57602060405160068152f35b346102fe575f3660031901126102fe5760206001600160a01b035f5416604051908152f35b346102fe575f3660031901126102fe576040515f6009546113bd81610e3a565b80845290600181169081156103f057506001146113e45761038e8361038281850382610f44565b60095f9081527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af939250905b80821061142857509091508101602001610382610372565b919260018160209254838588010152019101909291611410565b346102fe575f3660031901126102fe5760206040517f000000000000000000000000000000000000000000000000000000e8d4a510008152f35b346102fe575f3660031901126102fe5760206040515f8152f35b346102fe5760403660031901126102fe5761044f6004356114b681610414565b60243590336122f3565b346102fe575f3660031901126102fe5760206001600160a01b0360025416604051908152f35b9060206003198301126102fe5760043567ffffffffffffffff81116102fe5760040182601f820112156102fe5780359267ffffffffffffffff84116102fe576020808301928560051b0101116102fe579190565b346102fe57611548366114e6565b906115516123f9565b61155a82611eac565b906115686040519283610f44565b828252602082019260051b8101903682116102fe5780935b82851061159257611590846128fb565b005b843567ffffffffffffffff81116102fe578201906060823603126102fe57604051916115bd83610f07565b80356115c881610b74565b83526115d660208201610e2b565b602084015260408101359067ffffffffffffffff82116102fe57019036601f830112156102fe57602092611611849336908581359101611f30565b6040820152815201940193611580565b346102fe5760203660031901126102fe5763ffffffff60043561164381610b74565b165f526001602052602060405f2054604051908152f35b346102fe5760603660031901126102fe5760043561167781610b74565b61167f610e1a565b6044359067ffffffffffffffff82116102fe5761038e926116a7610fcd9336906004016106c0565b929091611ff5565b6116b8366114e6565b5f5b818110611759576040517f8e9e70990000000000000000000000000000000000000000000000000000000081525f81600481335afa801561065757611733915f91611737575b506040519182917f8351eea700000000000000000000000000000000000000000000000000000000835260048301610326565b0390fd5b61175391503d805f833e61174b8183610f44565b81019061219a565b82611700565b6117648183856120ab565b9061179461179061177484611f0a565b60208501359063ffffffff165f52600160205260405f20541490565b1590565b6118455760c08201359160a08101356117b16101008301836120d3565b9490916117c060e08501612106565b936117cf6101208201826120d3565b959095303b156102fe575f96611815926040519a8b98899788977fd045a0dc00000000000000000000000000000000000000000000000000000000895260048901612122565b0391305af191821561065757600192611831575b505b016116ba565b806109625f61183f93610f44565b5f611829565b6001915061182b565b9160806104ca92949361188f604060c08301978051845267ffffffffffffffff60208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b60803660031901126102fe5760043567ffffffffffffffff81116102fe576118cc90369060040161045a565b60403660231901126102fe576064356118e481610414565b6118ec6121fd565b506118f5611e65565b506118fe6121fd565b50611907611e65565b506060820135906119206040840135610c938535610b74565b91808310610dea575033156119db576119609061193d8333612d39565b611947838561258e565b61195086611f0a565b9161195a366129f4565b92613014565b90611969611e47565b928184528160208501527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6119c96119a2855193611f0a565b936040519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a361038e6040519283928361184e565b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102fe575f60203660031901126102fe57600435611a2581610414565b611a2d6123f9565b6001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b1690813b156102fe576001600160a01b0360245f928360405195869485937fca5eb5e10000000000000000000000000000000000000000000000000000000085521660048401525af1801561065757611aad575080f35b61159091505f90610f44565b611ac2366106ee565b5050509092303303611adb576107d76107cb8386612bd4565b7f14d4a4e8000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102fe5760203660031901126102fe577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776060206001600160a01b03600435611b4b81610414565b611b536123f9565b168073ffffffffffffffffffffffffffffffffffffffff196002541617600255604051908152a1005b346102fe5760e03660031901126102fe57600435611b9981610414565b602435611ba581610414565b604435906064359260843560ff811681036102fe5760a43560c43590864211611cc857611c7492611c6f8588611c6789611c596001600160a01b0385169d8e5f52600c60205260405f2080549060018201905560405195869460208601988991926001600160a01b0360a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b03601f198101835282610f44565b519020612a1c565b612a5d565b936001600160a01b03851603611c8e576115909350612a75565b7f4b800e46000000000000000000000000000000000000000000000000000000005f526001600160a01b038085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102fe5760403660031901126102fe576020611d4c600435611d1681610414565b6001600160a01b0360243591611d2b83610414565b165f526006835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b346102fe5760203660031901126102fe576001600160a01b03600435611d7a81610414565b611d826123f9565b168015611dd6576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102fe5760603660031901126102fe576020611e1e366106af565b63ffffffff8135611e2e81610b74565b165f52600182528160405f205491013560405191148152f35b604051906104ca604083610f44565b604051906104ca60a083610f44565b60405190611e7282610f28565b5f6020838281520152565b908160209103126102fe575161033781610414565b6040513d5f823e3d90fd5b908160209103126102fe575190565b67ffffffffffffffff8111610f235760051b60200190565b60405190611ed3602083610f44565b5f80835282815b828110611ee657505050565b602090604051611ef581610f28565b5f815260608382015282828501015201611eda565b3561033781610b74565b67ffffffffffffffff8111610f2357601f01601f191660200190565b929192611f3c82611f14565b91611f4a6040519384610f44565b8294818452818301116102fe578281602093845f960137010152565b90929192836002116102fe5783116102fe57600201916001190190565b805191908290602001825e015f815290565b611faf93926104ca92816040519687946020860190611f83565b918237015f815203601f198101845283610f44565b908060209392818452848401375f828201840152601f01601f1916010190565b916020610337938181520191611fc4565b610fba610fc69263ffffffff6120269397959697165f52600360205260405f209061ffff165f5260205260405f2090565b80511561208957831561208357600284101561205a575050611733604051928392639a6d49cd60e01b845260048401611fe4565b90928061207d9161033794612078612073368484611f30565b6129bd565b611f66565b91611f95565b92509050565b509190610337913691611f30565b634e487b7160e01b5f52603260045260245ffd5b91908110156120ce5760051b8101359061013e19813603018212156102fe570190565b612097565b903590601e19813603018212156102fe570180359067ffffffffffffffff82116102fe576020019181360383136102fe57565b3561033781610414565b67ffffffffffffffff8116036102fe57565b92610337979596946001600160a01b039367ffffffffffffffff60406121869563ffffffff813561215281610b74565b168952602081013560208a0152013561216a81612110565b166040870152606086015260e0608086015260e0850191611fc4565b941660a082015260c0818503910152611fc4565b6020818303126102fe5780519067ffffffffffffffff82116102fe570181601f820112156102fe578051906121ce82611f14565b926121dc6040519485610f44565b828452602083830101116102fe57815f9260208093018386015e8301015290565b6040519061220a82610f07565b815f81525f6020820152604061221e611e65565b910152565b61225290610cbe7f000000000000000000000000000000000000000000000000000000e8d4a510008092612b9e565b91829180841061225f5750565b836371c4efed60e01b5f5260045260245260445ffd5b63ffffffff16805f52600160205260405f2054908115612293575090565b7ff6ff4fb7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3561033781612110565b61033793926001600160a01b0360809316825260208201525f60408201528160608201520190610302565b916001600160a01b0383169182156119db576001600160a01b0381169384156123cd57612331816001600160a01b03165f52600560205260405f2090565b548381106123a857916123969161237e857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef969503916001600160a01b03165f52600560205260405f2090565b556001600160a01b03165f52600560205260405f2090565b805482019055604051908152602090a3565b63391434e360e21b5f526001600160a01b03909116600452602452604482905260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b6001600160a01b035f5416330361240c57565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b6001600160a01b037f0000000000000000000000004922c3eded627ada8e484683ae1e3fa15bdfa2251630148061252b575b15612493577ff18c8cd19db3892026ccbcaa485cccbf3a33701fa791b6942a6da90cbdddea7f90565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f3bc2e86a5798cbf9b45abeaf8f9c304e9a87d6d93d423af3eac89cde2cfa28b760408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815261252560c082610f44565b51902090565b507f0000000000000000000000000000000000000000000000000000000000001237461461246a565b908160209103126102fe575161033781610c29565b909161258061033793604084526040840190610302565b916020818403910152610302565b90916125c26125e8936125a5602085013591612e25565b6125bc6125b560a08701876120d3565b3691611f30565b91612e97565b93909283945f14612688576002905b6116a76125dd82611f0a565b9160808101906120d3565b916001600160a01b036126036004546001600160a01b031690565b1690838261261057505050565b61264c926020926040518095819482937f043a78eb00000000000000000000000000000000000000000000000000000000845260048401612569565b03915afa80156106575761265d5750565b61267e9060203d602011612681575b6126768183610f44565b810190612554565b50565b503d61266c565b6001906125d1565b91908260409103126102fe576040516126a881610f28565b6020808294805184520151910152565b906040828203126102fe5761033791612690565b906001600160a01b036020919493946040845263ffffffff81511660408501528281015160608501526080612728612712604084015160a08489015260e0880190610302565b6060840151878203603f190160a0890152610302565b910151151560c08501529416910152565b80518210156120ce5760209160051b010190565b919091601f831161275e575b505050565b81831161276a57505050565b5f5260205f206020601f830160051c92106127a3575b81601f9101920160051c03905f5b82811015612759575f8282015560010161278e565b5f9150612780565b919091825167ffffffffffffffff8111610f23576127d3816127cd8454610e3a565b8461274d565b6020601f82116001146128125781906128039394955f92612807575b50508160011b915f199060031b1c19161790565b9055565b015190505f806127ef565b601f19821690612825845f5260205f2090565b915f5b81811061285f57509583600195969710612847575b505050811b019055565b01515f1960f88460031b161c191690555f808061283d565b9192602060018192868b015181550194019201612828565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106128a957505050505090565b90919293946020806128ec600193603f19868203018752606060408b5163ffffffff815116845261ffff8682015116868501520151918160408201520190610302565b9701930193019193929061289a565b5f5b81518110156129865780612920604061291860019486612739565b5101516129bd565b612980604061292f8386612739565b51015163ffffffff6129418487612739565b5151165f52600360205261297b60405f2061296b6020612961878a612739565b51015161ffff1690565b61ffff165f5260205260405f2090565b6127ab565b016128fd565b506129b87fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749160405191829182612877565b0390a1565b600361ffff600283015116036129d05750565b61173390604051918291639a6d49cd60e01b83526020600484018181520190610302565b60409060231901126102fe5760405190612a0d82610f28565b60243582526044356020830152565b604290612a27612438565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916103379391612a6c9361311d565b909291926131bd565b6001600160a01b0316908115612b17576001600160a01b038116928315612aeb5780612ade7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600660205260405f20906001600160a01b03165f5260205260405f2090565b55604051908152602090a3565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b6001600160a01b0316908115612b17576001600160a01b03811615612aeb57612b87915f52600660205260405f20906001600160a01b03165f5260205260405f2090565b55565b634e487b7160e01b5f52601160045260245ffd5b8115612ba8570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715612bcf57565b612b8a565b906020116102fe573590565b906028116102fe576020013560c01c90565b6103379067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000e8d4a510009116612bbc565b6001600160a01b03811615612ca8575b6001600160a01b0381169081156123cd5760075490838201809211612bcf57612c74916007556001600160a01b03165f52600560205260405f2090565b8281540190555f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051858152a390565b5061dead612c37565b90806028116102fe576103379136916027190190602801611f30565b9077ffffffffffffffffffffffffffffffffffffffffffffffff1993610337937fffffffff00000000000000000000000000000000000000000000000000000000611c599360405197889660c01b16602087015260e01b166028850152602c840152604c830190611f83565b6001600160a01b038116919082612d96575090600754828101809111612bcf575f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916007555b600780548290039055604051908152602090a3565b612db1816001600160a01b03165f52600560205260405f2090565b54828110612e0257917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91612dfc825f969503916001600160a01b03165f52600560205260405f2090565b55612d81565b63391434e360e21b5f526001600160a01b0390911660045260245260445260645ffd5b612e50907f000000000000000000000000000000000000000000000000000000e8d4a5100090612b9e565b67ffffffffffffffff8111612e6c5767ffffffffffffffff1690565b7fe2ce9413000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b82511580159390612eeb5790611c59612ee89277ffffffffffffffffffffffffffffffffffffffffffffffff19604051958694602086015260c01b1660408401523360488401526068830190611f83565b91565b509077ffffffffffffffffffffffffffffffffffffffffffffffff199060405192602084015260c01b16604082015260288152612ee8604882610f44565b60ff8114612f885760ff811690601f8211612f605760405191612f4d604084610f44565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060405161033781610fc681600a610e72565b60ff8114612fbf5760ff811690601f8211612f605760405191612f4d604084610f44565b5060405161033781610fc681600b610e72565b906080828203126102fe5761300c906040805193612fef85610f07565b80518552602081015161300181612110565b602086015201612690565b604082015290565b613071608094926130a696946130286121fd565b5060206130358651613284565b95019182518061310e575b5061304a85612275565b925115159261305a610d06611e56565b602086015260408501526060840152151585830152565b6040518095819482937f2637a450000000000000000000000000000000000000000000000000000000008452600484016126cc565b03916001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b165af1908115610657575f916130e5575090565b610337915060803d608011613107575b6130ff8183610f44565b810190612fd2565b503d6130f5565b613117906132ba565b5f613040565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411613194579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610657575f516001600160a01b0381161561318a57905f905f90565b505f906001905f90565b5050505f9160039190565b600411156131a957565b634e487b7160e01b5f52602160045260245ffd5b6131c68161319f565b806131cf575050565b6131d88161319f565b60018103613208577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6132118161319f565b6002810361324557507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8061325160039261319f565b146132595750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80340361328e5790565b7f9f704120000000000000000000000000000000000000000000000000000000005f523460045260245ffd5b6001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b166040517fe4fe1d94000000000000000000000000000000000000000000000000000000008152602081600481855afa8015610657576001600160a01b03915f91613407575b50169182156133df57604051917f23b872dd000000000000000000000000000000000000000000000000000000005f523360045260245260445260205f60648180865af160015f51148116156133c0575b6040919091525f6060521561338c5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f526001600160a01b031660045260245ffd5b60018115166133d6573d15833b1515161661337a565b503d5f823e3d90fd5b7f5373352a000000000000000000000000000000000000000000000000000000005f5260045ffd5b613420915060203d602011610682576106748183610f44565b5f61332956fea2646970667358221220315a6ae7eb57947f6c0fc35d2d33fbcf3d8d078cccf0fe19468824fe771aad4764736f6c63430008240033
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xfe3573…8d72e4 | Approve | 19,240,041 | 22 days agoSat, 25 Jul 2026 18:53:29 UTC | 0xad01…fce5 | IN | FORAI | $0.000 ETH | 0.00000348 | |
| 0x264d6f…c397db | Approve | 19,066,309 | 22 days agoSat, 25 Jul 2026 14:02:59 UTC | 0xfa22…e50a | IN | FORAI | $0.000 ETH | 0.00000372 | |
| 0x29d891…4625cf | Approve | 19,052,002 | 22 days agoSat, 25 Jul 2026 13:39:07 UTC | 0x852c…6b37 | IN | FORAI | $0.000 ETH | 0.00000370 | |
| 0x24379f…f82f57 | Approve | 19,051,560 | 22 days agoSat, 25 Jul 2026 13:38:22 UTC | 0x15dc…ebde | IN | FORAI | $0.000 ETH | 0.00000376 | |
| 0x4522ba…025446 | Approve | 19,048,355 | 22 days agoSat, 25 Jul 2026 13:33:01 UTC | 0x2e1c…c22d | IN | FORAI | $0.000 ETH | 0.00000374 | |
| 0xb04bb1…8eb1ca | Approve | 19,048,100 | 22 days agoSat, 25 Jul 2026 13:32:35 UTC | 0xa7f9…0079 | IN | FORAI | $0.000 ETH | 0.00000377 | |
| 0xad6895…97baf3 | renounceOwnership | 19,045,240 | 22 days agoSat, 25 Jul 2026 13:27:49 UTC | 0x6177…7377 | IN | FORAI | $0.000 ETH | 0.00000190 | |
| 0xb89970…004fdd | setDelegate | 19,045,234 | 22 days agoSat, 25 Jul 2026 13:27:49 UTC | 0x6177…7377 | IN | FORAI | $0.000 ETH | 0.00000239 | |
| 0x47ecbf…752513 | setPeer | 19,044,748 | 22 days agoSat, 25 Jul 2026 13:27:00 UTC | 0x6177…7377 | IN | FORAI | $0.000 ETH | 0.00000383 |