753 lines
39 KiB
JSON
753 lines
39 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "AlltraAdapter",
|
|
"sourceName": "contracts/bridge/adapters/evm/AlltraAdapter.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"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": [],
|
|
"name": "FailedInnerCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ReentrancyGuardReentrantCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "SafeERC20FailedOperation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "alltraTxHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AlltraBridgeConfirmed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AlltraBridgeInitiated",
|
|
"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"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ALLTRA_MAINNET",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"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": "alltraTransport",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IAlltraTransport",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "destination",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "recipient",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "bridge",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "bridgeFee",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "bridgeRequests",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "destinationData",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum IChainAdapter.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "createdAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "completedAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "cancelBridge",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "alltraTxHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "confirmBridge",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "destination",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "estimateFee",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "fee",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getBridgeStatus",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "destinationData",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "requestId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum IChainAdapter.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "createdAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "completedAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct IChainAdapter.BridgeRequest",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getChainIdentifier",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "chainId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "identifier",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getChainType",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"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": [],
|
|
"name": "isActive",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"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": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"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": "_transport",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setAlltraTransport",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_fee",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setBridgeFee",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "_isActive",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setIsActive",
|
|
"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": [],
|
|
"name": "universalBridge",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract UniversalCCIPBridge",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "destination",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "validateDestination",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x608034620000c457601f620018be38819003918201601f19168301916001600160401b03831184841017620000c9578084926040948552833981010312620000c457620000756200005e60206200005684620000df565b9301620000df565b91600180556200006e81620000f4565b5062000174565b50600280546001600160a01b0319166001600160a01b03929092169190911790556003805460ff60a01b1916600160a01b17905566038d7ea4c680006004556040516116879081620002178239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620000c457565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200017057818052816020526040822081835260205260408220600160ff1982541617905533916000805160206200189e8339815191528180a4600190565b5090565b6001600160a01b031660008181527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d00903960205260408120549091907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff166200021157808352826020526040832082845260205260408320600160ff198254161790556000805160206200189e833981519152339380a4600190565b50509056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a71461114b5750806313355df71461112d57806322f3e2d414611107578063248a9ca3146110d85780632750fc78146110935780632b368ac21461104b5780632f2ff15d1461100c57806336568abe14610fc55780633a74cf7614610f9c578063434b99c714610f595780634be40fd114610f1e57806360b4141114610e715780636cb4dfc014610e2c5780637ecebe0014610df257806382b12dd714610dd45780638d75141514610c9057806391542ad614610c6757806391d1485414610c1a578063941b968214610bc557806397e67c3b14610b7d578063998cdf8314610b5c578063a1f2fce914610a36578063a217fddf14610a1a578063d046b4e2146108ae578063d547741f1461086d5763f33ffba31461013d57600080fd5b60803660031901126104f85761015161119e565b6044356001600160401b0381116104f8576101709036906004016111ca565b6064356001600160401b0381116104f85761018f9036906004016111ca565b505060026001541461085b57600260015560ff60035460a01c161561082357602435156107f0576040516301b2d37f60e61b8152602060048201526024810182905281836044830137600060448383010152602081604481601f19601f8701168101030181305afa908115610504576000916107d1575b501561079657610216818361137b565b90336000526006602052604060002092835493600019851461078057600185019055604051933360601b60208601526bffffffffffffffffffffffff19808760601b166034870152602435604887015284166068860152607c85015242609c850152609c84528360c08101106001600160401b0360c0860111176106cc5760c0840160405283516020850120936001600160a01b03861661071a575060243534106106e2575b604051916102c983611231565b3383526001600160a01b038616602084015260243560408401526102ec816113cd565b916102fa6040519384611268565b81835236828201116104f8578160009260209283860137830101526060820152826080820152600160a08201524260c0820152600060e082015282600052600560205260406000209060018060a01b038151166bffffffffffffffffffffffff60a01b9081845416178355600183019060018060a01b03602084015116908254161790556040810151600283015560608101518051906001600160401b0382116106cc5781906103ad60038601546111f7565b601f8111610679575b50602090601f8311600114610607576000926105fc575b50508160011b916000199060031b1c19161760038301555b6080810151600483015560a0810151600583019160068210156105e65760079260e09260ff8019835416911617905560c08101516006850155015191015560018060a01b03600354168015158061058b575b15610510576040516313a0e7f560e31b81526001600160a01b03851660048201526024803590820152606083901c6044820152906020908290606490829034905af18015610504576104d4575b5060209260405191602435835260601c8483015260018060a01b031690827fed6398f58d0993b280e50a39bfa20a80a24beefe0750e5c38dd470ff8ba2964d60403393a460018055604051908152f35b602090813d83116104fd575b6104ea8183611268565b810103126104f85738610484565b600080fd5b503d6104e0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152604760248201527f416c6c747261416461707465723a2073657420416c6c747261437573746f6d4260448201527f72696467652076696120736574416c6c7472615472616e73706f727420666f726064820152660203635313934360cc1b608482015260a490fd5b50604051631a740af960e31b8152602081600481855afa908115610504576000916105b7575b50610437565b6105d9915060203d6020116105df575b6105d18183611268565b8101906113e8565b386105b1565b503d6105c7565b634e487b7160e01b600052602160045260246000fd5b0151905038806103cd565b9250600385016000526020600020906000935b601f198416851061065e576001945083601f19811610610645575b505050811b0160038301556103e5565b015160001960f88460031b161c19169055388080610635565b8181015183556020948501946001909301929091019061061a565b909150600385016000526020600020601f840160051c8101602085106106c5575b90849392915b601f830160051c820181106106b65750506103b6565b600081558594506001016106a0565b508061069a565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b6323b872dd60e01b60e08201523360e482015230610104820152602435610124820152606460c082019081526001600160401b0361016083019081119111176106cc57610160810160405261077b9060c0016001600160a01b038716611553565b6102bc565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103232b9ba34b730ba34b7b760691b6044820152606490fd5b6107ea915060203d6020116105df576105d18183611268565b38610206565b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f4164617074657220696e61637469766560801b6044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b346104f85760403660031901126104f8576108ac60043561088c6111b4565b908060005260006020526108a760016040600020015461143a565b6114de565b005b346104f8576020806003193601126104f857600435600052600581526040600020600581019060ff82541660068110156105e6578015908115610a0f575b50156109da5780546001600160a01b03908116338190036109a057600183015482169081610953575050600080836002829594839554169101549082821561094a575bf115610504575b805460ff1916600517905560405160018152f35b506108fc61092f565b915091600201546040519163a9059cbb60e01b86840152602483015260448201526044815260808101918183106001600160401b038411176106cc5761099b92604052611553565b610936565b60405162461bcd60e51b81526004810186905260126024820152712737ba103932b8bab2b9ba1039b2b73232b960711b6044820152606490fd5b60405162461bcd60e51b815260048101849052600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606490fd5b6001915014846108ec565b346104f85760003660031901126104f857602060405160008152f35b346104f85760403660031901126104f8573360009081527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d0090396020526040902054600435907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff1615610b3e5750806000526005602052604060002060058101805460ff811660068110156105e657600103610b085760029060ff1916179055600742910155602435907fb18b17d440520a89b750ec072169711af21ceaed855f048d56d8ee61d07f4261600080a3005b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642073746174757360901b6044820152606490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346104f85760203660031901126104f857610b75611400565b600480359055005b346104f85760003660031901126104f857610bc1604051610b9d8161124d565b600381526245564d60e81b602082015260405191829160208352602083019061132e565b0390f35b346104f85760003660031901126104f857610bc1604051610be58161124d565b600b81526a1053130b53585a5b9b995d60aa1b60208201526040519182916209f2a4835260406020840152604083019061132e565b346104f85760403660031901126104f857610c336111b4565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346104f85760003660031901126104f8576002546040516001600160a01b039091168152602090f35b346104f8576020806003193601126104f857600060e0604051610cb281611231565b82815282848201528260408201526060808201528260808201528260a08201528260c082015201526004356000526005815260406000209060405190610cf782611231565b82546001600160a01b039081168352600184015481168284019081526002850154604085019081529194909290610d3060038201611289565b93606086019485526004820154946080870195865260ff6005840154169460a088019560068110156105e657610dc5938a918852600760068701549660c08c0197885201549660e08b019788526040519b8c9b828d525116908b0152511660408901525160608801525193610db3610100958660808a015261012089019061132e565b955160a08801525160c087019061136e565b5160e085015251908301520390f35b346104f85760003660031901126104f8576020600454604051908152f35b346104f85760203660031901126104f8576001600160a01b03610e1361119e565b1660005260066020526020604060002054604051908152f35b346104f85760203660031901126104f8576004356001600160401b0381116104f857610e67610e6160209236906004016111ca565b906113ac565b6040519015158152f35b346104f85760203660031901126104f8576004356000908152600560205260409020805460018201546002830154926001600160a01b0391821692909116610ebb60038301611289565b91610f10600482015493610f0060ff600585015416916007600686015495015495604051998a99610100928b5260208b015260408a01528060608a015288019061132e565b94608087015260a086019061136e565b60c084015260e08301520390f35b346104f85760003660031901126104f85760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b346104f85760203660031901126104f857610f7261119e565b610f7a611400565b600380546001600160a01b0319166001600160a01b0392909216919091179055005b346104f85760003660031901126104f8576003546040516001600160a01b039091168152602090f35b346104f85760403660031901126104f857610fde6111b4565b336001600160a01b03821603610ffa576108ac906004356114de565b60405163334bd91960e11b8152600490fd5b346104f85760403660031901126104f8576108ac60043561102b6111b4565b9080600052600060205261104660016040600020015461143a565b611460565b346104f85760603660031901126104f85761106461119e565b506044356001600160401b0381116104f8576110849036906004016111ca565b50506020600454604051908152f35b346104f85760203660031901126104f8576004358015158091036104f8576110b9611400565b6003805460ff60a01b191660a09290921b60ff60a01b16919091179055005b346104f85760203660031901126104f85760043560005260006020526020600160406000200154604051908152f35b346104f85760003660031901126104f857602060ff60035460a01c166040519015158152f35b346104f85760003660031901126104f85760206040516209f2a48152f35b346104f85760203660031901126104f8576004359063ffffffff60e01b82168092036104f857602091637965db0b60e01b811490811561118d575b5015158152f35b6301ffc9a760e01b14905083611186565b600435906001600160a01b03821682036104f857565b602435906001600160a01b03821682036104f857565b9181601f840112156104f8578235916001600160401b0383116104f857602083818601950101116104f857565b90600182811c92168015611227575b602083101461121157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611206565b61010081019081106001600160401b038211176106cc57604052565b604081019081106001600160401b038211176106cc57604052565b90601f801991011681019081106001600160401b038211176106cc57604052565b9060405191826000825461129c816111f7565b9081845260209460019160018116908160001461130c57506001146112cd575b5050506112cb92500383611268565b565b600090815285812095935091905b8183106112f45750506112cb93508201013880806112bc565b855488840185015294850194879450918301916112db565b925050506112cb94925060ff191682840152151560051b8201013880806112bc565b919082519283825260005b84811061135a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611339565b9060068210156105e65752565b6bffffffffffffffffffffffff19903581811693926014811061139d57505050565b60140360031b82901b16169150565b90601481036113c6576113be9161137b565b60601c151590565b5050600090565b6001600160401b0381116106cc57601f01601f191660200190565b908160209103126104f8575180151581036104f85790565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615610b3e5750565b80600052600060205260406000203360005260205260ff6040600020541615610b3e5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146114d957808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146114d95780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60008061159d9260018060a01b03169360208151910182865af13d156115e6573d9061157e826113cd565b9161158c6040519384611268565b82523d6000602084013e5b836115ee565b80519081151591826115cb575b50506115b35750565b60249060405190635274afe760e01b82526004820152fd5b6115de92506020809183010191016113e8565b1538806115aa565b606090611597565b90611615575080511561160357805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611648575b611626575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561161e56fea2646970667358221220f4dd7d06467dd49daf0e82f1b55177dc19edac7ed7953070319c44a70167615d64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a71461114b5750806313355df71461112d57806322f3e2d414611107578063248a9ca3146110d85780632750fc78146110935780632b368ac21461104b5780632f2ff15d1461100c57806336568abe14610fc55780633a74cf7614610f9c578063434b99c714610f595780634be40fd114610f1e57806360b4141114610e715780636cb4dfc014610e2c5780637ecebe0014610df257806382b12dd714610dd45780638d75141514610c9057806391542ad614610c6757806391d1485414610c1a578063941b968214610bc557806397e67c3b14610b7d578063998cdf8314610b5c578063a1f2fce914610a36578063a217fddf14610a1a578063d046b4e2146108ae578063d547741f1461086d5763f33ffba31461013d57600080fd5b60803660031901126104f85761015161119e565b6044356001600160401b0381116104f8576101709036906004016111ca565b6064356001600160401b0381116104f85761018f9036906004016111ca565b505060026001541461085b57600260015560ff60035460a01c161561082357602435156107f0576040516301b2d37f60e61b8152602060048201526024810182905281836044830137600060448383010152602081604481601f19601f8701168101030181305afa908115610504576000916107d1575b501561079657610216818361137b565b90336000526006602052604060002092835493600019851461078057600185019055604051933360601b60208601526bffffffffffffffffffffffff19808760601b166034870152602435604887015284166068860152607c85015242609c850152609c84528360c08101106001600160401b0360c0860111176106cc5760c0840160405283516020850120936001600160a01b03861661071a575060243534106106e2575b604051916102c983611231565b3383526001600160a01b038616602084015260243560408401526102ec816113cd565b916102fa6040519384611268565b81835236828201116104f8578160009260209283860137830101526060820152826080820152600160a08201524260c0820152600060e082015282600052600560205260406000209060018060a01b038151166bffffffffffffffffffffffff60a01b9081845416178355600183019060018060a01b03602084015116908254161790556040810151600283015560608101518051906001600160401b0382116106cc5781906103ad60038601546111f7565b601f8111610679575b50602090601f8311600114610607576000926105fc575b50508160011b916000199060031b1c19161760038301555b6080810151600483015560a0810151600583019160068210156105e65760079260e09260ff8019835416911617905560c08101516006850155015191015560018060a01b03600354168015158061058b575b15610510576040516313a0e7f560e31b81526001600160a01b03851660048201526024803590820152606083901c6044820152906020908290606490829034905af18015610504576104d4575b5060209260405191602435835260601c8483015260018060a01b031690827fed6398f58d0993b280e50a39bfa20a80a24beefe0750e5c38dd470ff8ba2964d60403393a460018055604051908152f35b602090813d83116104fd575b6104ea8183611268565b810103126104f85738610484565b600080fd5b503d6104e0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152604760248201527f416c6c747261416461707465723a2073657420416c6c747261437573746f6d4260448201527f72696467652076696120736574416c6c7472615472616e73706f727420666f726064820152660203635313934360cc1b608482015260a490fd5b50604051631a740af960e31b8152602081600481855afa908115610504576000916105b7575b50610437565b6105d9915060203d6020116105df575b6105d18183611268565b8101906113e8565b386105b1565b503d6105c7565b634e487b7160e01b600052602160045260246000fd5b0151905038806103cd565b9250600385016000526020600020906000935b601f198416851061065e576001945083601f19811610610645575b505050811b0160038301556103e5565b015160001960f88460031b161c19169055388080610635565b8181015183556020948501946001909301929091019061061a565b909150600385016000526020600020601f840160051c8101602085106106c5575b90849392915b601f830160051c820181106106b65750506103b6565b600081558594506001016106a0565b508061069a565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b6323b872dd60e01b60e08201523360e482015230610104820152602435610124820152606460c082019081526001600160401b0361016083019081119111176106cc57610160810160405261077b9060c0016001600160a01b038716611553565b6102bc565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103232b9ba34b730ba34b7b760691b6044820152606490fd5b6107ea915060203d6020116105df576105d18183611268565b38610206565b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f4164617074657220696e61637469766560801b6044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b346104f85760403660031901126104f8576108ac60043561088c6111b4565b908060005260006020526108a760016040600020015461143a565b6114de565b005b346104f8576020806003193601126104f857600435600052600581526040600020600581019060ff82541660068110156105e6578015908115610a0f575b50156109da5780546001600160a01b03908116338190036109a057600183015482169081610953575050600080836002829594839554169101549082821561094a575bf115610504575b805460ff1916600517905560405160018152f35b506108fc61092f565b915091600201546040519163a9059cbb60e01b86840152602483015260448201526044815260808101918183106001600160401b038411176106cc5761099b92604052611553565b610936565b60405162461bcd60e51b81526004810186905260126024820152712737ba103932b8bab2b9ba1039b2b73232b960711b6044820152606490fd5b60405162461bcd60e51b815260048101849052600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606490fd5b6001915014846108ec565b346104f85760003660031901126104f857602060405160008152f35b346104f85760403660031901126104f8573360009081527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d0090396020526040902054600435907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff1615610b3e5750806000526005602052604060002060058101805460ff811660068110156105e657600103610b085760029060ff1916179055600742910155602435907fb18b17d440520a89b750ec072169711af21ceaed855f048d56d8ee61d07f4261600080a3005b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642073746174757360901b6044820152606490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346104f85760203660031901126104f857610b75611400565b600480359055005b346104f85760003660031901126104f857610bc1604051610b9d8161124d565b600381526245564d60e81b602082015260405191829160208352602083019061132e565b0390f35b346104f85760003660031901126104f857610bc1604051610be58161124d565b600b81526a1053130b53585a5b9b995d60aa1b60208201526040519182916209f2a4835260406020840152604083019061132e565b346104f85760403660031901126104f857610c336111b4565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346104f85760003660031901126104f8576002546040516001600160a01b039091168152602090f35b346104f8576020806003193601126104f857600060e0604051610cb281611231565b82815282848201528260408201526060808201528260808201528260a08201528260c082015201526004356000526005815260406000209060405190610cf782611231565b82546001600160a01b039081168352600184015481168284019081526002850154604085019081529194909290610d3060038201611289565b93606086019485526004820154946080870195865260ff6005840154169460a088019560068110156105e657610dc5938a918852600760068701549660c08c0197885201549660e08b019788526040519b8c9b828d525116908b0152511660408901525160608801525193610db3610100958660808a015261012089019061132e565b955160a08801525160c087019061136e565b5160e085015251908301520390f35b346104f85760003660031901126104f8576020600454604051908152f35b346104f85760203660031901126104f8576001600160a01b03610e1361119e565b1660005260066020526020604060002054604051908152f35b346104f85760203660031901126104f8576004356001600160401b0381116104f857610e67610e6160209236906004016111ca565b906113ac565b6040519015158152f35b346104f85760203660031901126104f8576004356000908152600560205260409020805460018201546002830154926001600160a01b0391821692909116610ebb60038301611289565b91610f10600482015493610f0060ff600585015416916007600686015495015495604051998a99610100928b5260208b015260408a01528060608a015288019061132e565b94608087015260a086019061136e565b60c084015260e08301520390f35b346104f85760003660031901126104f85760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b346104f85760203660031901126104f857610f7261119e565b610f7a611400565b600380546001600160a01b0319166001600160a01b0392909216919091179055005b346104f85760003660031901126104f8576003546040516001600160a01b039091168152602090f35b346104f85760403660031901126104f857610fde6111b4565b336001600160a01b03821603610ffa576108ac906004356114de565b60405163334bd91960e11b8152600490fd5b346104f85760403660031901126104f8576108ac60043561102b6111b4565b9080600052600060205261104660016040600020015461143a565b611460565b346104f85760603660031901126104f85761106461119e565b506044356001600160401b0381116104f8576110849036906004016111ca565b50506020600454604051908152f35b346104f85760203660031901126104f8576004358015158091036104f8576110b9611400565b6003805460ff60a01b191660a09290921b60ff60a01b16919091179055005b346104f85760203660031901126104f85760043560005260006020526020600160406000200154604051908152f35b346104f85760003660031901126104f857602060ff60035460a01c166040519015158152f35b346104f85760003660031901126104f85760206040516209f2a48152f35b346104f85760203660031901126104f8576004359063ffffffff60e01b82168092036104f857602091637965db0b60e01b811490811561118d575b5015158152f35b6301ffc9a760e01b14905083611186565b600435906001600160a01b03821682036104f857565b602435906001600160a01b03821682036104f857565b9181601f840112156104f8578235916001600160401b0383116104f857602083818601950101116104f857565b90600182811c92168015611227575b602083101461121157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611206565b61010081019081106001600160401b038211176106cc57604052565b604081019081106001600160401b038211176106cc57604052565b90601f801991011681019081106001600160401b038211176106cc57604052565b9060405191826000825461129c816111f7565b9081845260209460019160018116908160001461130c57506001146112cd575b5050506112cb92500383611268565b565b600090815285812095935091905b8183106112f45750506112cb93508201013880806112bc565b855488840185015294850194879450918301916112db565b925050506112cb94925060ff191682840152151560051b8201013880806112bc565b919082519283825260005b84811061135a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611339565b9060068210156105e65752565b6bffffffffffffffffffffffff19903581811693926014811061139d57505050565b60140360031b82901b16169150565b90601481036113c6576113be9161137b565b60601c151590565b5050600090565b6001600160401b0381116106cc57601f01601f191660200190565b908160209103126104f8575180151581036104f85790565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615610b3e5750565b80600052600060205260406000203360005260205260ff6040600020541615610b3e5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146114d957808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146114d95780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60008061159d9260018060a01b03169360208151910182865af13d156115e6573d9061157e826113cd565b9161158c6040519384611268565b82523d6000602084013e5b836115ee565b80519081151591826115cb575b50506115b35750565b60249060405190635274afe760e01b82526004820152fd5b6115de92506020809183010191016113e8565b1538806115aa565b606090611597565b90611615575080511561160357805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611648575b611626575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561161e56fea2646970667358221220f4dd7d06467dd49daf0e82f1b55177dc19edac7ed7953070319c44a70167615d64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|