446 lines
29 KiB
JSON
446 lines
29 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "TwoWayTokenBridgeL2",
|
|
"sourceName": "contracts/bridge/TwoWayTokenBridgeL2.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_router",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_feeToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Burned",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "destChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "CcipSend",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "l1Bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "DestinationAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "DestinationRemoved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "l1Bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "DestinationUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Minted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "l1Bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "addDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "admin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "burnAndSend",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "sourceChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "sender",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum IRouterClient.TokenAmountType",
|
|
"name": "amountType",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"internalType": "struct IRouterClient.TokenAmount[]",
|
|
"name": "tokenAmounts",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"internalType": "struct IRouterClient.Any2EVMMessage",
|
|
"name": "message",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "ccipReceive",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ccipRouter",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IRouterClient",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newAdmin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "changeAdmin",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "destinationChains",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "destinations",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "l1Bridge",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "enabled",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "feeToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getDestinationChains",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64[]",
|
|
"name": "",
|
|
"type": "uint64[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "mirroredToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "processed",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "removeDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "l1Bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "updateDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newFee",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "updateFeeToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60c0346200013657601f620014a738819003918201601f19168301916001600160401b038311848410176200013b5780849260609460405283398101031262000136576200004d8162000151565b620000696040620000616020850162000151565b930162000151565b916001600160a01b03918216801515806200012a575b806200011e575b15620000ed5760805260a05260018060a01b031991168160005416176000553390600154161760015560405161134090816200016782396080518181816102d301528181610d920152610fc1015260a05181818161018501528181610cf80152610e390152f35b60405162461bcd60e51b81526020600482015260096024820152683d32b9379030b2323960b91b6044820152606490fd5b50828416151562000086565b5082821615156200007f565b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001365756fe608060408181526004918236101561001657600080fd5b60009260e0908435821c9283630de2298414610fad575082634c133f0614610d50578263647846a514610d275782637623f13f14610ce25782638f28397014610c9057826396c75c5e14610c38578263abc343a714610ab3578263b217be241461092a578263c1f0808a146108fd578263c89245d5146108ab578263ced719f31461070a578263e0620a941461061e578263f2c2af43146105db578263f7d0ae44146100f857505063f851a440146100cd57600080fd5b346100f457816003193601126100f45760015490516001600160a01b039091168152602090f35b5080fd5b838591346105d75760603660031901126105d757610114611021565b9361011d61100b565b9060443591821515806105c5575b15610597576001600160401b03938488169485885260209860028a5287808a2060ff8c83519261015a846110b6565b54988991878316855260018060a01b039a8b918601961c1685521c1615908a821591015261056457857f000000000000000000000000000000000000000000000000000000000000000016803b156104a057895163079cc67960e41b815233868201908152602081018a905290918c9183919082908490829060400103925af180156104ab57918c898c8e8b958b989761053c575b505061025192918161024392518281527f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7853392a2516001600160a01b039098169288019283526020830152869160400190565b03601f1981018652856110d1565b5116928951938c8501528b8452898401848110828211176104fd576060850181811083821117610527578b528b8152878c5416938b519560a0870187811085821117610512578d5286528d8601528a8501528260608501528951908c820190828210908211176104fd578a528a815260808401528851632bb74f2960e11b81527f0000000000000000000000000000000000000000000000000000000000000000871692908c818061030688878b8401611209565b0381875afa9081156104f3578b959493928d928f9284916104b5575b50806103e3575b5050855163306ab04160e21b8152968795869485935061034a928401611209565b03925af19687156103d857809761039a575b5050845193845216858301528183015282907fb1228efac11bdc49c10342577751fdf1418dff5e719621b7825cfe54dfe58c5290606090a251908152f35b909194939296508582813d83116103d1575b6103b681836110d1565b810103126103ce57505194919290919082606061035c565b80fd5b503d6103ac565b8651903d90823e3d90fd5b965163095ea7b360e01b81526001600160a01b038616818a0190815260208101989098529597949693959391928492839190829060400103925af19081156104ab578b91610471575b50156104405792909188928a8c8e80610329565b885162461bcd60e51b81529081018b9052600b60248201526a66656520617070726f766560a81b6044820152606490fd5b90508b81813d83116104a4575b61048881836110d1565b810103126104a0575180151581036104a0578c61042c565b8a80fd5b503d61047e565b8a513d8d823e3d90fd5b935050929394955081813d83116104ec575b6104d181836110d1565b810103126104e8578c8b959493928d925138610322565b8b80fd5b503d6104c7565b8b513d8e823e3d90fd5b604186634e487b7160e01b6000525260246000fd5b604189634e487b7160e01b6000525260246000fd5b604187634e487b7160e01b6000525260246000fd5b93509450505061054e9193945061108d565b61056057908585928c898c8e386101ef565b8980fd5b885162461bcd60e51b81528085018c9052600d60248201526c19195cdd08191a5cd8589b1959609a1b6044820152606490fd5b845162461bcd60e51b81526020818601526008602482015267626164206172677360c01b6044820152606490fd5b506001600160a01b038116151561012b565b8280fd5b915050346105d75760203660031901126105d75735916003548310156103ce57506001600160401b0361060f602093611037565b90549060031b1c169051908152f35b509050346105d757816003193601126105d7577f2dae8bd8211b67fa11381d1e0de2945698c5910d9ba2cabc120b161ea802e6809161070461065e611021565b9161066761100b565b936106ae60018060a01b03610681816001541633146110f2565b6106a560ff6001600160401b03881694858c526002602052868c2054901c1661115d565b86161515611193565b865260026020528086208054600160401b600160e01b031916604086901b600160401b600160e01b03161790555b516001600160401b0390921682526001600160a01b0390921660208201529081906040820190565b0390a180f35b848285346105d757806003193601126105d757610725611021565b9061072e61100b565b60015490936001600160a01b039161074990831633146110f2565b818516610757811515611193565b6001600160401b039283861691828952600260205260ff868a2054851c1661087f57906107e59186519561078a876110b6565b84875260208088019283526001898901908152958c5260029052878b20965187549251600160401b600160e01b03941660401b939093166001600160e01b03199092169216600160401b600160e01b03191691909117178455565b51825460ff60e01b191690151590911b60ff60e01b161790556003546801000000000000000081101561086c5782916106dc7f4db4426797acc64f4ffbac3f974c24bcf6fa22cc979a57405f1026a98b755db3959461084d8460016107049601600355611037565b9091906001600160401b038084549260031b9316831b921b1916179055565b634e487b7160e01b855260418652602485fd5b855162461bcd60e51b81526020818c0152600660248201526565786973747360d01b6044820152606490fd5b84346103ce5760203660031901126103ce576108c5610ff0565b6001546001600160a01b0391906108df90831633146110f2565b166108eb81151561112b565b81546001600160a01b03191617815580f35b915050346105d75760203660031901126105d757816020938260ff93358252855220541690519015158152f35b849250346105d75760203660031901126105d757610946611021565b9060019161095f60018060a01b036001541633146110f2565b61098460ff6001600160401b0380931695868852600260205288882054901c1661115d565b8385526002602052858520805460ff60e01b1916905584835b6109d0575b857f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad6020878a51908152a180f35b6003805480831015610aac5786846109e785611037565b905490851b1c16146109fd57505083018361099d565b9397945091926000199190828101908111610a99579061084d85610a23610a3094611037565b905490871b1c1691611037565b81548015610a86577f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad96975090602095949392910191610a6f83611037565b9091825491841b1b191690555593928192866109a2565b634e487b7160e01b875260318852602487fd5b634e487b7160e01b885260118952602488fd5b50506109a2565b839085346103ce57806003193601126103ce5782519182916003836003549586815260209485809201908198600387527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9587925b8c8383860110610bf057505050610b4d95549184828210610bd7575b8c838310610bbb575b50828210610b9f575b5010610b91575b50905096959492939603826110d1565b83519485948186019282875251809352850193925b828110610b7157505050500390f35b83516001600160401b031685528695509381019392810192600101610b62565b60c01c815201849089610b3d565b600191946001600160401b038560801c16815201930184610b36565b946001600160401b0385600194971c168152019301848c610b2d565b600191946001600160401b038516815201930184610b24565b88546001600160401b03808216885281831c81168d890152608082811c9091169288019290925260c01c60608701526001909801978b97508a96509094019392830192610b08565b508383346100f45760203660031901126100f45760ff606093826001600160401b039485610c64611021565b16815260026020522054908351948216855260018060a01b0382851c1660208601521c16151590820152f35b84346103ce5760203660031901126103ce57610caa610ff0565b600154906001600160a01b0390610cc433838516146110f2565b1690610cd182151561112b565b6001600160a01b0319161760015580f35b505050346100f457816003193601126100f457517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b505050346100f457816003193601126100f457905490516001600160a01b039091168152602090f35b848491346100f4576020600319918183360112610fa9578035906001600160401b0393848311610f0c5760a083360391820112610f0c576001600160a01b03927f000000000000000000000000000000000000000000000000000000000000000084163303610f78578083013580885283865260ff8989205416610f4a578752828552878720805460ff1916600117905560648101359160221901821215610f4657019381850135908111610f0c5760248501908036038213610f465785889181010312610f0c573593828516809503610f0c57604401359184151580610f3d575b15610f10577f00000000000000000000000000000000000000000000000000000000000000001690813b15610f0c5786516340c10f1960e01b81526001600160a01b0386169181019182526020820184905291869183919082908490829060400103925af18015610f0257610ecf575b507f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe92939451908152a280f35b93610efb7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe949561108d565b9392610ea2565b86513d87823e3d90fd5b8580fd5b865162461bcd60e51b81528083018590526007602482015266626164206d736760c81b6044820152606490fd5b50821515610e32565b8680fd5b885162461bcd60e51b815280850187905260086024820152671c995c1b185e595960c21b6044820152606490fd5b875162461bcd60e51b8152808401869052600b60248201526a37b7363c903937baba32b960a91b6044820152606490fd5b8380fd5b8590346100f457816003193601126100f4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160a01b038216820361100657565b600080fd5b602435906001600160a01b038216820361100657565b600435906001600160401b038216820361100657565b9060035482101561107757600360005260188260021c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b019260031b1690565b634e487b7160e01b600052603260045260246000fd5b6001600160401b0381116110a057604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110a057604052565b90601f801991011681019081106001600160401b038211176110a057604052565b156110f957565b60405162461bcd60e51b815260206004820152600a60248201526937b7363c9030b236b4b760b11b6044820152606490fd5b1561113257565b606460405162461bcd60e51b81526020600482015260046024820152637a65726f60e01b6044820152fd5b1561116457565b60405162461bcd60e51b81526020600482015260076024820152666d697373696e6760c81b6044820152606490fd5b1561119a57565b60405162461bcd60e51b81526020600482015260076024820152667a65726f206c3160c81b6044820152606490fd5b919082519283825260005b8481106111f5575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111d4565b909291926001600160401b0360409116825260209160408382015261123a855160a0604084015260e08301906111c9565b9183860151611258603f1994606092868683030160608701526111c9565b604088015195858583030160808601528080885193848152019701936000936000915b8483106112b6575050505050505060c060806112b3959660018060a01b0360608201511660a0850152015192828503019101526111c9565b90565b90919293949598818a5160018060a01b0381511683528681015187840152015160028110156112f65782820152820198840195949392600101919061127b565b634e487b7160e01b88526021600452602488fdfea26469706673582212205f1e34bde09a6471bbe44e6c0efe1c1a068abd77c40a088c9ac137a27c34060e64736f6c63430008160033",
|
|
"deployedBytecode": "0x608060408181526004918236101561001657600080fd5b60009260e0908435821c9283630de2298414610fad575082634c133f0614610d50578263647846a514610d275782637623f13f14610ce25782638f28397014610c9057826396c75c5e14610c38578263abc343a714610ab3578263b217be241461092a578263c1f0808a146108fd578263c89245d5146108ab578263ced719f31461070a578263e0620a941461061e578263f2c2af43146105db578263f7d0ae44146100f857505063f851a440146100cd57600080fd5b346100f457816003193601126100f45760015490516001600160a01b039091168152602090f35b5080fd5b838591346105d75760603660031901126105d757610114611021565b9361011d61100b565b9060443591821515806105c5575b15610597576001600160401b03938488169485885260209860028a5287808a2060ff8c83519261015a846110b6565b54988991878316855260018060a01b039a8b918601961c1685521c1615908a821591015261056457857f000000000000000000000000000000000000000000000000000000000000000016803b156104a057895163079cc67960e41b815233868201908152602081018a905290918c9183919082908490829060400103925af180156104ab57918c898c8e8b958b989761053c575b505061025192918161024392518281527f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7853392a2516001600160a01b039098169288019283526020830152869160400190565b03601f1981018652856110d1565b5116928951938c8501528b8452898401848110828211176104fd576060850181811083821117610527578b528b8152878c5416938b519560a0870187811085821117610512578d5286528d8601528a8501528260608501528951908c820190828210908211176104fd578a528a815260808401528851632bb74f2960e11b81527f0000000000000000000000000000000000000000000000000000000000000000871692908c818061030688878b8401611209565b0381875afa9081156104f3578b959493928d928f9284916104b5575b50806103e3575b5050855163306ab04160e21b8152968795869485935061034a928401611209565b03925af19687156103d857809761039a575b5050845193845216858301528183015282907fb1228efac11bdc49c10342577751fdf1418dff5e719621b7825cfe54dfe58c5290606090a251908152f35b909194939296508582813d83116103d1575b6103b681836110d1565b810103126103ce57505194919290919082606061035c565b80fd5b503d6103ac565b8651903d90823e3d90fd5b965163095ea7b360e01b81526001600160a01b038616818a0190815260208101989098529597949693959391928492839190829060400103925af19081156104ab578b91610471575b50156104405792909188928a8c8e80610329565b885162461bcd60e51b81529081018b9052600b60248201526a66656520617070726f766560a81b6044820152606490fd5b90508b81813d83116104a4575b61048881836110d1565b810103126104a0575180151581036104a0578c61042c565b8a80fd5b503d61047e565b8a513d8d823e3d90fd5b935050929394955081813d83116104ec575b6104d181836110d1565b810103126104e8578c8b959493928d925138610322565b8b80fd5b503d6104c7565b8b513d8e823e3d90fd5b604186634e487b7160e01b6000525260246000fd5b604189634e487b7160e01b6000525260246000fd5b604187634e487b7160e01b6000525260246000fd5b93509450505061054e9193945061108d565b61056057908585928c898c8e386101ef565b8980fd5b885162461bcd60e51b81528085018c9052600d60248201526c19195cdd08191a5cd8589b1959609a1b6044820152606490fd5b845162461bcd60e51b81526020818601526008602482015267626164206172677360c01b6044820152606490fd5b506001600160a01b038116151561012b565b8280fd5b915050346105d75760203660031901126105d75735916003548310156103ce57506001600160401b0361060f602093611037565b90549060031b1c169051908152f35b509050346105d757816003193601126105d7577f2dae8bd8211b67fa11381d1e0de2945698c5910d9ba2cabc120b161ea802e6809161070461065e611021565b9161066761100b565b936106ae60018060a01b03610681816001541633146110f2565b6106a560ff6001600160401b03881694858c526002602052868c2054901c1661115d565b86161515611193565b865260026020528086208054600160401b600160e01b031916604086901b600160401b600160e01b03161790555b516001600160401b0390921682526001600160a01b0390921660208201529081906040820190565b0390a180f35b848285346105d757806003193601126105d757610725611021565b9061072e61100b565b60015490936001600160a01b039161074990831633146110f2565b818516610757811515611193565b6001600160401b039283861691828952600260205260ff868a2054851c1661087f57906107e59186519561078a876110b6565b84875260208088019283526001898901908152958c5260029052878b20965187549251600160401b600160e01b03941660401b939093166001600160e01b03199092169216600160401b600160e01b03191691909117178455565b51825460ff60e01b191690151590911b60ff60e01b161790556003546801000000000000000081101561086c5782916106dc7f4db4426797acc64f4ffbac3f974c24bcf6fa22cc979a57405f1026a98b755db3959461084d8460016107049601600355611037565b9091906001600160401b038084549260031b9316831b921b1916179055565b634e487b7160e01b855260418652602485fd5b855162461bcd60e51b81526020818c0152600660248201526565786973747360d01b6044820152606490fd5b84346103ce5760203660031901126103ce576108c5610ff0565b6001546001600160a01b0391906108df90831633146110f2565b166108eb81151561112b565b81546001600160a01b03191617815580f35b915050346105d75760203660031901126105d757816020938260ff93358252855220541690519015158152f35b849250346105d75760203660031901126105d757610946611021565b9060019161095f60018060a01b036001541633146110f2565b61098460ff6001600160401b0380931695868852600260205288882054901c1661115d565b8385526002602052858520805460ff60e01b1916905584835b6109d0575b857f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad6020878a51908152a180f35b6003805480831015610aac5786846109e785611037565b905490851b1c16146109fd57505083018361099d565b9397945091926000199190828101908111610a99579061084d85610a23610a3094611037565b905490871b1c1691611037565b81548015610a86577f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad96975090602095949392910191610a6f83611037565b9091825491841b1b191690555593928192866109a2565b634e487b7160e01b875260318852602487fd5b634e487b7160e01b885260118952602488fd5b50506109a2565b839085346103ce57806003193601126103ce5782519182916003836003549586815260209485809201908198600387527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9587925b8c8383860110610bf057505050610b4d95549184828210610bd7575b8c838310610bbb575b50828210610b9f575b5010610b91575b50905096959492939603826110d1565b83519485948186019282875251809352850193925b828110610b7157505050500390f35b83516001600160401b031685528695509381019392810192600101610b62565b60c01c815201849089610b3d565b600191946001600160401b038560801c16815201930184610b36565b946001600160401b0385600194971c168152019301848c610b2d565b600191946001600160401b038516815201930184610b24565b88546001600160401b03808216885281831c81168d890152608082811c9091169288019290925260c01c60608701526001909801978b97508a96509094019392830192610b08565b508383346100f45760203660031901126100f45760ff606093826001600160401b039485610c64611021565b16815260026020522054908351948216855260018060a01b0382851c1660208601521c16151590820152f35b84346103ce5760203660031901126103ce57610caa610ff0565b600154906001600160a01b0390610cc433838516146110f2565b1690610cd182151561112b565b6001600160a01b0319161760015580f35b505050346100f457816003193601126100f457517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b505050346100f457816003193601126100f457905490516001600160a01b039091168152602090f35b848491346100f4576020600319918183360112610fa9578035906001600160401b0393848311610f0c5760a083360391820112610f0c576001600160a01b03927f000000000000000000000000000000000000000000000000000000000000000084163303610f78578083013580885283865260ff8989205416610f4a578752828552878720805460ff1916600117905560648101359160221901821215610f4657019381850135908111610f0c5760248501908036038213610f465785889181010312610f0c573593828516809503610f0c57604401359184151580610f3d575b15610f10577f00000000000000000000000000000000000000000000000000000000000000001690813b15610f0c5786516340c10f1960e01b81526001600160a01b0386169181019182526020820184905291869183919082908490829060400103925af18015610f0257610ecf575b507f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe92939451908152a280f35b93610efb7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe949561108d565b9392610ea2565b86513d87823e3d90fd5b8580fd5b865162461bcd60e51b81528083018590526007602482015266626164206d736760c81b6044820152606490fd5b50821515610e32565b8680fd5b885162461bcd60e51b815280850187905260086024820152671c995c1b185e595960c21b6044820152606490fd5b875162461bcd60e51b8152808401869052600b60248201526a37b7363c903937baba32b960a91b6044820152606490fd5b8380fd5b8590346100f457816003193601126100f4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160a01b038216820361100657565b600080fd5b602435906001600160a01b038216820361100657565b600435906001600160401b038216820361100657565b9060035482101561107757600360005260188260021c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b019260031b1690565b634e487b7160e01b600052603260045260246000fd5b6001600160401b0381116110a057604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110a057604052565b90601f801991011681019081106001600160401b038211176110a057604052565b156110f957565b60405162461bcd60e51b815260206004820152600a60248201526937b7363c9030b236b4b760b11b6044820152606490fd5b1561113257565b606460405162461bcd60e51b81526020600482015260046024820152637a65726f60e01b6044820152fd5b1561116457565b60405162461bcd60e51b81526020600482015260076024820152666d697373696e6760c81b6044820152606490fd5b1561119a57565b60405162461bcd60e51b81526020600482015260076024820152667a65726f206c3160c81b6044820152606490fd5b919082519283825260005b8481106111f5575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111d4565b909291926001600160401b0360409116825260209160408382015261123a855160a0604084015260e08301906111c9565b9183860151611258603f1994606092868683030160608701526111c9565b604088015195858583030160808601528080885193848152019701936000936000915b8483106112b6575050505050505060c060806112b3959660018060a01b0360608201511660a0850152015192828503019101526111c9565b90565b90919293949598818a5160018060a01b0381511683528681015187840152015160028110156112f65782820152820198840195949392600101919061127b565b634e487b7160e01b88526021600452602488fdfea26469706673582212205f1e34bde09a6471bbe44e6c0efe1c1a068abd77c40a088c9ac137a27c34060e64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|