Files
2026-03-02 12:14:09 -08:00

523 lines
26 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "LiquidityPoolETH",
"sourceName": "contracts/bridge/trustless/LiquidityPoolETH.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_weth",
"type": "address"
},
{
"internalType": "uint256",
"name": "_lpFeeBps",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_minLiquidityRatioBps",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": "InsufficientLiquidity",
"type": "error"
},
{
"inputs": [],
"name": "InvalidAssetType",
"type": "error"
},
{
"inputs": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"inputs": [],
"name": "UnauthorizedRelease",
"type": "error"
},
{
"inputs": [],
"name": "WithdrawalBlockedByLiquidityRatio",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAmount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
},
{
"indexed": true,
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "feeAmount",
"type": "uint256"
}
],
"name": "FundsReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
},
{
"indexed": true,
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LiquidityProvided",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
},
{
"indexed": true,
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LiquidityWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PendingClaimAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PendingClaimRemoved",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "addPendingClaim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "releaser",
"type": "address"
}
],
"name": "authorizeRelease",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "authorizedRelease",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "depositWETH",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "getAvailableLiquidity",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "getLpShare",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "getPoolStats",
"outputs": [
{
"internalType": "uint256",
"name": "totalLiquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pendingClaims",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "availableLiquidity",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getWeth",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lpFeeBps",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minLiquidityRatioBps",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "",
"type": "uint8"
}
],
"name": "pools",
"outputs": [
{
"internalType": "uint256",
"name": "totalLiquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pendingClaims",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "provideLiquidity",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "releaseToRecipient",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "removePendingClaim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "weth",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum LiquidityPoolETH.AssetType",
"name": "assetType",
"type": "uint8"
}
],
"name": "withdrawLiquidity",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x60e0346101c657601f610f6c38819003918201601f191683019291906001600160401b038411838510176101cb5781606092849260409687528339810103126101c65780516001600160a01b03811691908281036101c65783602083015192015192600160005515610176576127108083116101275783106100cf5760c05260805260a05251610d8a90816101e2823960805181818161057a01526109a0015260a05181818161013401526103a9015260c05181818161046c015281816106380152818161079d0152610a380152f35b835162461bcd60e51b815260206004820152602b60248201527f4c6971756964697479506f6f6c4554483a206d696e20726174696f206d75737460448201526a206265203e3d203130302560a81b6064820152608490fd5b845162461bcd60e51b815260206004820152602260248201527f4c6971756964697479506f6f6c4554483a206665652065786365656473203130604482015261302560f01b6064820152608490fd5b835162461bcd60e51b815260206004820152602360248201527f4c6971756964697479506f6f6c4554483a207a65726f2057455448206164647260448201526265737360e81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260048036101561001f575b5050361561001d57600080fd5b005b600090813560e01c8063107c279f14610a225780631299fe6d146109c35780633d5c5068146109885780633fc8cef31461098357806359d1938f1461090b5780635d8ab473146108845780635fbe111c1461084657806366dd0f2414610730578063afc2588f146106aa578063bebfb34d1461050d578063d4d4f4ab146104db578063d83c78891461032e578063e0b5a8fb146101aa578063e2bf2e1d14610157578063e8964c521461011c5763fb87a635146100dc5750610010565b346101185760203660031901126101185735906002821015610115575061010290610aa1565b6001815491015482519182526020820152f35b80fd5b5080fd5b828434610118578160031936011261011857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b828434610118578060031936011261011857610171610a8b565b60243560028110156101a657928291600261018d602096610aa1565b6001600160a01b03909216835201845220549051908152f35b8380fd5b508290602036600319011261032a5780359060028210156101a6576101cd610bfa565b81610252573415610244575034916101e482610aa1565b6101ef848254610af3565b905560026101fc83610aa1565b01338552602052808420610211848254610af3565b9055519182527f6ab05fab52b89ce75f3127d444316f5ca726805ec29b83f15f1d8957d78e622260203393a36001815580f35b8251631f2a200560e01b8152fd5b826001830361031d57906020608492346102c1575162461bcd60e51b815291820152603560248201527f4c6971756964697479506f6f6c4554483a20757365206465706f73697457455460448201527448282920666f722057455448206465706f7369747360581b6064820152fd5b5162461bcd60e51b815291820152603660248201527f4c6971756964697479506f6f6c4554483a2057455448206465706f73697473206044820152756d75737420757365206465706f73697457455448282960501b6064820152fd5b516311b2a5ab60e11b8152fd5b8280fd5b50823461032a5761033e36610a6c565b919092610349610bfa565b83156104cd57600261035a84610aa1565b013386526020528382862054106104bf576103948461038f61037b86610aa1565b54600161038788610aa1565b015490610ad0565b610ad0565b6127106103ce60016103a587610aa1565b01547f000000000000000000000000000000000000000000000000000000000000000090610b00565b04116104b1576103dd83610aa1565b6103e8858254610ad0565b905560026103f584610aa1565b0133865260205281852061040a858254610ad0565b9055600283101561049e575081610465576104348480808087335af161042e610b13565b50610b74565b519182527f921493b5b6fd100eac94c8627f59905c82c0a6615fb11e9256e42de498944e1a60203393a36001815580f35b61049983337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c1d565b610434565b634e487b7160e01b855260219052602484fd5b9051633b1a3a1760e21b8152fd5b905163bb55fd2760e01b8152fd5b9051631f2a200560e01b8152fd5b5082903461032a57602036600319011261032a57359160028310156101155750610506602092610bce565b9051908152f35b50823461032a57608036600319011261032a576001600160a01b03602435818116939092908484036106a657604435936064359360028510156106a257610552610bfa565b338852600260205260ff8489205416156106925785156106825786156106725761271061059f7f000000000000000000000000000000000000000000000000000000000000000088610b00565b04916105ab8388610ad0565b966105b587610aa1565b9060018254920191896105ca84548093610ad0565b1061066257916106017f6024c3d208145d90d7e96e757957d38d204fc9a0d0012ef5eb9d410d73a8d9a09897969594928b94610ad0565b905587610632575061061e915089808080938c5af161042e610b13565b825195865260208601523593a46001815580f35b61065d927f000000000000000000000000000000000000000000000000000000000000000016610c1d565b61061e565b875163bb55fd2760e01b81528790fd5b835163d92e233d60e01b81528390fd5b8351631f2a200560e01b81528390fd5b83516311c5a7c360e11b81528390fd5b8780fd5b8580fd5b5082903461032a576106bb36610a6c565b929091338552600260205260ff8286205416156107225760016106dd85610aa1565b016106e9848254610ad0565b9055600284101561049e57507fd90efb3441a16ad0660e678069c0ba49caf2cc72bfb63ef97b1f662c161f71f49160209151908152a280f35b90516311c5a7c360e11b8152fd5b5082903461032a57602091826003193601126101a657813591610751610bfa565b82156104cd5781516323b872dd60e01b85820152336024820152306044820152606480820185905281529060a082019067ffffffffffffffff821183831017610833575082526107ca907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c6f565b7f6ab05fab52b89ce75f3127d444316f5ca726805ec29b83f15f1d8957d78e62226001938492838752838252808720610804868254610af3565b90558387528382526002818820013388528252808720610825868254610af3565b9055519384523393a3815580f35b634e487b7160e01b875260419052602486fd5b8284346101185760203660031901126101185760209160ff9082906001600160a01b03610871610a8b565b1681526002855220541690519015158152f35b5082903461032a57602036600319011261032a576001600160a01b036108a8610a8b565b169081156108c85750825260026020528120805460ff1916600117905580f35b606490602084519162461bcd60e51b8352820152601e60248201527f4c6971756964697479506f6f6c4554483a207a65726f206164647265737300006044820152fd5b5082903461032a5761091c36610a6c565b929091338552600260205260ff82862054161561072257600161093e85610aa1565b0161094a848254610af3565b9055600284101561049e57507ffe21d33d740fc0e66bb5806ba7a0773c6e422213052ad3a928f4aeee09cadbab9160209151908152a280f35b610a22565b828434610118578160031936011261011857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5082903461032a57602036600319011261032a5735600281101561032a57916109ed606093610aa1565b916001835493015491828411600014610a1c5750610a0b8284610ad0565b915b81519384526020840152820152f35b91610a0d565b34610a67576000366003190112610a67576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600080fd5b6040906003190112610a6757600435906024356002811015610a675790565b600435906001600160a01b0382168203610a6757565b6002811015610aba576000526001602052604060002090565b634e487b7160e01b600052602160045260246000fd5b91908203918211610add57565b634e487b7160e01b600052601160045260246000fd5b91908201809211610add57565b81810292918115918404141715610add57565b3d15610b6f5767ffffffffffffffff903d828111610b595760405192601f8201601f19908116603f0116840190811184821017610b595760405282523d6000602084013e565b634e487b7160e01b600052604160045260246000fd5b606090565b15610b7b57565b60405162461bcd60e51b815260206004820152602560248201527f4c6971756964697479506f6f6c4554483a20455448207472616e736665722066604482015264185a5b195960da1b6064820152608490fd5b610bd790610aa1565b600181015490549080821115610bf357610bf091610ad0565b90565b5050600090565b600260005414610c0b576002600055565b604051633ee5aeb560e01b8152600490fd5b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff831182841017610b5957610c6d92604052610c6f565b565b60018060a01b031690610c99600080836020829551910182875af1610c92610b13565b9084610cf1565b908151918215159283610cc9575b505050610cb15750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126101185760200151908115918215036101155750388080610ca7565b90610d185750805115610d0657805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580610d4b575b610d29575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15610d2156fea2646970667358221220916b0fd5f7c2777c58e3cfd4c54a1bc28d9979d9ea2552e10b2b44af69f74dc664736f6c63430008160033",
"deployedBytecode": "0x60406080815260048036101561001f575b5050361561001d57600080fd5b005b600090813560e01c8063107c279f14610a225780631299fe6d146109c35780633d5c5068146109885780633fc8cef31461098357806359d1938f1461090b5780635d8ab473146108845780635fbe111c1461084657806366dd0f2414610730578063afc2588f146106aa578063bebfb34d1461050d578063d4d4f4ab146104db578063d83c78891461032e578063e0b5a8fb146101aa578063e2bf2e1d14610157578063e8964c521461011c5763fb87a635146100dc5750610010565b346101185760203660031901126101185735906002821015610115575061010290610aa1565b6001815491015482519182526020820152f35b80fd5b5080fd5b828434610118578160031936011261011857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b828434610118578060031936011261011857610171610a8b565b60243560028110156101a657928291600261018d602096610aa1565b6001600160a01b03909216835201845220549051908152f35b8380fd5b508290602036600319011261032a5780359060028210156101a6576101cd610bfa565b81610252573415610244575034916101e482610aa1565b6101ef848254610af3565b905560026101fc83610aa1565b01338552602052808420610211848254610af3565b9055519182527f6ab05fab52b89ce75f3127d444316f5ca726805ec29b83f15f1d8957d78e622260203393a36001815580f35b8251631f2a200560e01b8152fd5b826001830361031d57906020608492346102c1575162461bcd60e51b815291820152603560248201527f4c6971756964697479506f6f6c4554483a20757365206465706f73697457455460448201527448282920666f722057455448206465706f7369747360581b6064820152fd5b5162461bcd60e51b815291820152603660248201527f4c6971756964697479506f6f6c4554483a2057455448206465706f73697473206044820152756d75737420757365206465706f73697457455448282960501b6064820152fd5b516311b2a5ab60e11b8152fd5b8280fd5b50823461032a5761033e36610a6c565b919092610349610bfa565b83156104cd57600261035a84610aa1565b013386526020528382862054106104bf576103948461038f61037b86610aa1565b54600161038788610aa1565b015490610ad0565b610ad0565b6127106103ce60016103a587610aa1565b01547f000000000000000000000000000000000000000000000000000000000000000090610b00565b04116104b1576103dd83610aa1565b6103e8858254610ad0565b905560026103f584610aa1565b0133865260205281852061040a858254610ad0565b9055600283101561049e575081610465576104348480808087335af161042e610b13565b50610b74565b519182527f921493b5b6fd100eac94c8627f59905c82c0a6615fb11e9256e42de498944e1a60203393a36001815580f35b61049983337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c1d565b610434565b634e487b7160e01b855260219052602484fd5b9051633b1a3a1760e21b8152fd5b905163bb55fd2760e01b8152fd5b9051631f2a200560e01b8152fd5b5082903461032a57602036600319011261032a57359160028310156101155750610506602092610bce565b9051908152f35b50823461032a57608036600319011261032a576001600160a01b03602435818116939092908484036106a657604435936064359360028510156106a257610552610bfa565b338852600260205260ff8489205416156106925785156106825786156106725761271061059f7f000000000000000000000000000000000000000000000000000000000000000088610b00565b04916105ab8388610ad0565b966105b587610aa1565b9060018254920191896105ca84548093610ad0565b1061066257916106017f6024c3d208145d90d7e96e757957d38d204fc9a0d0012ef5eb9d410d73a8d9a09897969594928b94610ad0565b905587610632575061061e915089808080938c5af161042e610b13565b825195865260208601523593a46001815580f35b61065d927f000000000000000000000000000000000000000000000000000000000000000016610c1d565b61061e565b875163bb55fd2760e01b81528790fd5b835163d92e233d60e01b81528390fd5b8351631f2a200560e01b81528390fd5b83516311c5a7c360e11b81528390fd5b8780fd5b8580fd5b5082903461032a576106bb36610a6c565b929091338552600260205260ff8286205416156107225760016106dd85610aa1565b016106e9848254610ad0565b9055600284101561049e57507fd90efb3441a16ad0660e678069c0ba49caf2cc72bfb63ef97b1f662c161f71f49160209151908152a280f35b90516311c5a7c360e11b8152fd5b5082903461032a57602091826003193601126101a657813591610751610bfa565b82156104cd5781516323b872dd60e01b85820152336024820152306044820152606480820185905281529060a082019067ffffffffffffffff821183831017610833575082526107ca907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c6f565b7f6ab05fab52b89ce75f3127d444316f5ca726805ec29b83f15f1d8957d78e62226001938492838752838252808720610804868254610af3565b90558387528382526002818820013388528252808720610825868254610af3565b9055519384523393a3815580f35b634e487b7160e01b875260419052602486fd5b8284346101185760203660031901126101185760209160ff9082906001600160a01b03610871610a8b565b1681526002855220541690519015158152f35b5082903461032a57602036600319011261032a576001600160a01b036108a8610a8b565b169081156108c85750825260026020528120805460ff1916600117905580f35b606490602084519162461bcd60e51b8352820152601e60248201527f4c6971756964697479506f6f6c4554483a207a65726f206164647265737300006044820152fd5b5082903461032a5761091c36610a6c565b929091338552600260205260ff82862054161561072257600161093e85610aa1565b0161094a848254610af3565b9055600284101561049e57507ffe21d33d740fc0e66bb5806ba7a0773c6e422213052ad3a928f4aeee09cadbab9160209151908152a280f35b610a22565b828434610118578160031936011261011857602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5082903461032a57602036600319011261032a5735600281101561032a57916109ed606093610aa1565b916001835493015491828411600014610a1c5750610a0b8284610ad0565b915b81519384526020840152820152f35b91610a0d565b34610a67576000366003190112610a67576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600080fd5b6040906003190112610a6757600435906024356002811015610a675790565b600435906001600160a01b0382168203610a6757565b6002811015610aba576000526001602052604060002090565b634e487b7160e01b600052602160045260246000fd5b91908203918211610add57565b634e487b7160e01b600052601160045260246000fd5b91908201809211610add57565b81810292918115918404141715610add57565b3d15610b6f5767ffffffffffffffff903d828111610b595760405192601f8201601f19908116603f0116840190811184821017610b595760405282523d6000602084013e565b634e487b7160e01b600052604160045260246000fd5b606090565b15610b7b57565b60405162461bcd60e51b815260206004820152602560248201527f4c6971756964697479506f6f6c4554483a20455448207472616e736665722066604482015264185a5b195960da1b6064820152608490fd5b610bd790610aa1565b600181015490549080821115610bf357610bf091610ad0565b90565b5050600090565b600260005414610c0b576002600055565b604051633ee5aeb560e01b8152600490fd5b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff831182841017610b5957610c6d92604052610c6f565b565b60018060a01b031690610c99600080836020829551910182875af1610c92610b13565b9084610cf1565b908151918215159283610cc9575b505050610cb15750565b60249060405190635274afe760e01b82526004820152fd5b8192935090602091810103126101185760200151908115918215036101155750388080610ca7565b90610d185750805115610d0657805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580610d4b575b610d29575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15610d2156fea2646970667358221220916b0fd5f7c2777c58e3cfd4c54a1bc28d9979d9ea2552e10b2b44af69f74dc664736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}