// SPDX-License-Identifier: MIT
pragma solidity ^0.8.22;
import { OFT } from "@layerzerolabs/oft-evm/contracts/OFT.sol";
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
/// @title AXIS OFT (Robinhood Chain — remote representation)
/// @notice The Robinhood-Chain representation of AXIS. It is minted ONLY when
/// AXIS is locked in the Base adapter, and burned when bridged back — there is
/// no premine and no owner-mint. Its supply on Robinhood Chain can never exceed
/// the amount currently locked on Base, so the 84,000,000 global cap holds.
///
/// Deploy ONCE, on Robinhood Chain. 18 decimals to match AXIS on Base. Note the
/// OFT standard bridges at 6 "shared decimals" precision by default, so amounts
/// are rounded down to 1e-6 AXIS when crossing chains (dust below that stays put).
contract AxisOFT is OFT {
constructor(
address _lzEndpoint, // LayerZero V2 EndpointV2 on Robinhood Chain
address _delegate // owner + LayerZero config delegate (prefer a multisig)
) OFT("AXIS AI", "AXIS", _lzEndpoint, _delegate) Ownable(_delegate) {}
}[
{
"type": "constructor",
"inputs": [
{
"name": "_lzEndpoint",
"type": "address",
"internalType": "address"
},
{
"name": "_delegate",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AmountSDOverflowed",
"type": "error",
"inputs": [
{
"name": "amountSD",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"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": "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": "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": "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": "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": "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": "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": "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": "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"
}
]0x60c034620004ab576200319790601f19906001600160401b0390601f9060003886900383810186168301908582118483101762000497578084916040998a94855283398101031262000494576200005682620004e2565b91620000666020809201620004e2565b958751966200007588620004b0565b60078852664158495320414960c81b838901528851946200009686620004b0565b6004808752634158495360e01b85880152916001600160a01b039081169182156200047d5786546001600160a01b0319811684178855839083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08980a3169081608052813b156200047957908580928c5192839163ca5eb5e160e01b8352868301528160249586925af180156200046f5762000448575b5064e8d4a5100060a052885188811162000436576008549960019a8b81811c911680156200042b575b87821014620004195790818a849311620003c5575b5086908a8311600114620003595788926200034d575b5050600019600383901b1c1916908a1b176008555b85519788116200033c57600954918983811c9316801562000331575b8584101462000320575050858111620002d7575b50819486116001146200026f5750509183949184939462000263575b50501b916000199060031b1c1916176009555b51612c9f9081620004f882396080518181816107e201528181610cd001528181610fe3015281816118660152818161198301528181612a850152612b32015260a051818181610c1a015281816112a40152818161171b01528181611f9f015281816126fa01526128ea0152f35b015192503880620001e3565b600983528183209493928692918316915b88838310620002bc5750505010620002a2575b505050811b01600955620001f6565b015160001960f88460031b161c1916905538808062000293565b85870151885590960195948501948793509081019062000280565b600984528284208680890160051c820192858a1062000316575b0160051c019088905b8281106200030a575050620001c7565b858155018890620002fa565b92508192620002f1565b634e487b7160e01b86526022905284fd5b92607f1692620001b3565b634e487b7160e01b85526041825284fd5b01519050388062000182565b90868d94169160088a52888a20928a5b8a828210620003a557505084116200038b575b505050811b0160085562000197565b015160001960f88460031b161c191690553880806200037c565b91929395968291958786015181550195019301908e959493929162000369565b909150600888528688208a80850160051c8201928986106200040f575b918e91869594930160051c01915b828110620004005750506200016c565b8a81558594508e9101620003f0565b92508192620003e2565b634e487b7160e01b8852602285528388fd5b90607f169062000157565b50634e487b7160e01b85526041825284fd5b8881969296116200045d578a5293386200012e565b5060418592634e487b7160e01b835252fd5b8b513d88823e3d90fd5b8580fd5b8b51631e4fbdf760e01b8152808501889052602490fd5b80fd5b634e487b7160e01b83526041600452602483fd5b600080fd5b604081019081106001600160401b03821117620004cc57604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620004ab5756fe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146102b2578063095ea7b3146102ad5780630d35b415146102a8578063111ecdad146102a357806313137d651461029e578063134d4f2514610299578063156a0d0f1461029457806317442b701461028f57806318160ddd1461028a5780631f5e13341461028557806323b872dd14610280578063313ce5671461027b5780633400288b146102765780633b6f743b1461027157806352ae2879146101ef5780635535d4611461026c5780635a0dfe4d146102675780635e280f11146102625780636fc1b31e1461025d57806370a0823114610258578063715018a6146102535780637d25a05e1461024e57806382413eac14610249578063857749b0146102445780638da5cb5b1461023f57806395d89b411461023a578063963efcaa146102355780639f68b96414610230578063a9059cbb1461022b578063b731ea0a14610226578063b98bd07014610221578063bb0b6a531461021c578063bc70b35414610217578063bd815db014610212578063c7c7f5b31461020d578063ca5eb5e114610208578063d045a0dc14610203578063d4243885146101fe578063dd62ed3e146101f9578063f2fde38b146101f4578063fc0c546a146101ef5763ff7bd03d146101ea57600080fd5b611b89565b610d76565b611afd565b611a9a565b611a2a565b6118ce565b611835565b61169d565b6114f9565b6114a5565b61146a565b61138d565b611318565b6112e3565b6112c7565b61128c565b6111e4565b6111bb565b61119f565b611141565b61111a565b6110bf565b611082565b611012565b610fcd565b610f85565b610f06565b610bbd565b610b2c565b610b02565b610a4d565b610a31565b610a13565b6109f1565b6109ca565b6109ae565b6107c7565b6106fa565b6105a3565b61041d565b610323565b60009103126102c257565b600080fd5b60005b8381106102da5750506000910152565b81810151838201526020016102ca565b90602091610303815180928185528580860191016102c7565b601f01601f1916010190565b9060206103209281815201906102ea565b90565b346102c2576000806003193601126104095760405190806008549061034782610db1565b808552916020916001918281169081156103dc5750600114610384575b6103808661037481880382610ee5565b6040519182918261030f565b0390f35b9350600884527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b8385106103c9575050505081016020016103748261038038610364565b80548686018401529382019381016103ac565b90508695506103809693506020925061037494915060ff191682840152151560051b820101929338610364565b80fd5b6001600160a01b038116036102c257565b346102c25760403660031901126102c25760043561043a8161040c565b60243533156104d2576001600160a01b0382169182156104b9573360009081526006602052604090208291610481915b9060018060a01b0316600052602052604060002090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b908160e09103126102c25790565b9392916105148560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610564575050505050509060606105629294019060208091805184520151910152565b565b90919293949584806105936001938d60bf1990820301875285838c5180518452015191818582015201906102ea565b980193019301919493929061053c565b346102c2576020806003193601126102c2576004356001600160401b0381116102c2576105d49036906004016104eb565b906105dd611bfb565b506105e6611bfb565b50604051637e062a3560e11b8152908082600481305afa9182156106c85760049282916000916106cd575b506040516318160ddd60e01b815293849182906001600160a01b03165afa9182156106c857600092610695575b506103809061064b611bcf565b92600084528184015261067961065f611c5b565b9461066981611c7e565b5060406060820135910135611f96565b9091610683611bcf565b928352820152604051938493846104f9565b8192506106ba90610380923d85116106c1575b6106b28183610ee5565b810190611c35565b919061063e565b503d6106a8565b611c29565b6106ed9150823d84116106f3575b6106e58183610ee5565b810190611c14565b38610611565b503d6106db565b346102c25760003660031901126102c2576004546040516001600160a01b039091168152602090f35b60609060031901126102c257600490565b9181601f840112156102c2578235916001600160401b0383116102c257602083818601950101116102c257565b600319810160e081126102c2576060136102c257600491606435916001600160401b03906084358281116102c2578161079c91600401610734565b9390939260a4356107ac8161040c565b9260c4359182116102c2576107c391600401610734565b9091565b6107d036610761565b50929492506001600160a01b039190507f0000000000000000000000000000000000000000000000000000000000000000821633810361099657833561081581610b1e565b61081e81611ff0565b90602086013580920361096157505061084661083a83886126ce565b6001600160a01b031690565b9161086c61085c610857838a6126da565b6126ec565b61086587611c7e565b5084612720565b8097602883116108bd575b505050506108b8610896600080516020612c2a83398151915294611c7e565b956040519384931696836020909392919363ffffffff60408201951681520152565b0390a3005b906108e892916108e26108d260408a01612028565b936108dc8a611c7e565b92612792565b926127ae565b90803b156102c257604051633e5ac80960e11b8152916000918391829084908290610918908c8a60048501612032565b03925af180156106c857600080516020612c2a833981519152946108b89261089692610948575b88919650610877565b8061095561095b92610eb7565b806102b7565b3861093f565b61096a81610b1e565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b346102c25760003660031901126102c257602060405160028152f35b346102c25760003660031901126102c2576040805162b9270b60e21b815260016020820152f35b346102c25760003660031901126102c257604080516001815260026020820152f35b346102c25760003660031901126102c2576020600754604051908152f35b346102c25760003660031901126102c257602060405160018152f35b346102c25760603660031901126102c257600435610a6a8161040c565b602435610a768161040c565b6001600160a01b03821660009081526006602090815260408083203384529091529020604435919054926000198410610ac0575b610ab4935061205d565b60405160018152602090f35b828410610adc57610ad783610ab495033383612646565b610aaa565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b346102c25760003660031901126102c257602060405160128152f35b63ffffffff8116036102c257565b346102c25760403660031901126102c2577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b600435610b6a81610b1e565b60243590610b76612168565b63ffffffff8116600052600160205281604060002055610bae604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b801515036102c257565b346102c2576040806003193601126102c2576004356001600160401b0381116102c257610bee9036906004016104eb565b90602435610bfb81610bb3565b610c03611bfb565b506060830135833593610c1585610b1e565b610c4b7f0000000000000000000000000000000000000000000000000000000000000000610c468187850135612696565b6126b6565b91808310610d5957508392610c67610ccc9693610cb1936121ce565b90610c7185610b1e565b610c79611bfb565b50610c8385611ff0565b610c9a610c8e611bdc565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b83523090600484016122e8565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106c85761038092600092610d2a575b505191829182815181526020918201519181019190915260400190565b81610d4b9293503d8411610d52575b610d438183610ee5565b8101906122d4565b9038610d0d565b503d610d39565b826044918651916371c4efed60e01b835260048301526024820152fd5b346102c25760003660031901126102c2576020604051308152f35b6024359061ffff821682036102c257565b359061ffff821682036102c257565b90600182811c92168015610de1575b6020831014610dcb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610dc0565b805460009392610dfa82610db1565b91828252602093600191600181169081600014610e625750600114610e21575b5050505050565b90939495506000929192528360002092846000945b838610610e4e57505050500101903880808080610e1a565b805485870183015294019385908201610e36565b60ff19168685015250505090151560051b010191503880808080610e1a565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610eb257604052565b610e81565b6001600160401b038111610eb257604052565b604081019081106001600160401b03821117610eb257604052565b90601f801991011681019081106001600160401b03821117610eb257604052565b346102c25760403660031901126102c257610380610f6a610f71610f5e600435610f2f81610b1e565b63ffffffff610f3c610d91565b9116600052600360205260406000209061ffff16600052602052604060002090565b60405192838092610deb565b0382610ee5565b6040519182916020835260208301906102ea565b346102c25760403660031901126102c2576020610fc3600435610fa781610b1e565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b346102c25760003660031901126102c2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346102c25760203660031901126102c2577ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419760206004356110528161040c565b61105a612168565b600480546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346102c25760203660031901126102c25760043561109f8161040c565b60018060a01b031660005260056020526020604060002054604051908152f35b346102c257600080600319360112610409576110d9612168565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b346102c25760403660031901126102c257611136600435610b1e565b602060405160008152f35b346102c25760a03660031901126102c25761115b36610723565b506064356001600160401b0381116102c25761117b903690600401610734565b5050602060843561118b8161040c565b6040516001600160a01b0390911630148152f35b346102c25760003660031901126102c257602060405160068152f35b346102c25760003660031901126102c2576000546040516001600160a01b039091168152602090f35b346102c2576000806003193601126104095760405190806009549061120882610db1565b808552916020916001918281169081156103dc5750600114611234576103808661037481880382610ee5565b9350600984527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b838510611279575050505081016020016103748261038038610364565b805486860184015293820193810161125c565b346102c25760003660031901126102c25760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346102c25760003660031901126102c257602060405160008152f35b346102c25760403660031901126102c25761130d6004356113038161040c565b602435903361205d565b602060405160018152f35b346102c25760003660031901126102c2576002546040516001600160a01b039091168152602090f35b9060206003198301126102c2576004356001600160401b03928382116102c257806023830112156102c25781600401359384116102c25760248460051b830101116102c2576024019190565b346102c25761139b36611341565b906113a4612168565b6113ad82611c44565b9060406113bd6040519384610ee5565b8383526020938484019060051b8301923684116102c25780915b8483106113e9576113e786612520565b005b6001600160401b039083358281116102c2578301916060833603126102c25785519261141484610e97565b803561141f81610b1e565b845261142c8a8201610da2565b8a850152868101359182116102c257019036601f830112156102c257889261145b849336908581359101611ca3565b878201528152019201916113d7565b346102c25760203660031901126102c25763ffffffff60043561148c81610b1e565b1660005260016020526020604060002054604051908152f35b346102c25760603660031901126102c2576004356114c281610b1e565b6114ca610d91565b604435906001600160401b0382116102c257610380926114f1610f71933690600401610734565b929091611d65565b61150236611341565b60005b81811061157157604051638e9e709960e01b8152600081600481335afa80156106c8576109929160009161154e575b50604051638351eea760e01b81529182916004830161030f565b61156b91503d806000833e6115638183610ee5565b810190611f10565b82611534565b61157c818385611e21565b906115ae6115aa61158c84611c7e565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b611643576115c0610100830183611e49565b926115cd60e08201611e7b565b906115dc610120820182611e49565b959095303b156102c25760009461161260c092604051998a9788968795633411683760e21b875260a08a01358a60048901611e96565b03920135305af19182156106c857600192611630575b505b01611505565b8061095561163d92610eb7565b38611628565b6001915061162a565b91608061056292949361168c604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b60803660031901126102c2576004356001600160401b0381116102c2576116c89036906004016104eb565b6040806023193601126102c257606435906116e28261040c565b6116ea611f6e565b506116f3611bfb565b506116fc611f6e565b50611705611bfb565b506060830135916117168435610b1e565b6117477f0000000000000000000000000000000000000000000000000000000000000000610c468185880135612696565b9280841061181857503315611800579061178b61038092611768853361280b565b61177285876121ce565b61177b88611c7e565b916117853661261e565b92612a08565b92611794611bcf565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6117f36117cd875193611c7e565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a3519283928361164c565b8151634b637e8f60e11b815260006004820152602490fd5b836044918451916371c4efed60e01b835260048301526024820152fd5b346102c25760006020366003190112610409576004356118548161040c565b61185c612168565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b156118ca5760249083604051958694859363ca5eb5e160e01b85521660048401525af180156106c8576118be575080f35b6118c790610eb7565b80f35b8280fd5b6118d736610761565b5050509290303303611a18576118f061083a85836126ce565b9361191161190161085783856126da565b61190a85611c7e565b5086612720565b9160288211611961575b5050611935600080516020612c2a83398151915292611c7e565b6040805163ffffffff909216825260208201929092526001600160a01b039094169390819081016108b8565b9082611980926108e261197660408801612028565b936108dc88611c7e565b917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156102c257604051633e5ac80960e11b81529360009185918290849082906119da908b8d60048501612032565b03925af19081156106c857600080516020612c2a8339815191529361193592611a05575b509261191b565b80610955611a1292610eb7565b386119fe565b60405163029a949d60e31b8152600490fd5b346102c25760203660031901126102c2577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277606020600435611a6a8161040c565b611a72612168565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346102c25760403660031901126102c2576020611af4600435611abc8161040c565b60243590611ac98261040c565b60018060a01b03166000526006835260406000209060018060a01b0316600052602052604060002090565b54604051908152f35b346102c25760203660031901126102c257600435611b1a8161040c565b611b22612168565b6001600160a01b039081168015611b7057600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b346102c25760603660031901126102c2576020611ba536610723565b63ffffffff8135611bb581610b1e565b166000526001825260406000205482604051920135148152f35b6040519061056282610eca565b6040519060a082018281106001600160401b03821117610eb257604052565b60405190611c0882610eca565b60006020838281520152565b908160209103126102c257516103208161040c565b6040513d6000823e3d90fd5b908160209103126102c2575190565b6001600160401b038111610eb25760051b60200190565b604051602081018181106001600160401b03821117610eb2576040526000815290565b3561032081610b1e565b6001600160401b038111610eb257601f01601f191660200190565b929192611caf82611c88565b91611cbd6040519384610ee5565b8294818452818301116102c2578281602093846000960137010152565b90929192836002116102c25783116102c257600201916001190190565b60209083610562939594956040519683611d1a89955180928880890191016102c7565b8401918583013701600083820152038085520183610ee5565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610320938181520191611d33565b610f5e610f6a9263ffffffff611d9a939795969716600052600360205260406000209061ffff16600052602052604060002090565b805115611dfd578315611df7576002841015611dce575050610992604051928392639a6d49cd60e01b845260048401611d54565b909280611df19161032094611dec611de7368484611ca3565b6125e6565b611cda565b91611cf7565b92509050565b509190610320913691611ca3565b634e487b7160e01b600052603260045260246000fd5b9190811015611e445760051b8101359061013e19813603018212156102c2570190565b611e0b565b903590601e19813603018212156102c257018035906001600160401b0382116102c2576020019181360383136102c257565b356103208161040c565b6001600160401b038116036102c257565b929093611ef2926001600160401b0360406103209a98999763ffffffff8135611ebe81610b1e565b168852602081013560208901520135611ed681611e85565b166040860152606085015260e0608085015260e0840191611d33565b6001600160a01b0390941660a082015280840360c090910152611d33565b6020818303126102c2578051906001600160401b0382116102c2570181601f820112156102c2578051611f4281611c88565b92611f506040519485610ee5565b818452602082840101116102c25761032091602080850191016102c7565b60405190611f7b82610e97565b8160008152600060208201526040611f91611bfb565b910152565b611fc590610c467f00000000000000000000000000000000000000000000000000000000000000008092612696565b918291808410611fd25750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115612010575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b3561032081611e85565b610320939260809260018060a01b0316825260208201526000604082015281606082015201906102ea565b916001600160a01b038084169290831561214f578116938415612136576001600160a01b038116600090815260056020526040902054838110612107576121029284926120d1600080516020612c4a833981519152966120ec94039160018060a01b03166000526005602052604060002090565b556001600160a01b0316600090815260056020526040902090565b8054820190556040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03929092166004830152602482015260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b6000546001600160a01b0316330361217c57565b60405163118cdaa760e01b8152336004820152602490fd5b908160209103126102c2575161032081610bb3565b90916121c0610320936040845260408401906102ea565b9160208184039101526102ea565b90916122016121df612228946128e4565b6121f66121ef60a0860186611e49565b3691611ca3565b90602085013561293b565b93909283946000146122a4576002905b6114f161221d82611c7e565b916080810190611e49565b60045490926001600160a01b0390911690838261224457505050565b60405163043a78eb60e01b81529260209284928391829161226891600484016121a9565b03915afa80156106c8576122795750565b61229a9060203d60201161229d575b6122928183610ee5565b810190612194565b50565b503d612288565b600190612211565b91908260409103126102c2576040516122c481610eca565b6020808294805184520151910152565b906040828203126102c257610320916122ac565b906020909392936040835263ffffffff8151166040840152818101516060840152608061233c612326604084015160a08488015260e08701906102ea565b6060840151868203603f190160a08801526102ea565b910151151560c08401526001600160a01b03909416910152565b8051821015611e445760209160051b010190565b90601f811161237857505050565b6000916000526020600020906020601f850160051c830194106123b6575b601f0160051c01915b8281106123ab57505050565b81815560010161239f565b9092508290612396565b91909182516001600160401b038111610eb2576123e7816123e18454610db1565b8461236a565b602080601f831160011461242a5750819061241b93949560009261241f575b50508160011b916000199060031b1c19161790565b9055565b015190503880612406565b90601f1983169561244085600052602060002090565b926000905b88821061247d57505083600195969710612464575b505050811b019055565b015160001960f88460031b161c1916905538808061245a565b80600185968294968601518155019501930190612445565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b8584106124cc575050505050505090565b90919293949596858061250f600193603f198682030188528b518760609163ffffffff815116845261ffff868201511686850152015191818982015201906102ea565b9901940194019295949391906124bb565b9060009160005b81518110156125ac576001906125a6604061254e816125468588612356565b5101516125e6565b6125a18161255c8588612356565b5101519163ffffffff61256f8689612356565b515116895261ffff602091600383528a209161258b878a612356565b5101511661ffff16600052602052604060002090565b6123c0565b01612527565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506125e19060405191829182612495565b0390a1565b600361ffff600283015116036125f95750565b604051639a6d49cd60e01b8152602060048201529081906109929060248301906102ea565b60409060231901126102c2576040519061263782610eca565b60243582526044356020830152565b906001600160a01b03808316156104d2578116156104b95761046a61267d9260018060a01b03166000526006602052604060002090565b55565b634e487b7160e01b600052601160045260246000fd5b81156126a0570490565b634e487b7160e01b600052601260045260246000fd5b818102929181159184041417156126c957565b612680565b906020116102c2573590565b906028116102c2576020013560c01c90565b610320906001600160401b037f000000000000000000000000000000000000000000000000000000000000000091166126b6565b6001600160a01b0381811615612788575b811690811561213657600754908382018092116126c9576007919091556001600160a01b031660009081526005602052604090208281540190556000600080516020612c4a8339815191526020604051858152a390565b61dead9150612731565b90806028116102c2576103209136916027190190602801611ca3565b604c9193610320936040519586936001600160401b0360c01b9060c01b16602085015263ffffffff60e01b9060e01b166028840152602c8301526127fb81518092602086860191016102c7565b810103602c810184520182610ee5565b6001600160a01b03811690816128545750600754918083018093116126c9576020600080516020612c4a833981519152916000946007555b8060075403600755604051908152a3565b6001600160a01b0381166000908152600560205260409020549392908185106128b257816020916128ac600080516020612c4a8339815191529460009798039160018060a01b03166000526005602052604060002090565b55612843565b60405163391434e360e21b81526001600160a01b03919091166004820152602481018590526044810191909152606490fd5b61290f907f000000000000000000000000000000000000000000000000000000000000000090612696565b6001600160401b0390818111612923571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612999576129969160689160405194859260208401526001600160401b0360c01b9060c01b16604083015233604883015261298681518092602086860191016102c7565b8101036048810184520182610ee5565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261299681610e97565b906080828203126102c257612a009060408051936129e385610e97565b8051855260208101516129f581611e85565b6020860152016122ac565b604082015290565b612a6560809492612a819694612a1c611f6e565b506020612a298651612af9565b950191825180612aea575b50612a3e85611ff0565b9251151592612a4e610c8e611bdc565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b8452600484016122e8565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156106c857600091612ac1575090565b610320915060803d608011612ae3575b612adb8183610ee5565b8101906129c6565b503d612ad1565b612af390612b1b565b38612a34565b803403612b035790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291602081600481875afa9081156106c857600091612c0a575b5016908115612bf857602090600090604051946323b872dd60e01b83523360045260245260445260648180855af1600160005114811615612bd8575b82604052600060605215612bbb575050565b635274afe760e01b82526001600160a01b03166004820152602490fd5b6001811516612bee57813b15153d151616612ba9565b823d6000823e3d90fd5b6040516329b99a9560e11b8152600490fd5b612c23915060203d6020116106f3576106e58183610ee5565b38612b6d56feefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206cc0e1aeceac36fa3873fc1183a0325df58e6323c6a3fb220282d6b1733ae0ce64736f6c634300081600330000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b0000000000000000000000005681aa173afbc4e646296eef29c3b3d2dfc2a14b
0x6080604052600436101561001257600080fd5b60003560e01c806306fdde03146102b2578063095ea7b3146102ad5780630d35b415146102a8578063111ecdad146102a357806313137d651461029e578063134d4f2514610299578063156a0d0f1461029457806317442b701461028f57806318160ddd1461028a5780631f5e13341461028557806323b872dd14610280578063313ce5671461027b5780633400288b146102765780633b6f743b1461027157806352ae2879146101ef5780635535d4611461026c5780635a0dfe4d146102675780635e280f11146102625780636fc1b31e1461025d57806370a0823114610258578063715018a6146102535780637d25a05e1461024e57806382413eac14610249578063857749b0146102445780638da5cb5b1461023f57806395d89b411461023a578063963efcaa146102355780639f68b96414610230578063a9059cbb1461022b578063b731ea0a14610226578063b98bd07014610221578063bb0b6a531461021c578063bc70b35414610217578063bd815db014610212578063c7c7f5b31461020d578063ca5eb5e114610208578063d045a0dc14610203578063d4243885146101fe578063dd62ed3e146101f9578063f2fde38b146101f4578063fc0c546a146101ef5763ff7bd03d146101ea57600080fd5b611b89565b610d76565b611afd565b611a9a565b611a2a565b6118ce565b611835565b61169d565b6114f9565b6114a5565b61146a565b61138d565b611318565b6112e3565b6112c7565b61128c565b6111e4565b6111bb565b61119f565b611141565b61111a565b6110bf565b611082565b611012565b610fcd565b610f85565b610f06565b610bbd565b610b2c565b610b02565b610a4d565b610a31565b610a13565b6109f1565b6109ca565b6109ae565b6107c7565b6106fa565b6105a3565b61041d565b610323565b60009103126102c257565b600080fd5b60005b8381106102da5750506000910152565b81810151838201526020016102ca565b90602091610303815180928185528580860191016102c7565b601f01601f1916010190565b9060206103209281815201906102ea565b90565b346102c2576000806003193601126104095760405190806008549061034782610db1565b808552916020916001918281169081156103dc5750600114610384575b6103808661037481880382610ee5565b6040519182918261030f565b0390f35b9350600884527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b8385106103c9575050505081016020016103748261038038610364565b80548686018401529382019381016103ac565b90508695506103809693506020925061037494915060ff191682840152151560051b820101929338610364565b80fd5b6001600160a01b038116036102c257565b346102c25760403660031901126102c25760043561043a8161040c565b60243533156104d2576001600160a01b0382169182156104b9573360009081526006602052604090208291610481915b9060018060a01b0316600052602052604060002090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b908160e09103126102c25790565b9392916105148560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610564575050505050509060606105629294019060208091805184520151910152565b565b90919293949584806105936001938d60bf1990820301875285838c5180518452015191818582015201906102ea565b980193019301919493929061053c565b346102c2576020806003193601126102c2576004356001600160401b0381116102c2576105d49036906004016104eb565b906105dd611bfb565b506105e6611bfb565b50604051637e062a3560e11b8152908082600481305afa9182156106c85760049282916000916106cd575b506040516318160ddd60e01b815293849182906001600160a01b03165afa9182156106c857600092610695575b506103809061064b611bcf565b92600084528184015261067961065f611c5b565b9461066981611c7e565b5060406060820135910135611f96565b9091610683611bcf565b928352820152604051938493846104f9565b8192506106ba90610380923d85116106c1575b6106b28183610ee5565b810190611c35565b919061063e565b503d6106a8565b611c29565b6106ed9150823d84116106f3575b6106e58183610ee5565b810190611c14565b38610611565b503d6106db565b346102c25760003660031901126102c2576004546040516001600160a01b039091168152602090f35b60609060031901126102c257600490565b9181601f840112156102c2578235916001600160401b0383116102c257602083818601950101116102c257565b600319810160e081126102c2576060136102c257600491606435916001600160401b03906084358281116102c2578161079c91600401610734565b9390939260a4356107ac8161040c565b9260c4359182116102c2576107c391600401610734565b9091565b6107d036610761565b50929492506001600160a01b039190507f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b821633810361099657833561081581610b1e565b61081e81611ff0565b90602086013580920361096157505061084661083a83886126ce565b6001600160a01b031690565b9161086c61085c610857838a6126da565b6126ec565b61086587611c7e565b5084612720565b8097602883116108bd575b505050506108b8610896600080516020612c2a83398151915294611c7e565b956040519384931696836020909392919363ffffffff60408201951681520152565b0390a3005b906108e892916108e26108d260408a01612028565b936108dc8a611c7e565b92612792565b926127ae565b90803b156102c257604051633e5ac80960e11b8152916000918391829084908290610918908c8a60048501612032565b03925af180156106c857600080516020612c2a833981519152946108b89261089692610948575b88919650610877565b8061095561095b92610eb7565b806102b7565b3861093f565b61096a81610b1e565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b346102c25760003660031901126102c257602060405160028152f35b346102c25760003660031901126102c2576040805162b9270b60e21b815260016020820152f35b346102c25760003660031901126102c257604080516001815260026020820152f35b346102c25760003660031901126102c2576020600754604051908152f35b346102c25760003660031901126102c257602060405160018152f35b346102c25760603660031901126102c257600435610a6a8161040c565b602435610a768161040c565b6001600160a01b03821660009081526006602090815260408083203384529091529020604435919054926000198410610ac0575b610ab4935061205d565b60405160018152602090f35b828410610adc57610ad783610ab495033383612646565b610aaa565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b346102c25760003660031901126102c257602060405160128152f35b63ffffffff8116036102c257565b346102c25760403660031901126102c2577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b600435610b6a81610b1e565b60243590610b76612168565b63ffffffff8116600052600160205281604060002055610bae604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b801515036102c257565b346102c2576040806003193601126102c2576004356001600160401b0381116102c257610bee9036906004016104eb565b90602435610bfb81610bb3565b610c03611bfb565b506060830135833593610c1585610b1e565b610c4b7f000000000000000000000000000000000000000000000000000000e8d4a51000610c468187850135612696565b6126b6565b91808310610d5957508392610c67610ccc9693610cb1936121ce565b90610c7185610b1e565b610c79611bfb565b50610c8385611ff0565b610c9a610c8e611bdc565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b83523090600484016122e8565b03817f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b6001600160a01b03165afa9081156106c85761038092600092610d2a575b505191829182815181526020918201519181019190915260400190565b81610d4b9293503d8411610d52575b610d438183610ee5565b8101906122d4565b9038610d0d565b503d610d39565b826044918651916371c4efed60e01b835260048301526024820152fd5b346102c25760003660031901126102c2576020604051308152f35b6024359061ffff821682036102c257565b359061ffff821682036102c257565b90600182811c92168015610de1575b6020831014610dcb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610dc0565b805460009392610dfa82610db1565b91828252602093600191600181169081600014610e625750600114610e21575b5050505050565b90939495506000929192528360002092846000945b838610610e4e57505050500101903880808080610e1a565b805485870183015294019385908201610e36565b60ff19168685015250505090151560051b010191503880808080610e1a565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610eb257604052565b610e81565b6001600160401b038111610eb257604052565b604081019081106001600160401b03821117610eb257604052565b90601f801991011681019081106001600160401b03821117610eb257604052565b346102c25760403660031901126102c257610380610f6a610f71610f5e600435610f2f81610b1e565b63ffffffff610f3c610d91565b9116600052600360205260406000209061ffff16600052602052604060002090565b60405192838092610deb565b0382610ee5565b6040519182916020835260208301906102ea565b346102c25760403660031901126102c2576020610fc3600435610fa781610b1e565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b346102c25760003660031901126102c2576040517f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b6001600160a01b03168152602090f35b346102c25760203660031901126102c2577ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419760206004356110528161040c565b61105a612168565b600480546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346102c25760203660031901126102c25760043561109f8161040c565b60018060a01b031660005260056020526020604060002054604051908152f35b346102c257600080600319360112610409576110d9612168565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b346102c25760403660031901126102c257611136600435610b1e565b602060405160008152f35b346102c25760a03660031901126102c25761115b36610723565b506064356001600160401b0381116102c25761117b903690600401610734565b5050602060843561118b8161040c565b6040516001600160a01b0390911630148152f35b346102c25760003660031901126102c257602060405160068152f35b346102c25760003660031901126102c2576000546040516001600160a01b039091168152602090f35b346102c2576000806003193601126104095760405190806009549061120882610db1565b808552916020916001918281169081156103dc5750600114611234576103808661037481880382610ee5565b9350600984527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b838510611279575050505081016020016103748261038038610364565b805486860184015293820193810161125c565b346102c25760003660031901126102c25760206040517f000000000000000000000000000000000000000000000000000000e8d4a510008152f35b346102c25760003660031901126102c257602060405160008152f35b346102c25760403660031901126102c25761130d6004356113038161040c565b602435903361205d565b602060405160018152f35b346102c25760003660031901126102c2576002546040516001600160a01b039091168152602090f35b9060206003198301126102c2576004356001600160401b03928382116102c257806023830112156102c25781600401359384116102c25760248460051b830101116102c2576024019190565b346102c25761139b36611341565b906113a4612168565b6113ad82611c44565b9060406113bd6040519384610ee5565b8383526020938484019060051b8301923684116102c25780915b8483106113e9576113e786612520565b005b6001600160401b039083358281116102c2578301916060833603126102c25785519261141484610e97565b803561141f81610b1e565b845261142c8a8201610da2565b8a850152868101359182116102c257019036601f830112156102c257889261145b849336908581359101611ca3565b878201528152019201916113d7565b346102c25760203660031901126102c25763ffffffff60043561148c81610b1e565b1660005260016020526020604060002054604051908152f35b346102c25760603660031901126102c2576004356114c281610b1e565b6114ca610d91565b604435906001600160401b0382116102c257610380926114f1610f71933690600401610734565b929091611d65565b61150236611341565b60005b81811061157157604051638e9e709960e01b8152600081600481335afa80156106c8576109929160009161154e575b50604051638351eea760e01b81529182916004830161030f565b61156b91503d806000833e6115638183610ee5565b810190611f10565b82611534565b61157c818385611e21565b906115ae6115aa61158c84611c7e565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b611643576115c0610100830183611e49565b926115cd60e08201611e7b565b906115dc610120820182611e49565b959095303b156102c25760009461161260c092604051998a9788968795633411683760e21b875260a08a01358a60048901611e96565b03920135305af19182156106c857600192611630575b505b01611505565b8061095561163d92610eb7565b38611628565b6001915061162a565b91608061056292949361168c604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b60803660031901126102c2576004356001600160401b0381116102c2576116c89036906004016104eb565b6040806023193601126102c257606435906116e28261040c565b6116ea611f6e565b506116f3611bfb565b506116fc611f6e565b50611705611bfb565b506060830135916117168435610b1e565b6117477f000000000000000000000000000000000000000000000000000000e8d4a51000610c468185880135612696565b9280841061181857503315611800579061178b61038092611768853361280b565b61177285876121ce565b61177b88611c7e565b916117853661261e565b92612a08565b92611794611bcf565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6117f36117cd875193611c7e565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a3519283928361164c565b8151634b637e8f60e11b815260006004820152602490fd5b836044918451916371c4efed60e01b835260048301526024820152fd5b346102c25760006020366003190112610409576004356118548161040c565b61185c612168565b6001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b811691839190833b156118ca5760249083604051958694859363ca5eb5e160e01b85521660048401525af180156106c8576118be575080f35b6118c790610eb7565b80f35b8280fd5b6118d736610761565b5050509290303303611a18576118f061083a85836126ce565b9361191161190161085783856126da565b61190a85611c7e565b5086612720565b9160288211611961575b5050611935600080516020612c2a83398151915292611c7e565b6040805163ffffffff909216825260208201929092526001600160a01b039094169390819081016108b8565b9082611980926108e261197660408801612028565b936108dc88611c7e565b917f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b6001600160a01b0316803b156102c257604051633e5ac80960e11b81529360009185918290849082906119da908b8d60048501612032565b03925af19081156106c857600080516020612c2a8339815191529361193592611a05575b509261191b565b80610955611a1292610eb7565b386119fe565b60405163029a949d60e31b8152600490fd5b346102c25760203660031901126102c2577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277606020600435611a6a8161040c565b611a72612168565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346102c25760403660031901126102c2576020611af4600435611abc8161040c565b60243590611ac98261040c565b60018060a01b03166000526006835260406000209060018060a01b0316600052602052604060002090565b54604051908152f35b346102c25760203660031901126102c257600435611b1a8161040c565b611b22612168565b6001600160a01b039081168015611b7057600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b346102c25760603660031901126102c2576020611ba536610723565b63ffffffff8135611bb581610b1e565b166000526001825260406000205482604051920135148152f35b6040519061056282610eca565b6040519060a082018281106001600160401b03821117610eb257604052565b60405190611c0882610eca565b60006020838281520152565b908160209103126102c257516103208161040c565b6040513d6000823e3d90fd5b908160209103126102c2575190565b6001600160401b038111610eb25760051b60200190565b604051602081018181106001600160401b03821117610eb2576040526000815290565b3561032081610b1e565b6001600160401b038111610eb257601f01601f191660200190565b929192611caf82611c88565b91611cbd6040519384610ee5565b8294818452818301116102c2578281602093846000960137010152565b90929192836002116102c25783116102c257600201916001190190565b60209083610562939594956040519683611d1a89955180928880890191016102c7565b8401918583013701600083820152038085520183610ee5565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610320938181520191611d33565b610f5e610f6a9263ffffffff611d9a939795969716600052600360205260406000209061ffff16600052602052604060002090565b805115611dfd578315611df7576002841015611dce575050610992604051928392639a6d49cd60e01b845260048401611d54565b909280611df19161032094611dec611de7368484611ca3565b6125e6565b611cda565b91611cf7565b92509050565b509190610320913691611ca3565b634e487b7160e01b600052603260045260246000fd5b9190811015611e445760051b8101359061013e19813603018212156102c2570190565b611e0b565b903590601e19813603018212156102c257018035906001600160401b0382116102c2576020019181360383136102c257565b356103208161040c565b6001600160401b038116036102c257565b929093611ef2926001600160401b0360406103209a98999763ffffffff8135611ebe81610b1e565b168852602081013560208901520135611ed681611e85565b166040860152606085015260e0608085015260e0840191611d33565b6001600160a01b0390941660a082015280840360c090910152611d33565b6020818303126102c2578051906001600160401b0382116102c2570181601f820112156102c2578051611f4281611c88565b92611f506040519485610ee5565b818452602082840101116102c25761032091602080850191016102c7565b60405190611f7b82610e97565b8160008152600060208201526040611f91611bfb565b910152565b611fc590610c467f000000000000000000000000000000000000000000000000000000e8d4a510008092612696565b918291808410611fd25750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115612010575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b3561032081611e85565b610320939260809260018060a01b0316825260208201526000604082015281606082015201906102ea565b916001600160a01b038084169290831561214f578116938415612136576001600160a01b038116600090815260056020526040902054838110612107576121029284926120d1600080516020612c4a833981519152966120ec94039160018060a01b03166000526005602052604060002090565b556001600160a01b0316600090815260056020526040902090565b8054820190556040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03929092166004830152602482015260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b6000546001600160a01b0316330361217c57565b60405163118cdaa760e01b8152336004820152602490fd5b908160209103126102c2575161032081610bb3565b90916121c0610320936040845260408401906102ea565b9160208184039101526102ea565b90916122016121df612228946128e4565b6121f66121ef60a0860186611e49565b3691611ca3565b90602085013561293b565b93909283946000146122a4576002905b6114f161221d82611c7e565b916080810190611e49565b60045490926001600160a01b0390911690838261224457505050565b60405163043a78eb60e01b81529260209284928391829161226891600484016121a9565b03915afa80156106c8576122795750565b61229a9060203d60201161229d575b6122928183610ee5565b810190612194565b50565b503d612288565b600190612211565b91908260409103126102c2576040516122c481610eca565b6020808294805184520151910152565b906040828203126102c257610320916122ac565b906020909392936040835263ffffffff8151166040840152818101516060840152608061233c612326604084015160a08488015260e08701906102ea565b6060840151868203603f190160a08801526102ea565b910151151560c08401526001600160a01b03909416910152565b8051821015611e445760209160051b010190565b90601f811161237857505050565b6000916000526020600020906020601f850160051c830194106123b6575b601f0160051c01915b8281106123ab57505050565b81815560010161239f565b9092508290612396565b91909182516001600160401b038111610eb2576123e7816123e18454610db1565b8461236a565b602080601f831160011461242a5750819061241b93949560009261241f575b50508160011b916000199060031b1c19161790565b9055565b015190503880612406565b90601f1983169561244085600052602060002090565b926000905b88821061247d57505083600195969710612464575b505050811b019055565b015160001960f88460031b161c1916905538808061245a565b80600185968294968601518155019501930190612445565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b8584106124cc575050505050505090565b90919293949596858061250f600193603f198682030188528b518760609163ffffffff815116845261ffff868201511686850152015191818982015201906102ea565b9901940194019295949391906124bb565b9060009160005b81518110156125ac576001906125a6604061254e816125468588612356565b5101516125e6565b6125a18161255c8588612356565b5101519163ffffffff61256f8689612356565b515116895261ffff602091600383528a209161258b878a612356565b5101511661ffff16600052602052604060002090565b6123c0565b01612527565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506125e19060405191829182612495565b0390a1565b600361ffff600283015116036125f95750565b604051639a6d49cd60e01b8152602060048201529081906109929060248301906102ea565b60409060231901126102c2576040519061263782610eca565b60243582526044356020830152565b906001600160a01b03808316156104d2578116156104b95761046a61267d9260018060a01b03166000526006602052604060002090565b55565b634e487b7160e01b600052601160045260246000fd5b81156126a0570490565b634e487b7160e01b600052601260045260246000fd5b818102929181159184041417156126c957565b612680565b906020116102c2573590565b906028116102c2576020013560c01c90565b610320906001600160401b037f000000000000000000000000000000000000000000000000000000e8d4a5100091166126b6565b6001600160a01b0381811615612788575b811690811561213657600754908382018092116126c9576007919091556001600160a01b031660009081526005602052604090208281540190556000600080516020612c4a8339815191526020604051858152a390565b61dead9150612731565b90806028116102c2576103209136916027190190602801611ca3565b604c9193610320936040519586936001600160401b0360c01b9060c01b16602085015263ffffffff60e01b9060e01b166028840152602c8301526127fb81518092602086860191016102c7565b810103602c810184520182610ee5565b6001600160a01b03811690816128545750600754918083018093116126c9576020600080516020612c4a833981519152916000946007555b8060075403600755604051908152a3565b6001600160a01b0381166000908152600560205260409020549392908185106128b257816020916128ac600080516020612c4a8339815191529460009798039160018060a01b03166000526005602052604060002090565b55612843565b60405163391434e360e21b81526001600160a01b03919091166004820152602481018590526044810191909152606490fd5b61290f907f000000000000000000000000000000000000000000000000000000e8d4a5100090612696565b6001600160401b0390818111612923571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612999576129969160689160405194859260208401526001600160401b0360c01b9060c01b16604083015233604883015261298681518092602086860191016102c7565b8101036048810184520182610ee5565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261299681610e97565b906080828203126102c257612a009060408051936129e385610e97565b8051855260208101516129f581611e85565b6020860152016122ac565b604082015290565b612a6560809492612a819694612a1c611f6e565b506020612a298651612af9565b950191825180612aea575b50612a3e85611ff0565b9251151592612a4e610c8e611bdc565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b8452600484016122e8565b03917f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b6001600160a01b03165af19081156106c857600091612ac1575090565b610320915060803d608011612ae3575b612adb8183610ee5565b8101906129c6565b503d612ad1565b612af390612b1b565b38612a34565b803403612b035790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f0000000000000000000000006f475642a6e85809b1c36fa62763669b1b48dd5b81169291602081600481875afa9081156106c857600091612c0a575b5016908115612bf857602090600090604051946323b872dd60e01b83523360045260245260445260648180855af1600160005114811615612bd8575b82604052600060605215612bbb575050565b635274afe760e01b82526001600160a01b03166004820152602490fd5b6001811516612bee57813b15153d151616612ba9565b823d6000823e3d90fd5b6040516329b99a9560e11b8152600490fd5b612c23915060203d6020116106f3576106e58183610ee5565b38612b6d56feefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206cc0e1aeceac36fa3873fc1183a0325df58e6323c6a3fb220282d6b1733ae0ce64736f6c63430008160033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000102 | $0 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x8f3472…040177 | 14 days agoMon, 03 Aug 2026 23:15:34 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…93049271 data: 0x000000000000000000…eef23dcf |
| 0xf400f6…9a5718 | 31 days agoFri, 17 Jul 2026 07:42:43 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…2d9762b5 |
| 0x1d1200…bf2b17 | 31 days agoFri, 17 Jul 2026 07:37:06 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…5587239c |
| 0x66608a…b654d5 | 31 days agoFri, 17 Jul 2026 07:34:37 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…47776660 |
| 0x4a2ae7…690ded | 31 days agoFri, 17 Jul 2026 07:33:52 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…683fffab |
| 0x5b8423…04448b | 31 days agoFri, 17 Jul 2026 07:32:43 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…a90a12b7 |
| 0xca8359…4c1fe7 | 31 days agoFri, 17 Jul 2026 07:32:10 UTC | 0xefed6d…fd9c | [0] 0xd0cc2b1ddc87…151fa844 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…0b600000 |
| 0xca8359…4c1fe7 | 31 days agoFri, 17 Jul 2026 07:32:10 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…0b600000 |
| 0x0db029…2fbc40 | 35 days agoMon, 13 Jul 2026 23:01:29 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…683fffac |
| 0x97cf0c…9c9e94 | 35 days agoMon, 13 Jul 2026 22:26:19 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…683ffffe |
| 0xc0f436…d88372 | 35 days agoMon, 13 Jul 2026 21:49:37 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…683fffff |
| 0x537611…cb96e4 | 35 days agoMon, 13 Jul 2026 21:32:48 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…683fffff |
| 0xe38051…be3318 | 35 days agoMon, 13 Jul 2026 20:56:50 UTC | Transfer | [0] 0x000000000000…b9f62ade [1] 0x000000000000…43e40951 data: 0x000000000000000000…68400000 |
| 0x2677cf…ae6e58 | 35 days agoMon, 13 Jul 2026 20:56:35 UTC | Approval | [0] 0x000000000000…b9f62ade [1] 0x000000000000…3ac78ba3 data: 0xffffffffffffffffff…ffffffff |
| 0x48eade…8d1cd0 | 35 days agoMon, 13 Jul 2026 18:54:08 UTC | 0xefed6d…fd9c | [0] 0x91c5fc21d397…c378dcc9 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…68400000 |
| 0x48eade…8d1cd0 | 35 days agoMon, 13 Jul 2026 18:54:08 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…b9f62ade data: 0x000000000000000000…68400000 |
| 0x6f74a6…0ba20a | 37 days agoSat, 11 Jul 2026 14:29:58 UTC | 0x8be007…57e0 | [0] 0x000000000000…dfc2a14b [1] 0x000000000000…00000000 |
| 0xafec1b…8b139c | 37 days agoSat, 11 Jul 2026 10:20:15 UTC | 0x85496b…e59a | [0] 0x7839fb3e623f…ef33de64 [1] 0x000000000000…dfc2a14b data: 0x000000000000000000…a7640000 |
| 0xafec1b…8b139c | 37 days agoSat, 11 Jul 2026 10:20:15 UTC | Transfer | [0] 0x000000000000…dfc2a14b [1] 0x000000000000…00000000 data: 0x000000000000000000…a7640000 |
| 0x6bd0f0…e0f00f | 37 days agoSat, 11 Jul 2026 10:16:45 UTC | 0xefed6d…fd9c | [0] 0xda881f0805e1…c19eeec0 [1] 0x000000000000…dfc2a14b data: 0x000000000000000000…a7640000 |
| 0x6bd0f0…e0f00f | 37 days agoSat, 11 Jul 2026 10:16:45 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…dfc2a14b data: 0x000000000000000000…a7640000 |
| 0xbcc81a…d23f0d | 37 days agoSat, 11 Jul 2026 09:44:33 UTC | 0xbe4864…b674 | data: 0x000000000000000000…00000000 |
| 0x36bc7a…a4d294 | 37 days agoSat, 11 Jul 2026 09:09:12 UTC | 0x238399…b98b | data: 0x000000000000000000…8ce98385 |
| 0x34c870…992d24 | 37 days agoSat, 11 Jul 2026 08:42:58 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…dfc2a14b |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x160dfbfd…15f2cd | Transfer | 19,906,100 | 22 days agoSun, 26 Jul 2026 13:27:41 UTC | 0xcaf7…5d11 | IN | 0xcdbe…cae4 | $0.001 DIH |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x2677cf…ae6e58 | Approve | 8,971,673 | 35 days agoMon, 13 Jul 2026 20:56:35 UTC | 0x5b89…2ade | IN | AXIS AI | $0.000 ETH | 0.00000236 | |
| 0x6f74a6…0ba20a | renounceOwnership | 7,015,587 | 37 days agoSat, 11 Jul 2026 14:29:58 UTC | 0x5681…a14b | IN | AXIS AI | $0.000 ETH | 0.00000133 | |
| 0xacca94…8b26f8 | setDelegate | 7,015,567 | 37 days agoSat, 11 Jul 2026 14:29:56 UTC | 0x5681…a14b | IN | AXIS AI | $0.000 ETH | 0.00000166 | |
| 0xafec1b…8b139c | send | 6,866,072 | 37 days agoSat, 11 Jul 2026 10:20:15 UTC | 0x5681…a14b | IN | AXIS AI | $0.060.00003 ETH | 0.00001558 | |
| 0xbcc81a…d23f0d | setEnforcedOptions | 6,844,662 | 37 days agoSat, 11 Jul 2026 09:44:33 UTC | 0x5681…a14b | IN | AXIS AI | $0.000 ETH | 0.00000308 | |
| 0x36bc7a…a4d294 | setPeer | 6,823,491 | 37 days agoSat, 11 Jul 2026 09:09:12 UTC | 0x5681…a14b | IN | AXIS AI | $0.000 ETH | 0.00000272 |