1369 lines
81 KiB
JSON
1369 lines
81 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "CommodityCCIPBridge",
|
|
"sourceName": "contracts/bridge/CommodityCCIPBridge.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"name": "AccessControlBadConfirmation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "neededRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AccessControlUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "target",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AddressEmptyCode",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AddressInsufficientBalance",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ERC1967InvalidImplementation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ERC1967NonPayable",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "FailedInnerCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InvalidInitialization",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotInitializing",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ReentrancyGuardReentrantCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "SafeERC20FailedOperation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UUPSUnauthorizedCallContext",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "slot",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "UUPSUnsupportedProxiableUUID",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "usedPMM",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "BridgeExecuted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "certificateHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "CertificateRegistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "deliveryId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum CommodityCCIPBridge.DeliveryStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "DeliveryStatusUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "receiverBridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "DestinationAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "DestinationRemoved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "version",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "Initialized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint64",
|
|
"name": "sourceChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "MessageReceived",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "deliveryId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "PhysicalDeliveryRequested",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "Upgraded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BRIDGE_OPERATOR_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UPGRADER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UPGRADE_INTERFACE_VERSION",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiverBridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "addDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "approveCustodian",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "approvedCustodians",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "assetRegistry",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract UniversalAssetRegistry",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "assetType",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "usePMM",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "useVault",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "complianceProof",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "vaultInstructions",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"internalType": "struct UniversalCCIPBridge.BridgeOperation",
|
|
"name": "op",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "bridge",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "certificateHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "custodianSignature",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "bridgeCommodity",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ccipRouter",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IRouterClient",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "certificates",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "certificateHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "quantity",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "commodityType",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "issuedAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "expiresAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isValid",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "deliveryIds",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "deliveryRequests",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "requester",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "deliveryAddress",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "requestedAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum CommodityCCIPBridge.DeliveryStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "destinations",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiverBridge",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "enabled",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "addedAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "getDestination",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiverBridge",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "enabled",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "addedAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct UniversalCCIPBridge.Destination",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getUserNonce",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getUserVault",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_assetRegistry",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_ccipRouter",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "initialize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "deliveryAddress",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "initiatePhysicalDelivery",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "deliveryId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "liquidityManager",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "nonces",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "processedMessages",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "proxiableUUID",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "certificateHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "quantity",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "commodityType",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "expiresAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "registerCertificate",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "removeDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "certificateHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "revokeCertificate",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_ccipRouter",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setCCIPRouter",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_liquidityManager",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setLiquidityManager",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_vaultFactory",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setVaultFactory",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "tokenCustodians",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "deliveryId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum CommodityCCIPBridge.DeliveryStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "updateDeliveryStatus",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newImplementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "upgradeToAndCall",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "userVaults",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "validCertificates",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "vaultFactory",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "withdraw",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"stateMutability": "payable",
|
|
"type": "receive"
|
|
}
|
|
],
|
|
"bytecode": "0x60a08060405234620000d157306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c16620000c257506001600160401b036002600160401b0319828216016200007c575b6040516133df9081620000d7823960805181818161111801526111d20152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880806200005c565b63f92ee8a960e01b8152600490fd5b600080fdfe608080604052600436101561001d575b50361561001b57600080fd5b005b60003560e01c90816301ffc9a714612544575080630b189b92146124ca5780630de22984146124a15780630fe3472c14611d5357806315886a5514611d065780631e3357fc14611772578063248a9ca3146117365780632958d031146103955780632f2ff15d146116ea57806331c1e16a1461166f578063338274381461164657806336568abe146115ff578063377631d7146115395780633c1624d4146114f65780633ccfd60b146114b05780633ea7fbdb1461146d5780634b3192dd1461142e5780634be40fd1146113f35780634f1ef2861461118257806352d1902d1461110557806363673e50146110925780636834e3a814610c8d5780636f739c7a1461103b578063704f884814610fb157806378387c0414610cfe57806378835dd914610cc75780637ecebe0014610c8d57806388ba16ab14610c5c5780638a1856c21461093757806391d14854146108dd578063979d7e86146108b45780639833ca2014610809578063a217fddf146107ed578063a6425c311461074e578063ad3cb1cc14610708578063c0c53b8b1461051c578063c45d6f9914610480578063cad3642f14610445578063d547741f146103f9578063d8a06f73146103d0578063f2380a0814610395578063f72c0d8b1461035a5763fa29f52614610203573861000f565b346103555760603660031901126103555761021c612597565b6102246125d9565b9061022d6125c3565b90610236612bc7565b6001600160a01b039081169182156103235781169081156102ee577f204fe11fb8c7a51e768e894685e74e8fe9e8741492ea62d715826577a7a40eb5916020916001604051916102858361261c565b838352848301828152604084019142835288600052600487526001600160401b0360406000209a16998a6000528752604060002094511684549160ff60a01b9051151560a01b16916affffffffffffffffffffff60a81b161717835551910155604051908152a3005b60405162461bcd60e51b815260206004820152600d60248201526c2d32b937903932b1b2b4bb32b960991b6044820152606490fd5b60405162461bcd60e51b815260206004820152600a6024820152692d32b937903a37b5b2b760b11b6044820152606490fd5b600080fd5b346103555760003660031901126103555760206040517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b346103555760203660031901126103555760206001600160a01b03806103b9612597565b166000526005825260406000205416604051908152f35b34610355576000366003190112610355576003546040516001600160a01b039091168152602090f35b346103555760403660031901126103555761001b6004356104186125ad565b908060005260008051602061336a833981519152602052610440600160406000200154612c7b565b613222565b346103555760203660031901126103555760206001600160a01b0380610469612597565b16600052600a825260406000205416604051908152f35b3461035557602036600319011261035557600435600052600c6020526040600020805460018060a01b039161051883600183015416936105086002840154916003850154166104d1600486016127b8565b9060ff600660058801549701541693604051988998895260208901526040880152606087015260e0608087015260e0860190612880565b9260a085015260c08401906128a5565b0390f35b3461035557606036600319011261035557610535612597565b61053d6125ad565b6105456125c3565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009182549360ff8560401c1615926001600160401b03861695861580610701575b600180981490816106f7575b1590816106ee575b506106dc5767ffffffffffffffff19811687178655846106bd575b506105bf6132a5565b6105c76132a5565b6105cf6132a5565b8560008051602061338a833981519152556105e86132a5565b6001600160a01b0390811690811561068857610636936001600160601b0360a01b9283600054161760005516908161067b575b505061062681612fc5565b5061063081613053565b50613103565b5061063d57005b805468ff0000000000000000191690556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b865416178555858061061b565b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b68ffffffffffffffffff191668010000000000000001178555866105b6565b60405163f92ee8a960e01b8152600490fd5b9050158861059b565b303b159150610593565b5084610587565b34610355576000366003190112610355576105186040516107288161266d565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612880565b34610355576040366003190112610355576060610769612597565b6107716125d9565b610779612ba8565b5060018060a01b0380921660005260046020526001600160401b0360406000209116600052602052604060002090604051906107b48261261c565b6040600184549283169485855260ff602086019460a01c1615158452015492019182526040519283525115156020830152516040820152f35b3461035557600036600319011261035557602060405160008152f35b3461035557604036600319011261035557610822612597565b60018060a01b0380911660005260096020526040600020602435600052602052604060002090815490600183015416916002810154610863600383016127b8565b9161089e60048201549360ff60066005850154940154169360405197889788526020880152604087015260e0606087015260e0860190612880565b92608085015260a0840152151560c08301520390f35b34610355576000366003190112610355576000546040516001600160a01b039091168152602090f35b34610355576040366003190112610355576108f66125ad565b60043560005260008051602061336a83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610355576040366003190112610355576001600160401b03602435818111610355576109689036906004016125ef565b9060043515610c22576040516020810191600435835233604083015242606083015260608252608082019282841086851117610b2e578360405282519020936109b084612637565b600435845260a0830191600083526109d960c08501916000835260e086019333855236916126fa565b92610100850193845242610120860152600061014086015286600052600c602052604060002095518655600186019160018060a01b0380925116926001600160601b0360a01b9384825416179055516002870155600386019251169082541617905551938451908111610b2e57610a53600484015461277e565b601f8111610bd7575b506020601f8211600114610b65578190610140949596600092610b5a575b50508160011b916000199060031b1c19161760048401555b610120810151600584015501516005811015610b44576006610ab49201612b90565b600d549068010000000000000000821015610b2e57610adb82600160209401600d55612731565b81549060031b9083821b91600019901b191617905560405160008152600083820152817ffe5eacefe7a58eae495749075a4d50255e23a4515644bccb34c00c9e8ab871ec604060043593a3604051908152f35b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b015190508680610a7a565b601f198216956004850160005260206000209660005b818110610bbf57509161014095969791846001959410610ba6575b505050811b016004840155610a92565b015160001960f88460031b161c19169055868080610b96565b83830151895560019098019760209384019301610b7b565b600484016000526020600020601f830160051c81019160208410610c18575b601f0160051c01905b818110610c0c5750610a5c565b60008155600101610bff565b9091508190610bf6565b60405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081b595cdcd859d948125160721b6044820152606490fd5b34610355576020366003190112610355576004356000526006602052602060ff604060002054166040519015158152f35b34610355576020366003190112610355576001600160a01b03610cae612597565b1660005260076020526020604060002054604051908152f35b3461035557602036600319011261035557600435600d5481101561035557610cf0602091612731565b90546040519160031b1c8152f35b346103555760c036600319011261035557610d17612597565b610d1f6125c3565b6084356001600160401b03811161035557610d3e9036906004016125ef565b90610d47612bc7565b60018060a01b038416600052600860205260406000206024356000526020526040600020600160ff19825416179055610dac60405191610d8683612637565b60243583526001600160a01b0385166020840152606435604084019081529336916126fa565b6060820190815242608083015260a43560a0830152600160c083015260018060a01b03851660005260096020526040600020602435600052602052604060002092825184556001840160018060a01b036020850151166001600160601b0360a01b825416179055516002840155518051906001600160401b038211610b2e57610e38600385015461277e565b601f8111610f6a575b50602090601f8311600114610ef357928260069360c093610ea89796600092610ee8575b50508160011b916000199060031b1c19161760038501555b6080810151600485015560a081015160058501550151151591019060ff801983541691151516179055565b6040516001600160a01b03918216815260243592909116907f07666ad1b222cc7b8b0672f6b4225e19feab16d4690660a732f4ed00c106a6d090602090a3005b015190508980610e65565b90601f198316916003860160005260206000209260005b818110610f5257509360c093610ea89796936001938360069810610f39575b505050811b016003850155610e7d565b015160001960f88460031b161c19169055898080610f29565b92936020600181928786015181550195019301610f0a565b600385016000526020600020601f840160051c810160208510610faa575b601f830160051c82018110610f9e575050610e41565b60008155600101610f88565b5080610f88565b3461035557604036600319011261035557610fca612597565b610fd26125d9565b90610fdb612bc7565b6001600160a01b031660008181526004602090815260408083206001600160401b0395909516808452949091528120805460ff60a01b191690557fcd50155673a3d71145772f9857052edc738a9ef46a69a04f1fed833f1708fb099080a3005b3461035557604036600319011261035557611054612597565b60243580151581036103555761001b9161106c612c41565b60018060a01b0316600052600b60205260406000209060ff801983541691151516179055565b346103555760403660031901126103555760606110ad612597565b6110b56125d9565b60018060a01b0380921660005260046020526001600160401b0360406000209116600052602052604060002060ff6001825492015491604051938116845260a01c16151560208301526040820152f35b34610355576000366003190112610355577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036111705760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b604036600319011261035557611196612597565b60249081356001600160401b0381116103555736602382011215610355576111c790369084816004013591016126fa565b6001600160a01b03917f000000000000000000000000000000000000000000000000000000000000000083163081149081156113c5575b50611170573360009081527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a860209081526040909120549093907f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e39060ff16156113a857508116926040516352d1902d60e01b81528181600481885afa60009181611379575b506112a157604051634c9c8ce360e01b8152600481018690528690fd5b8490867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc918281036113645750843b1561134e575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351156113345750600083819261001b95519101845af461132e612cde565b916132e6565b925050503461133f57005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9091508281813d83116113a1575b61139181836126be565b8101031261035557519087611284565b503d611387565b856044916040519163e2517d3f60e01b8352336004840152820152fd5b9050837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415856111fe565b346103555760003660031901126103555760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b34610355576020366003190112610355576001600160a01b0361144f612597565b16600052600b602052602060ff604060002054166040519015158152f35b3461035557602036600319011261035557611486612597565b61148e612c41565b600380546001600160a01b0319166001600160a01b0392909216919091179055005b34610355576000366003190112610355576114c9612c41565b6000808080478181156114ed575b3390f1156114e157005b6040513d6000823e3d90fd5b506108fc6114d7565b346103555760203660031901126103555761150f612597565b611517612c41565b600280546001600160a01b0319166001600160a01b0392909216919091179055005b3461035557604036600319011261035557600435602435600581101561035557611561612bc7565b81600052600c602052600560406000200154156115c55760207f9963c66d8b5539983da3059a4dbbec66847e31f69be2841badd1f1086ab766029183600052600c82526115b5816006604060002001612b90565b6115c260405180926128a5565ba2005b60405162461bcd60e51b815260206004820152601260248201527111195b1a5d995c9e481b9bdd08199bdd5b9960721b6044820152606490fd5b34610355576040366003190112610355576116186125ad565b336001600160a01b038216036116345761001b90600435613222565b60405163334bd91960e11b8152600490fd5b34610355576000366003190112610355576002546040516001600160a01b039091168152602090f35b3461035557602036600319011261035557611688612597565b611690612c41565b6001600160a01b031680156116b7576001600160601b0360a01b6001541617600155600080f35b60405162461bcd60e51b815260206004820152600b60248201526a2d32b937903937baba32b960a91b6044820152606490fd5b346103555760403660031901126103555761001b6004356117096125ad565b908060005260008051602061336a833981519152602052611731600160406000200154612c7b565b6131ad565b346103555760203660031901126103555760043560005260008051602061336a8339815191526020526020600160406000200154604051908152f35b346103555760c03660031901126103555761178b612597565b6044356001600160401b0381168103610355576064356001600160a01b03811681036103555760a4356001600160401b038111610355576117d09036906004016125ef565b906117d9612cae565b6000805460405163185c596360e11b81526001600160a01b03888116600483015290929183916024918391165afa9081156114e157600091611ce3575b506020810151600a811015610b4457600303611cae5761022061183c9101511515612b30565b60018060a01b0385166000526008602052604060002060843560005260205260ff6040600020541615611c735760018060a01b038516600052600960205260406000206084356000526020526040600020906040519161189b83612637565b8054835260018101546001600160a01b03166020840152600281015460408401908152906118cb600382016127b8565b60608501526004810154608085015260ff600660058301549260a0870193845201541615801560c0860152611c365751421015611bfb57602435905110611bb65760018060a01b03602083015116600052600b60205260ff6040600020541615611b78576020909101516001600160a01b03169161194b913691906126fa565b5115611b3f5715611b065760405160843560208201526020815261196e8161266d565b60405191826101208101106001600160401b0361012085011117610b2e576001600160401b03602094611aa196610120860160405260018060a01b031685526024358686015216604084015260018060a01b0316606083015260036080830152600160a0830152600060c083015260e08201526040516119ed81612688565b60008152610100820152604051809381926303f8d1cb60e21b835284600484015260018060a01b0381511660248401528481015160448401526001600160401b03604082015116606484015260018060a01b036060820151166084840152608081015160a484015260a0810151151560c484015260c0810151151560e4840152610100611a8c60e0830151610120610104870152610144860190612880565b91015183820360231901610124850152612880565b03816000305af180156114e157600090611ad3575b602090600160008051602061338a83398151915255604051908152f35b506020813d602011611afe575b81611aed602093836126be565b810103126103555760209051611ab6565b3d9150611ae0565b60405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21031bab9ba37b234b0b760791b6044820152606490fd5b60405162461bcd60e51b81526020600482015260116024820152704d697373696e67207369676e617475726560781b6044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527510dd5cdd1bd91a585b881b9bdd08185c1c1c9bdd995960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f436572746966696361746520696e73756666696369656e7400000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601360248201527210d95c9d1a599a58d85d1948195e1c1a5c9959606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601560248201527410d95c9d1a599a58d85d19481b9bdd081d985b1a59605a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272496e76616c696420636572746966696361746560681b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c4e6f7420636f6d6d6f6469747960981b6044820152606490fd5b611d0091503d806000833e611cf881836126be565b81019061293a565b86611816565b34610355576040366003190112610355576001600160a01b03611d27612597565b1660005260086020526040600020602435600052602052602060ff604060002054166040519015158152f35b60031960203682011261035557600435906001600160401b038211610355576101208091833603011261035557611d88612cae565b600080546001600160a01b03169190611da3600485016128b2565b60405163185c596360e11b81526001600160a01b03909116600482015292839060249082905afa9182156114e157600092612484575b50611dea6102208301511515612b30565b81516001600160a01b031615612448576001600160a01b03611e0e600485016128b2565b16600052600460205260406000206001600160401b03611e3060448601612b6f565b1660005260205260406000209160405192611e4a8461261c565b80546001600160a01b038116855260a01c60ff1615801560208601526001919091015460408501526124035782516001600160a01b0316156123cb576024840135156123955761010081015160248501351061236057015160248301351161232b576001600160a01b03611ec0600484016128b2565b16611f1160008060405160208101906323b872dd60e01b82523360248201523060448201526024880135606482015260648152611efc81612652565b519082865af1611f0a612cde565b90836132e6565b8051908115159182612308575b50506122f05750611f3160a48301612b83565b806122dc575b6122cb575b611f4860c48301612b83565b806122b7575b6122a6575b611f5f606483016128b2565b903360005260076020526040600020546040519260018060a01b0316602084015260248401356040840152336060840152608083015260808252611fa282612652565b60018060a01b0390511660405190602082015260208152611fc28161266d565b604051611fce8161266d565b6001815260005b6020811061228f5750604051928360a08101106001600160401b0360a086011117610b2e576120769260a0850160405284526020840152604083019081526000606084015260405161202681612688565b60008152608084015261203b846004016128b2565b90604051916120498361261c565b6001600160a01b031682526024850135602083015260006040830152519061207082612eba565b52612eba565b506001546001600160a01b0316906120b29060208161209760448701612b6f565b604051632bb74f2960e11b8152948592839260048401612ec7565b0381865afa9182156114e15760009261225b575b50814710612223576120fd926040926120e160448701612b6f565b90845180968195829463306ab04160e21b845260048401612ec7565b03925af19081156114e1576000916121f1575b5033600052600760205260406000209182549260001984146121db576001602094019055612140816004016128b2565b9061214d60448201612b6f565b612159606483016128b2565b6001600160401b0361216d60a48501612b83565b9260246040519501358552168684015260018060a01b0316604083015215156060820152827f6e13c3a4053492f10489076e138aeb13c656b658b1a5835874497ee79dfb5b156080339460018060a01b031693a4600160008051602061338a83398151915255604051908152f35b634e487b7160e01b600052601160045260246000fd5b90506040813d60401161221b575b8161220c604093836126be565b81010312610355575182612110565b3d91506121ff565b60405162461bcd60e51b815260206004820152601060248201526f496e73756666696369656e742066656560801b6044820152606490fd5b9091506020813d602011612287575b81612277602093836126be565b81010312610355575190846120c6565b3d915061226a565b60209061229a612ba8565b82828501015201611fd5565b6122b282600401612d83565b611f53565b506003546001600160a01b03161515611f4e565b6122d782600401612d0e565b611f3c565b506002546001600160a01b03161515611f37565b60249060405190635274afe760e01b82526004820152fd5b8192509060209181010312610355576020612323910161292d565b158480611f1e565b60405162461bcd60e51b815260206004820152600d60248201526c41626f7665206d6178696d756d60981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c42656c6f77206d696e696d756d60981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b1b2b4bb32b960811b6044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f44657374696e6174696f6e206e6f7420656e61626c65640000000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526014602482015273105cdcd95d081b9bdd081c9959da5cdd195c995960621b6044820152606490fd5b61249a9192503d806000833e611cf881836126be565b9083611dd9565b34610355576000366003190112610355576001546040516001600160a01b039091168152602090f35b34610355576040366003190112610355576124e3612597565b602435906124ef612bc7565b60018060a01b03169081600052600860205260406000208160005260205260406000209160ff199283815416905560005260096020526040600020906000526020526006604060002001908154169055600080f35b34610355576020366003190112610355576004359063ffffffff60e01b821680920361035557602091637965db0b60e01b8114908115612586575b5015158152f35b6301ffc9a760e01b1490508361257f565b600435906001600160a01b038216820361035557565b602435906001600160a01b038216820361035557565b604435906001600160a01b038216820361035557565b602435906001600160401b038216820361035557565b9181601f84011215610355578235916001600160401b038311610355576020838186019501011161035557565b606081019081106001600160401b03821117610b2e57604052565b60e081019081106001600160401b03821117610b2e57604052565b60a081019081106001600160401b03821117610b2e57604052565b604081019081106001600160401b03821117610b2e57604052565b602081019081106001600160401b03821117610b2e57604052565b60c081019081106001600160401b03821117610b2e57604052565b90601f801991011681019081106001600160401b03821117610b2e57604052565b6001600160401b038111610b2e57601f01601f191660200190565b929192612706826126df565b9161271460405193846126be565b829481845281830111610355578281602093846000960137010152565b600d5481101561276857600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156127ae575b602083101461279857565b634e487b7160e01b600052602260045260246000fd5b91607f169161278d565b906040519182600082546127cb8161277e565b9081845260209460019160018116908160001461283b57506001146127fc575b5050506127fa925003836126be565b565b600090815285812095935091905b8183106128235750506127fa93508201013880806127eb565b8554888401850152948501948794509183019161280a565b925050506127fa94925060ff191682840152151560051b8201013880806127eb565b60005b8381106128705750506000910152565b8181015183820152602001612860565b906020916128998151809281855285808601910161285d565b601f01601f1916010190565b906005821015610b445752565b356001600160a01b03811681036103555790565b51906001600160a01b038216820361035557565b81601f820112156103555780516128f0816126df565b926128fe60405194856126be565b818452602082840101116103555761291c916020808501910161285d565b90565b519060ff8216820361035557565b5190811515820361035557565b9060209182818303126103555780516001600160401b03918282116103555701916102809384848303126103555760405194850185811084821117610b2e57604052612985846128c6565b855280840151600a811015610355578186015260408401516005811015610355576040860152606084015183811161035557826129c39186016128da565b6060860152608084015183811161035557826129e09186016128da565b60808601526129f160a0850161291f565b60a086015260c08401518381116103555782612a0e9186016128da565b60c0860152612a1f60e0850161291f565b60e0860152610100808501519086015261012080850151908601526101408085015190860152610160612a538186016128c6565b90860152610180612a6581860161292d565b908601526101a080850151908601526101c0612a8281860161292d565b908601526101e0918285015184811161035557850181601f82011215610355578051948511610b2e578460051b9060405195612ac0858401886126be565b86528380870192820101928311610355578301905b828210612b1957505050508301526102008082015190830152610220612afc81830161292d565b908301526102408082015190830152610260809101519082015290565b838091612b25846128c6565b815201910190612ad5565b15612b3757565b60405162461bcd60e51b815260206004820152601060248201526f4173736574206e6f742061637469766560801b6044820152606490fd5b356001600160401b03811681036103555790565b3580151581036103555790565b906005811015610b445760ff80198354169116179055565b60405190612bb58261261c565b60006040838281528260208201520152565b3360009081527ff0032186d03910e820cb3fd115c5fea4f88d913d568f567015a009fe33498ecd60205260409020547f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff1615612c235750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604081205460ff1615612c235750565b8060005260008051602061336a83398151915260205260406000203360005260205260ff6040600020541615612c235750565b60008051602061338a8339815191526002815414612ccc5760029055565b604051633ee5aeb560e01b8152600490fd5b3d15612d09573d90612cef826126df565b91612cfd60405193846126be565b82523d6000602084013e565b606090565b6002546001600160a01b039081168015612d7e578260008094936020612d3483966128b2565b93604051928284019563b7b3142f60e01b8752166024840152013560448201526060606482015281608482015260848152612d6e816126a3565b51925af150612d7b612cde565b50565b505050565b6003546001600160a01b039081168015612d7e57600092338452602090600582528484604082205416938415612e38575b5050838316612dc5575b5050505050565b84936001600160401b0382612dda87946128b2565b94612de760408301612b6f565b916040519482860197630f48aa5f60e31b89528760248801521660448601520135606484015216608482015260848152612e20816126a3565b51925af150612e2d612cde565b503880808080612dbe565b81906040518286820191635a5eb7a360e11b835233602482015260248152612e5f8161261c565b51925af1612e6b612cde565b90612e78575b8590612db4565b9092508181805181010312612eb65781015191838316809303612eb657338552600582526040852080546001600160a01b0319168417905538612e71565b8480fd5b8051156127685760200190565b909291926001600160401b03604091168252602091604083820152612ef8855160a0604084015260e0830190612880565b9183860151612f16603f199460609286868303016060870152612880565b604088015195858583030160808601528080885193848152019701936000936000915b848310612f71575050505050505060c0608061291c959660018060a01b0360608201511660a085015201519282850301910152612880565b90919293949598818a5160018060a01b038151168352868101518784015201516002811015612fb157828201528201988401959493926001019190612f39565b634e487b7160e01b88526021600452602488fd5b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604081205490919060008051602061336a8339815191529060ff1661304e578280526020526040822081835260205260408220600160ff19825416179055339160008051602061334a8339815191528180a4600190565b505090565b6001600160a01b031660008181527ff0032186d03910e820cb3fd115c5fea4f88d913d568f567015a009fe33498ecd60205260408120549091907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060008051602061336a8339815191529060ff166130fd578184526020526040832082845260205260408320600160ff1982541617905560008051602061334a833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a860205260408120549091907f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e39060008051602061336a8339815191529060ff166130fd578184526020526040832082845260205260408320600160ff1982541617905560008051602061334a833981519152339380a4600190565b9060009180835260008051602061336a83398151915280602052604084209260018060a01b03169283855260205260ff604085205416156000146130fd578184526020526040832082845260205260408320600160ff1982541617905560008051602061334a833981519152339380a4600190565b9060009180835260008051602061336a83398151915280602052604084209260018060a01b03169283855260205260ff6040852054166000146130fd57818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156132d457565b604051631afcd79f60e31b8152600490fd5b9061330d57508051156132fb57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580613340575b61331e575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561331656fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220e84a59a8201fffd077f66a36d53958917493efeadbe7231052c6f258d642e3aa64736f6c63430008160033",
|
|
"deployedBytecode": "0x608080604052600436101561001d575b50361561001b57600080fd5b005b60003560e01c90816301ffc9a714612544575080630b189b92146124ca5780630de22984146124a15780630fe3472c14611d5357806315886a5514611d065780631e3357fc14611772578063248a9ca3146117365780632958d031146103955780632f2ff15d146116ea57806331c1e16a1461166f578063338274381461164657806336568abe146115ff578063377631d7146115395780633c1624d4146114f65780633ccfd60b146114b05780633ea7fbdb1461146d5780634b3192dd1461142e5780634be40fd1146113f35780634f1ef2861461118257806352d1902d1461110557806363673e50146110925780636834e3a814610c8d5780636f739c7a1461103b578063704f884814610fb157806378387c0414610cfe57806378835dd914610cc75780637ecebe0014610c8d57806388ba16ab14610c5c5780638a1856c21461093757806391d14854146108dd578063979d7e86146108b45780639833ca2014610809578063a217fddf146107ed578063a6425c311461074e578063ad3cb1cc14610708578063c0c53b8b1461051c578063c45d6f9914610480578063cad3642f14610445578063d547741f146103f9578063d8a06f73146103d0578063f2380a0814610395578063f72c0d8b1461035a5763fa29f52614610203573861000f565b346103555760603660031901126103555761021c612597565b6102246125d9565b9061022d6125c3565b90610236612bc7565b6001600160a01b039081169182156103235781169081156102ee577f204fe11fb8c7a51e768e894685e74e8fe9e8741492ea62d715826577a7a40eb5916020916001604051916102858361261c565b838352848301828152604084019142835288600052600487526001600160401b0360406000209a16998a6000528752604060002094511684549160ff60a01b9051151560a01b16916affffffffffffffffffffff60a81b161717835551910155604051908152a3005b60405162461bcd60e51b815260206004820152600d60248201526c2d32b937903932b1b2b4bb32b960991b6044820152606490fd5b60405162461bcd60e51b815260206004820152600a6024820152692d32b937903a37b5b2b760b11b6044820152606490fd5b600080fd5b346103555760003660031901126103555760206040517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b346103555760203660031901126103555760206001600160a01b03806103b9612597565b166000526005825260406000205416604051908152f35b34610355576000366003190112610355576003546040516001600160a01b039091168152602090f35b346103555760403660031901126103555761001b6004356104186125ad565b908060005260008051602061336a833981519152602052610440600160406000200154612c7b565b613222565b346103555760203660031901126103555760206001600160a01b0380610469612597565b16600052600a825260406000205416604051908152f35b3461035557602036600319011261035557600435600052600c6020526040600020805460018060a01b039161051883600183015416936105086002840154916003850154166104d1600486016127b8565b9060ff600660058801549701541693604051988998895260208901526040880152606087015260e0608087015260e0860190612880565b9260a085015260c08401906128a5565b0390f35b3461035557606036600319011261035557610535612597565b61053d6125ad565b6105456125c3565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009182549360ff8560401c1615926001600160401b03861695861580610701575b600180981490816106f7575b1590816106ee575b506106dc5767ffffffffffffffff19811687178655846106bd575b506105bf6132a5565b6105c76132a5565b6105cf6132a5565b8560008051602061338a833981519152556105e86132a5565b6001600160a01b0390811690811561068857610636936001600160601b0360a01b9283600054161760005516908161067b575b505061062681612fc5565b5061063081613053565b50613103565b5061063d57005b805468ff0000000000000000191690556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b865416178555858061061b565b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b68ffffffffffffffffff191668010000000000000001178555866105b6565b60405163f92ee8a960e01b8152600490fd5b9050158861059b565b303b159150610593565b5084610587565b34610355576000366003190112610355576105186040516107288161266d565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612880565b34610355576040366003190112610355576060610769612597565b6107716125d9565b610779612ba8565b5060018060a01b0380921660005260046020526001600160401b0360406000209116600052602052604060002090604051906107b48261261c565b6040600184549283169485855260ff602086019460a01c1615158452015492019182526040519283525115156020830152516040820152f35b3461035557600036600319011261035557602060405160008152f35b3461035557604036600319011261035557610822612597565b60018060a01b0380911660005260096020526040600020602435600052602052604060002090815490600183015416916002810154610863600383016127b8565b9161089e60048201549360ff60066005850154940154169360405197889788526020880152604087015260e0606087015260e0860190612880565b92608085015260a0840152151560c08301520390f35b34610355576000366003190112610355576000546040516001600160a01b039091168152602090f35b34610355576040366003190112610355576108f66125ad565b60043560005260008051602061336a83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610355576040366003190112610355576001600160401b03602435818111610355576109689036906004016125ef565b9060043515610c22576040516020810191600435835233604083015242606083015260608252608082019282841086851117610b2e578360405282519020936109b084612637565b600435845260a0830191600083526109d960c08501916000835260e086019333855236916126fa565b92610100850193845242610120860152600061014086015286600052600c602052604060002095518655600186019160018060a01b0380925116926001600160601b0360a01b9384825416179055516002870155600386019251169082541617905551938451908111610b2e57610a53600484015461277e565b601f8111610bd7575b506020601f8211600114610b65578190610140949596600092610b5a575b50508160011b916000199060031b1c19161760048401555b610120810151600584015501516005811015610b44576006610ab49201612b90565b600d549068010000000000000000821015610b2e57610adb82600160209401600d55612731565b81549060031b9083821b91600019901b191617905560405160008152600083820152817ffe5eacefe7a58eae495749075a4d50255e23a4515644bccb34c00c9e8ab871ec604060043593a3604051908152f35b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b015190508680610a7a565b601f198216956004850160005260206000209660005b818110610bbf57509161014095969791846001959410610ba6575b505050811b016004840155610a92565b015160001960f88460031b161c19169055868080610b96565b83830151895560019098019760209384019301610b7b565b600484016000526020600020601f830160051c81019160208410610c18575b601f0160051c01905b818110610c0c5750610a5c565b60008155600101610bff565b9091508190610bf6565b60405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081b595cdcd859d948125160721b6044820152606490fd5b34610355576020366003190112610355576004356000526006602052602060ff604060002054166040519015158152f35b34610355576020366003190112610355576001600160a01b03610cae612597565b1660005260076020526020604060002054604051908152f35b3461035557602036600319011261035557600435600d5481101561035557610cf0602091612731565b90546040519160031b1c8152f35b346103555760c036600319011261035557610d17612597565b610d1f6125c3565b6084356001600160401b03811161035557610d3e9036906004016125ef565b90610d47612bc7565b60018060a01b038416600052600860205260406000206024356000526020526040600020600160ff19825416179055610dac60405191610d8683612637565b60243583526001600160a01b0385166020840152606435604084019081529336916126fa565b6060820190815242608083015260a43560a0830152600160c083015260018060a01b03851660005260096020526040600020602435600052602052604060002092825184556001840160018060a01b036020850151166001600160601b0360a01b825416179055516002840155518051906001600160401b038211610b2e57610e38600385015461277e565b601f8111610f6a575b50602090601f8311600114610ef357928260069360c093610ea89796600092610ee8575b50508160011b916000199060031b1c19161760038501555b6080810151600485015560a081015160058501550151151591019060ff801983541691151516179055565b6040516001600160a01b03918216815260243592909116907f07666ad1b222cc7b8b0672f6b4225e19feab16d4690660a732f4ed00c106a6d090602090a3005b015190508980610e65565b90601f198316916003860160005260206000209260005b818110610f5257509360c093610ea89796936001938360069810610f39575b505050811b016003850155610e7d565b015160001960f88460031b161c19169055898080610f29565b92936020600181928786015181550195019301610f0a565b600385016000526020600020601f840160051c810160208510610faa575b601f830160051c82018110610f9e575050610e41565b60008155600101610f88565b5080610f88565b3461035557604036600319011261035557610fca612597565b610fd26125d9565b90610fdb612bc7565b6001600160a01b031660008181526004602090815260408083206001600160401b0395909516808452949091528120805460ff60a01b191690557fcd50155673a3d71145772f9857052edc738a9ef46a69a04f1fed833f1708fb099080a3005b3461035557604036600319011261035557611054612597565b60243580151581036103555761001b9161106c612c41565b60018060a01b0316600052600b60205260406000209060ff801983541691151516179055565b346103555760403660031901126103555760606110ad612597565b6110b56125d9565b60018060a01b0380921660005260046020526001600160401b0360406000209116600052602052604060002060ff6001825492015491604051938116845260a01c16151560208301526040820152f35b34610355576000366003190112610355577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036111705760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b604036600319011261035557611196612597565b60249081356001600160401b0381116103555736602382011215610355576111c790369084816004013591016126fa565b6001600160a01b03917f000000000000000000000000000000000000000000000000000000000000000083163081149081156113c5575b50611170573360009081527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a860209081526040909120549093907f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e39060ff16156113a857508116926040516352d1902d60e01b81528181600481885afa60009181611379575b506112a157604051634c9c8ce360e01b8152600481018690528690fd5b8490867f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc918281036113645750843b1561134e575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351156113345750600083819261001b95519101845af461132e612cde565b916132e6565b925050503461133f57005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9091508281813d83116113a1575b61139181836126be565b8101031261035557519087611284565b503d611387565b856044916040519163e2517d3f60e01b8352336004840152820152fd5b9050837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415856111fe565b346103555760003660031901126103555760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b34610355576020366003190112610355576001600160a01b0361144f612597565b16600052600b602052602060ff604060002054166040519015158152f35b3461035557602036600319011261035557611486612597565b61148e612c41565b600380546001600160a01b0319166001600160a01b0392909216919091179055005b34610355576000366003190112610355576114c9612c41565b6000808080478181156114ed575b3390f1156114e157005b6040513d6000823e3d90fd5b506108fc6114d7565b346103555760203660031901126103555761150f612597565b611517612c41565b600280546001600160a01b0319166001600160a01b0392909216919091179055005b3461035557604036600319011261035557600435602435600581101561035557611561612bc7565b81600052600c602052600560406000200154156115c55760207f9963c66d8b5539983da3059a4dbbec66847e31f69be2841badd1f1086ab766029183600052600c82526115b5816006604060002001612b90565b6115c260405180926128a5565ba2005b60405162461bcd60e51b815260206004820152601260248201527111195b1a5d995c9e481b9bdd08199bdd5b9960721b6044820152606490fd5b34610355576040366003190112610355576116186125ad565b336001600160a01b038216036116345761001b90600435613222565b60405163334bd91960e11b8152600490fd5b34610355576000366003190112610355576002546040516001600160a01b039091168152602090f35b3461035557602036600319011261035557611688612597565b611690612c41565b6001600160a01b031680156116b7576001600160601b0360a01b6001541617600155600080f35b60405162461bcd60e51b815260206004820152600b60248201526a2d32b937903937baba32b960a91b6044820152606490fd5b346103555760403660031901126103555761001b6004356117096125ad565b908060005260008051602061336a833981519152602052611731600160406000200154612c7b565b6131ad565b346103555760203660031901126103555760043560005260008051602061336a8339815191526020526020600160406000200154604051908152f35b346103555760c03660031901126103555761178b612597565b6044356001600160401b0381168103610355576064356001600160a01b03811681036103555760a4356001600160401b038111610355576117d09036906004016125ef565b906117d9612cae565b6000805460405163185c596360e11b81526001600160a01b03888116600483015290929183916024918391165afa9081156114e157600091611ce3575b506020810151600a811015610b4457600303611cae5761022061183c9101511515612b30565b60018060a01b0385166000526008602052604060002060843560005260205260ff6040600020541615611c735760018060a01b038516600052600960205260406000206084356000526020526040600020906040519161189b83612637565b8054835260018101546001600160a01b03166020840152600281015460408401908152906118cb600382016127b8565b60608501526004810154608085015260ff600660058301549260a0870193845201541615801560c0860152611c365751421015611bfb57602435905110611bb65760018060a01b03602083015116600052600b60205260ff6040600020541615611b78576020909101516001600160a01b03169161194b913691906126fa565b5115611b3f5715611b065760405160843560208201526020815261196e8161266d565b60405191826101208101106001600160401b0361012085011117610b2e576001600160401b03602094611aa196610120860160405260018060a01b031685526024358686015216604084015260018060a01b0316606083015260036080830152600160a0830152600060c083015260e08201526040516119ed81612688565b60008152610100820152604051809381926303f8d1cb60e21b835284600484015260018060a01b0381511660248401528481015160448401526001600160401b03604082015116606484015260018060a01b036060820151166084840152608081015160a484015260a0810151151560c484015260c0810151151560e4840152610100611a8c60e0830151610120610104870152610144860190612880565b91015183820360231901610124850152612880565b03816000305af180156114e157600090611ad3575b602090600160008051602061338a83398151915255604051908152f35b506020813d602011611afe575b81611aed602093836126be565b810103126103555760209051611ab6565b3d9150611ae0565b60405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21031bab9ba37b234b0b760791b6044820152606490fd5b60405162461bcd60e51b81526020600482015260116024820152704d697373696e67207369676e617475726560781b6044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527510dd5cdd1bd91a585b881b9bdd08185c1c1c9bdd995960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f436572746966696361746520696e73756666696369656e7400000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601360248201527210d95c9d1a599a58d85d1948195e1c1a5c9959606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601560248201527410d95c9d1a599a58d85d19481b9bdd081d985b1a59605a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272496e76616c696420636572746966696361746560681b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c4e6f7420636f6d6d6f6469747960981b6044820152606490fd5b611d0091503d806000833e611cf881836126be565b81019061293a565b86611816565b34610355576040366003190112610355576001600160a01b03611d27612597565b1660005260086020526040600020602435600052602052602060ff604060002054166040519015158152f35b60031960203682011261035557600435906001600160401b038211610355576101208091833603011261035557611d88612cae565b600080546001600160a01b03169190611da3600485016128b2565b60405163185c596360e11b81526001600160a01b03909116600482015292839060249082905afa9182156114e157600092612484575b50611dea6102208301511515612b30565b81516001600160a01b031615612448576001600160a01b03611e0e600485016128b2565b16600052600460205260406000206001600160401b03611e3060448601612b6f565b1660005260205260406000209160405192611e4a8461261c565b80546001600160a01b038116855260a01c60ff1615801560208601526001919091015460408501526124035782516001600160a01b0316156123cb576024840135156123955761010081015160248501351061236057015160248301351161232b576001600160a01b03611ec0600484016128b2565b16611f1160008060405160208101906323b872dd60e01b82523360248201523060448201526024880135606482015260648152611efc81612652565b519082865af1611f0a612cde565b90836132e6565b8051908115159182612308575b50506122f05750611f3160a48301612b83565b806122dc575b6122cb575b611f4860c48301612b83565b806122b7575b6122a6575b611f5f606483016128b2565b903360005260076020526040600020546040519260018060a01b0316602084015260248401356040840152336060840152608083015260808252611fa282612652565b60018060a01b0390511660405190602082015260208152611fc28161266d565b604051611fce8161266d565b6001815260005b6020811061228f5750604051928360a08101106001600160401b0360a086011117610b2e576120769260a0850160405284526020840152604083019081526000606084015260405161202681612688565b60008152608084015261203b846004016128b2565b90604051916120498361261c565b6001600160a01b031682526024850135602083015260006040830152519061207082612eba565b52612eba565b506001546001600160a01b0316906120b29060208161209760448701612b6f565b604051632bb74f2960e11b8152948592839260048401612ec7565b0381865afa9182156114e15760009261225b575b50814710612223576120fd926040926120e160448701612b6f565b90845180968195829463306ab04160e21b845260048401612ec7565b03925af19081156114e1576000916121f1575b5033600052600760205260406000209182549260001984146121db576001602094019055612140816004016128b2565b9061214d60448201612b6f565b612159606483016128b2565b6001600160401b0361216d60a48501612b83565b9260246040519501358552168684015260018060a01b0316604083015215156060820152827f6e13c3a4053492f10489076e138aeb13c656b658b1a5835874497ee79dfb5b156080339460018060a01b031693a4600160008051602061338a83398151915255604051908152f35b634e487b7160e01b600052601160045260246000fd5b90506040813d60401161221b575b8161220c604093836126be565b81010312610355575182612110565b3d91506121ff565b60405162461bcd60e51b815260206004820152601060248201526f496e73756666696369656e742066656560801b6044820152606490fd5b9091506020813d602011612287575b81612277602093836126be565b81010312610355575190846120c6565b3d915061226a565b60209061229a612ba8565b82828501015201611fd5565b6122b282600401612d83565b611f53565b506003546001600160a01b03161515611f4e565b6122d782600401612d0e565b611f3c565b506002546001600160a01b03161515611f37565b60249060405190635274afe760e01b82526004820152fd5b8192509060209181010312610355576020612323910161292d565b158480611f1e565b60405162461bcd60e51b815260206004820152600d60248201526c41626f7665206d6178696d756d60981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c42656c6f77206d696e696d756d60981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b1b2b4bb32b960811b6044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f44657374696e6174696f6e206e6f7420656e61626c65640000000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526014602482015273105cdcd95d081b9bdd081c9959da5cdd195c995960621b6044820152606490fd5b61249a9192503d806000833e611cf881836126be565b9083611dd9565b34610355576000366003190112610355576001546040516001600160a01b039091168152602090f35b34610355576040366003190112610355576124e3612597565b602435906124ef612bc7565b60018060a01b03169081600052600860205260406000208160005260205260406000209160ff199283815416905560005260096020526040600020906000526020526006604060002001908154169055600080f35b34610355576020366003190112610355576004359063ffffffff60e01b821680920361035557602091637965db0b60e01b8114908115612586575b5015158152f35b6301ffc9a760e01b1490508361257f565b600435906001600160a01b038216820361035557565b602435906001600160a01b038216820361035557565b604435906001600160a01b038216820361035557565b602435906001600160401b038216820361035557565b9181601f84011215610355578235916001600160401b038311610355576020838186019501011161035557565b606081019081106001600160401b03821117610b2e57604052565b60e081019081106001600160401b03821117610b2e57604052565b60a081019081106001600160401b03821117610b2e57604052565b604081019081106001600160401b03821117610b2e57604052565b602081019081106001600160401b03821117610b2e57604052565b60c081019081106001600160401b03821117610b2e57604052565b90601f801991011681019081106001600160401b03821117610b2e57604052565b6001600160401b038111610b2e57601f01601f191660200190565b929192612706826126df565b9161271460405193846126be565b829481845281830111610355578281602093846000960137010152565b600d5481101561276857600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156127ae575b602083101461279857565b634e487b7160e01b600052602260045260246000fd5b91607f169161278d565b906040519182600082546127cb8161277e565b9081845260209460019160018116908160001461283b57506001146127fc575b5050506127fa925003836126be565b565b600090815285812095935091905b8183106128235750506127fa93508201013880806127eb565b8554888401850152948501948794509183019161280a565b925050506127fa94925060ff191682840152151560051b8201013880806127eb565b60005b8381106128705750506000910152565b8181015183820152602001612860565b906020916128998151809281855285808601910161285d565b601f01601f1916010190565b906005821015610b445752565b356001600160a01b03811681036103555790565b51906001600160a01b038216820361035557565b81601f820112156103555780516128f0816126df565b926128fe60405194856126be565b818452602082840101116103555761291c916020808501910161285d565b90565b519060ff8216820361035557565b5190811515820361035557565b9060209182818303126103555780516001600160401b03918282116103555701916102809384848303126103555760405194850185811084821117610b2e57604052612985846128c6565b855280840151600a811015610355578186015260408401516005811015610355576040860152606084015183811161035557826129c39186016128da565b6060860152608084015183811161035557826129e09186016128da565b60808601526129f160a0850161291f565b60a086015260c08401518381116103555782612a0e9186016128da565b60c0860152612a1f60e0850161291f565b60e0860152610100808501519086015261012080850151908601526101408085015190860152610160612a538186016128c6565b90860152610180612a6581860161292d565b908601526101a080850151908601526101c0612a8281860161292d565b908601526101e0918285015184811161035557850181601f82011215610355578051948511610b2e578460051b9060405195612ac0858401886126be565b86528380870192820101928311610355578301905b828210612b1957505050508301526102008082015190830152610220612afc81830161292d565b908301526102408082015190830152610260809101519082015290565b838091612b25846128c6565b815201910190612ad5565b15612b3757565b60405162461bcd60e51b815260206004820152601060248201526f4173736574206e6f742061637469766560801b6044820152606490fd5b356001600160401b03811681036103555790565b3580151581036103555790565b906005811015610b445760ff80198354169116179055565b60405190612bb58261261c565b60006040838281528260208201520152565b3360009081527ff0032186d03910e820cb3fd115c5fea4f88d913d568f567015a009fe33498ecd60205260409020547f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff1615612c235750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604081205460ff1615612c235750565b8060005260008051602061336a83398151915260205260406000203360005260205260ff6040600020541615612c235750565b60008051602061338a8339815191526002815414612ccc5760029055565b604051633ee5aeb560e01b8152600490fd5b3d15612d09573d90612cef826126df565b91612cfd60405193846126be565b82523d6000602084013e565b606090565b6002546001600160a01b039081168015612d7e578260008094936020612d3483966128b2565b93604051928284019563b7b3142f60e01b8752166024840152013560448201526060606482015281608482015260848152612d6e816126a3565b51925af150612d7b612cde565b50565b505050565b6003546001600160a01b039081168015612d7e57600092338452602090600582528484604082205416938415612e38575b5050838316612dc5575b5050505050565b84936001600160401b0382612dda87946128b2565b94612de760408301612b6f565b916040519482860197630f48aa5f60e31b89528760248801521660448601520135606484015216608482015260848152612e20816126a3565b51925af150612e2d612cde565b503880808080612dbe565b81906040518286820191635a5eb7a360e11b835233602482015260248152612e5f8161261c565b51925af1612e6b612cde565b90612e78575b8590612db4565b9092508181805181010312612eb65781015191838316809303612eb657338552600582526040852080546001600160a01b0319168417905538612e71565b8480fd5b8051156127685760200190565b909291926001600160401b03604091168252602091604083820152612ef8855160a0604084015260e0830190612880565b9183860151612f16603f199460609286868303016060870152612880565b604088015195858583030160808601528080885193848152019701936000936000915b848310612f71575050505050505060c0608061291c959660018060a01b0360608201511660a085015201519282850301910152612880565b90919293949598818a5160018060a01b038151168352868101518784015201516002811015612fb157828201528201988401959493926001019190612f39565b634e487b7160e01b88526021600452602488fd5b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604081205490919060008051602061336a8339815191529060ff1661304e578280526020526040822081835260205260408220600160ff19825416179055339160008051602061334a8339815191528180a4600190565b505090565b6001600160a01b031660008181527ff0032186d03910e820cb3fd115c5fea4f88d913d568f567015a009fe33498ecd60205260408120549091907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060008051602061336a8339815191529060ff166130fd578184526020526040832082845260205260408320600160ff1982541617905560008051602061334a833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a860205260408120549091907f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e39060008051602061336a8339815191529060ff166130fd578184526020526040832082845260205260408320600160ff1982541617905560008051602061334a833981519152339380a4600190565b9060009180835260008051602061336a83398151915280602052604084209260018060a01b03169283855260205260ff604085205416156000146130fd578184526020526040832082845260205260408320600160ff1982541617905560008051602061334a833981519152339380a4600190565b9060009180835260008051602061336a83398151915280602052604084209260018060a01b03169283855260205260ff6040852054166000146130fd57818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156132d457565b604051631afcd79f60e31b8152600490fd5b9061330d57508051156132fb57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580613340575b61331e575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561331656fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220e84a59a8201fffd077f66a36d53958917493efeadbe7231052c6f258d642e3aa64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|