0 txs
1 call
constructor
No constructor.
functions
loop
nonpayablefunction loop(address morpho, tuple morphoMarketParams, tuple loopInfo)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
withdrawBackingToken
nonpayablefunction withdrawBackingToken(address morpho, tuple morphoMarketParams, uint256 amount)
events
LoopShortExecuted
event LoopShortExecuted(address indexed sender, address indexed exposureToken, address indexed backingToken, uint256 exposureAmountIncrease, uint256 backingAmountIncrease, uint256 exposureTokensSold, uint256 backingTokensBought, bytes32 borrowMarketId)
WithdrawBackingTokenFromShort
event WithdrawBackingTokenFromShort(address indexed sender, address indexed exposureToken, address indexed backingToken, uint256 amount, bytes32 borrowMarketId)
errors
InvalidCaller
error InvalidCaller()
InvalidMarketParams
error InvalidMarketParams()
ReentrantCall
error ReentrantCall()
SwapTooExpensive
error SwapTooExpensive(address token, uint256 minAmountOut, uint256 actualAmountOut)
UnrecognizedChain
error UnrecognizedChain(uint256)
creation bytecode
0x608060405234601c57600e6020565b6128b661002b82396128b690f35b6026565b60405190565b5f80fdfe60806040526004361015610013575b610488565b61001d5f3561004c565b806318a2bbb914610047578063c1472983146100425763fa461e330361000e57610451565b61035a565b6101ff565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b61008690610064565b90565b6100928161007d565b0361009957565b5f80fd5b905035906100aa82610089565b565b5f80fd5b601f801991011690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b906100f1906100b0565b810190811067ffffffffffffffff82111761010b57604052565b6100ba565b9061012361011c610052565b92836100e7565b565b90565b61013181610125565b0361013857565b5f80fd5b9050359061014982610128565b565b919060a0838203126101bb576101b49061016560a0610110565b93610172825f830161009d565b5f860152610183826020830161009d565b6020860152610195826040830161009d565b60408601526101a7826060830161009d565b606086015260800161013c565b6080830152565b6100ac565b909160e0828403126101f5576101f26101db845f850161009d565b936101e9816020860161014b565b9360c00161013c565b90565b61005c565b5f0190565b3461022e576102186102123660046101c0565b916108fb565b610220610052565b8061022a816101fa565b0390f35b610058565b62ffffff1690565b61024481610233565b0361024b57565b5f80fd5b9050359061025c8261023b565b565b151590565b61026c8161025e565b0361027357565b5f80fd5b9050359061028482610263565b565b919060e08382031261031a57610313906102a060e0610110565b936102ad825f830161009d565b5f8601526102be826020830161009d565b60208601526102d0826040830161024f565b60408601526102e2826060830161013c565b60608601526102f4826080830161013c565b60808601526103068260a0830161013c565b60a086015260c001610277565b60c0830152565b6100ac565b90916101a0828403126103555761035261033b845f850161009d565b93610349816020860161014b565b9360c001610286565b90565b61005c565b346103895761037361036d36600461031f565b9161113e565b61037b610052565b80610385816101fa565b0390f35b610058565b90565b61039a8161038e565b036103a157565b5f80fd5b905035906103b282610391565b565b5f80fd5b5f80fd5b5f80fd5b909182601f830112156103fa5781359167ffffffffffffffff83116103f55760200192600183028401116103f057565b6103bc565b6103b8565b6103b4565b9160608383031261044c57610416825f85016103a5565b9261042483602083016103a5565b92604082013567ffffffffffffffff81116104475761044392016103c0565b9091565b610060565b61005c565b346104835761046d6104643660046103ff565b92919091611488565b610475610052565b8061047f816101fa565b0390f35b610058565b5f80fd5b5f1c90565b90565b6104a86104a36104ad92610125565b610491565b610125565b90565b6104bc6104c19161048c565b610494565b90565b90565b6104db6104d66104e0926104c4565b610491565b610125565b90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61051f61052591939293610125565b92610125565b820391821161053057565b6104e3565b90565b5f1b90565b61055161054c61055692610125565b610538565b610535565b90565b61059d6105986105887f951ae9fc8e231369dc30d9a40f12c78bb800223594870e32a7cda666d14d45d56104b0565b61059260016104c7565b90610510565b61053d565b90565b5f90565b9190916105af610559565b916105b86105a0565b50825c6105de6105d86105d36105ce60016104c7565b61053d565b610535565b91610535565b146105f5575f936105f2926001855d6107cd565b5d565b5f7f37ed32e800000000000000000000000000000000000000000000000000000000815280610626600482016101fa565b0390fd5b61063e61063961064392610064565b610491565b610064565b90565b61064f9061062a565b90565b61065b90610646565b90565b6106679061062a565b90565b6106739061065e565b90565b61067f9061065e565b90565b5f80fd5b60e01b90565b5f91031261069657565b61005c565b6106a49061007d565b9052565b6106b190610125565b9052565b9060808061070d936106cd5f8201515f86019061069b565b6106df6020820151602086019061069b565b6106f16040820151604086019061069b565b6107036060820151606086019061069b565b01519101906106a8565b565b61071890610125565b9052565b6107259061007d565b9052565b61075f6107669461075560e09498979561074b61010086019a5f8701906106b5565b60a085019061070f565b60c083019061071c565b019061071c565b565b610770610052565b3d5f823e3d90fd5b610782905161007d565b90565b61078e90610535565b90565b61079a9061065e565b90565b6107a690610535565b9052565b9160206107cb9294936107c460408201965f83019061070f565b019061079d565b565b6107dc6107e191939293610652565b61066a565b638720316d8383926107f230610676565b6107fb30610676565b823b156108f6575f9461082c869261082194610815610052565b998a9889978896610686565b865260048601610729565b03925af180156108f1576108c5575b5061084530610676565b6108505f8401610778565b9061086f61086a61086360208701610778565b9495611883565b610785565b6108ab6108a561089f7f82ab2c2164f3297c303ce6bdcfcb6fc5005f61b521ec6b7a168f87471445224594610791565b94610791565b94610791565b946108c06108b7610052565b928392836107aa565b0390a4565b6108e4905f3d81116108ea575b6108dc81836100e7565b81019061068c565b5f61083b565b503d6108d2565b610768565b610682565b9061090692916105a4565b565b919091610913610559565b9161091c6105a0565b50825c61094261093c61093761093260016104c7565b61053d565b610535565b91610535565b14610959575f93610956926001855d610ded565b5d565b5f7f37ed32e80000000000000000000000000000000000000000000000000000000081528061098a600482016101fa565b0390fd5b610998905161025e565b90565b6109a49061062a565b90565b6109b09061099b565b90565b6109bc9061065e565b90565b905051906109cc82610128565b565b906020828203126109e7576109e4915f016109bf565b90565b61005c565b91906109ff905f6020850194019061071c565b565b610a0b9051610125565b90565b90610a1890610125565b9052565b610a269051610233565b90565b610a329061062a565b90565b610a3e90610a29565b90565b610a4a9061065e565b90565b90565b610a64610a5f610a6992610a4d565b610491565b610064565b90565b610a8973fffd8963efd1fc6a506488495d951d5263988d26610a50565b90565b610aa0610a9b610aa5926104c4565b610491565b610064565b90565b610ab4610aba91610064565b91610064565b90039073ffffffffffffffffffffffffffffffffffffffff8211610ada57565b6104e3565b90565b610af6610af1610afb92610adf565b610491565b610064565b90565b610b0c6401000276a3610ae2565b90565b610b1b610b2191610064565b91610064565b019073ffffffffffffffffffffffffffffffffffffffff8211610b4057565b6104e3565b610b4f6080610110565b90565b52565b90610b5f9061007d565b9052565b52565b52565b610b7290610233565b9052565b90604080610baa93610b8e5f8201515f86019061069b565b610ba06020820151602086019061069b565b0151910190610b69565b565b90608080610c0493610bc45f8201515f86019061069b565b610bd66020820151602086019061069b565b610be86040820151604086019061069b565b610bfa6060820151606086019061069b565b01519101906106a8565b565b610c0f9061025e565b9052565b9060c080610c8f93610c2b5f8201515f86019061069b565b610c3d6020820151602086019061069b565b610c4f60408201516040860190610b69565b610c61606082015160608601906106a8565b610c73608082015160808601906106a8565b610c8560a082015160a08601906106a8565b0151910190610c06565b565b906101206060610cd893610cab5f8201515f860190610b76565b610cbc60208201518386019061069b565b610cce60408201516080860190610bac565b0151910190610c13565b565b9190610cee905f6102008501940190610c91565b565b90505190610cfd82610391565b565b9190604083820312610d275780610d1b610d24925f8601610cf0565b93602001610cf0565b90565b61005c565b610d359061025e565b9052565b610d429061038e565b9052565b610d4f90610064565b9052565b5190565b60209181520190565b90825f9392825e0152565b610d8a610d93602093610d9893610d8181610d53565b93848093610d57565b95869101610d60565b6100b0565b0190565b9193610dd3610dea9694610dc9610ddd9497610dbf60a08801995f89019061071c565b6020870190610d2c565b6040850190610d39565b6060830190610d46565b6080818403910152610d6b565b90565b9190610df7611921565b610e0360208201610778565b610e20610e1a610e1560208601610778565b61007d565b9161007d565b1415801561110f575b6110da57610e3960c0830161098e565b610ff4575b815f01610e4a90610778565b9282602001610e5890610778565b9383606001610e6690610a01565b948181610e729061007d565b90610e7c9061007d565b10919085604001610e8c90610a1c565b90610e96926119a3565b93610e9f611bc6565b85610ea991611f89565b610eb290610a35565b610ebb90610a41565b9263128acb089030610ecc90610676565b958498610ed8906120cf565b945f1497610f8195610f6d5f96610f4a610f8c96610f41610f5e9760409f610fd057610f39610f18610f08610afe565b610f126001610a8c565b90610b0f565b985b9593610f30610f27610b45565b978f8901610b52565b60208701610b55565b8f8501610b63565b60608301610b66565b610f52610052565b94859160208301610cda565b602082018103825203846100e7565b610f75610052565b9a8b998a988997610686565b875260048701610d9c565b03925af18015610fcb57610f9e575b50565b610fbe9060403d8111610fc4575b610fb681836100e7565b810190610cff565b50610f9b565b503d610fac565b610768565b610f39610fee610fde610a6c565b610fe86001610a8c565b90610aa8565b98610f1a565b611046602061101461100f61100a838701610778565b6109a7565b6109b3565b6370a082319061103b61102630610676565b9261102f610052565b95869485938493610686565b8352600483016109ec565b03915afa9081156110d5575f916110a7575b5061106560a08401610a01565b61107761107183610125565b91610125565b11155f1461109e575061109961108f60a08401610a01565b5b60a08401610a0e565b610e3e565b61109990611090565b6110c8915060203d81116110ce575b6110c081836100e7565b8101906109ce565b5f611058565b503d6110b6565b610768565b5f7f494e78070000000000000000000000000000000000000000000000000000000081528061110b600482016101fa565b0390fd5b5061111b5f8201610778565b61113761113161112c5f8601610778565b61007d565b9161007d565b1415610e29565b906111499291610908565b565b919060608382031261119757611190906111656060610110565b93611172825f830161009d565b5f860152611183826020830161009d565b602086015260400161024f565b6040830152565b6100ac565b9190610200838203126111fc576111f5906111b76080610110565b936111c4825f830161114b565b5f8601526111d5826060830161009d565b60208601526111e7826080830161014b565b604086015261012001610286565b6060830152565b6100ac565b906102008282031261121b57611218915f0161119c565b90565b61005c565b90565b61123761123261123c92611220565b610491565b61038e565b90565b6112489061038e565b7f80000000000000000000000000000000000000000000000000000000000000008114611274575f0390565b6104e3565b61128d6112886112929261038e565b610491565b610125565b90565b6040906112be6112c594969593966112b460608401985f85019061071c565b602083019061070f565b019061070f565b565b6112d66112dc91939293610125565b92610125565b82018092116112e757565b6104e3565b6113006112fb61130592611220565b610491565b610125565b90565b67ffffffffffffffff8111611326576113226020916100b0565b0190565b6100ba565b9061133d61133883611308565b610110565b918252565b369037565b9061136c6113548361132b565b926020806113628693611308565b9201910390611342565b565b90926113a2906113986113af969461138e6101008601975f8701906106b5565b60a085019061070f565b60c083019061071c565b60e0818403910152610d6b565b90565b91906040838203126113da57806113ce6113d7925f86016109bf565b936020016109bf565b90565b61005c565b6113e8906112ec565b9052565b90959492611439946114286114329261141e6101009661141461012088019c5f8901906106b5565b60a087019061070f565b60c08501906113df565b60e083019061071c565b019061071c565b565b909594926114869461147561147f9261146b60809661146160a088019c5f89019061070f565b602087019061070f565b604085019061070f565b606083019061070f565b019061079d565b565b91926114a09193611497612120565b90810190611201565b906060820151906114c46114bf6114b5611bc6565b5f86015190611f89565b610a35565b90336114e06114da6114d585610a41565b61007d565b9161007d565b0361184a57806114f86114f25f611223565b9161038e565b125f146118345761151061150b8261123f565b611279565b5b948161152561151f5f611223565b9161038e565b135f14611825575061153690611279565b5b908461155661155061154b60808701610a01565b610125565b91610125565b106117d35761157161156a60a08501610a01565b86906112c7565b61159f61158c6115876020604089015101610778565b6109a7565b61159860208801610778565b83916121eb565b6115bb6115b66115b160208801610778565b610652565b61066a565b9063238d657990604087015190926115d230610676565b6115e36115de5f6112ec565b611347565b823b156117ce575f946116148692611609946115fd610052565b998a9889978896610686565b86526004860161136e565b03925af180156117c95761179d575b5061164061163b61163660208701610778565b610652565b61066a565b9060406350d8cd4b92818701519061167f5f879661168a8261166130610676565b61166a30610676565b91611673610052565b9b8c998a988997610686565b8752600487016113ec565b03925af1918215611798576116c29261176b575b506116bb6116b56116b05f8701610778565b6109a7565b91610a41565b83916122a5565b6116cb30610676565b906116d75f8401610778565b926117666116e760208301610778565b95611717611712604061170860a061170160608901610a01565b9701610a01565b969a930151611883565b610785565b9061175461174e6117487f5dc81cfdc66264a72ea45b6e99a7e9a30db31ed3984731126bc7b41827168d1e98610791565b98610791565b98610791565b9861175d610052565b9586958661143b565b0390a4565b61178b9060403d8111611791575b61178381836100e7565b8101906113b2565b5061169e565b503d611779565b610768565b6117bc905f3d81116117c2575b6117b481836100e7565b81019061068c565b5f611623565b503d6117aa565b610768565b610682565b84836118216117f060806117e960208501610778565b9301610a01565b925f9384937f3824a8c400000000000000000000000000000000000000000000000000000000855260048501611295565b0390fd5b61182f9150611279565b611537565b6118456118408661123f565b611279565b611511565b5f7f48f5c3ed0000000000000000000000000000000000000000000000000000000081528061187b600482016101fa565b0390fd5b5f90565b60a09061188e61187f565b502090565b6118d76118d26118c27f08e807f0e311ef1048643adc5ad6a1816eb08663ef138ef8a0dbdde4c66f79456104b0565b6118cc60016104c7565b90610510565b61053d565b90565b61191e6119196119097f439f1088d898f3d7db77e1b77d28920aa2581569b138503f27dfbbc6bae651da6104b0565b61191360016104c7565b90610510565b61053d565b90565b611929611893565b6119316118da565b5c905d565b6119406060610110565b90565b5f90565b5f90565b611953611936565b906020808084611961611943565b81520161196c611943565b815201611977611947565b81525050565b61198561194b565b90565b6119926060610110565b90565b9061199f90610233565b9052565b916119ac61197d565b50826119c06119ba8461007d565b9161007d565b116119f6575b6119ea6119f3926119e16119d8611988565b955f8701610b55565b60208501610b55565b60408301611995565b90565b6119ea6119f392939250506119c6565b5f90565b731f98431c8ad98523631ae4a59f267346ea31f98490565b90565b611a39611a34611a3e92611a22565b610491565b610125565b90565b90565b611a58611a53611a5d92611a41565b610491565b610125565b90565b90565b611a77611a72611a7c92611a60565b610491565b610125565b90565b90565b611a96611a91611a9b92611a7f565b610491565b610125565b90565b90565b611ab5611ab0611aba92611a9e565b610491565b610125565b90565b73db1d10011ad0ff90774d0c6bb92e5c5c8b4461f790565b90565b611aec611ae7611af192611ad5565b610491565b610125565b90565b7333128a8fc17869897dce68ed026d694621f6fdfd90565b90565b611b23611b1e611b2892611b0c565b610491565b610125565b90565b73afe208a311b21f13ef87e33a90049fc17a7acdec90565b90565b611b5a611b55611b5f92611b43565b610491565b610125565b90565b737a5028bda40e7b173c278c5342087826455ea25a90565b90565b611b91611b8c611b9692611b7a565b610491565b610125565b90565b731f9840000000000000000000000000000000000390565b9190611bc4905f6020850194019061070f565b565b611bce611a06565b5046611be3611bdd60016104c7565b91610125565b14611d685746611bfc611bf6600a611a25565b91610125565b14611d5d5746611c16611c1061a4b1611a44565b91610125565b14611d525746611c2f611c296089611a63565b91610125565b14611d475746611c48611c426005611a82565b91610125565b14611d3c5746611c61611c5b6038611aa1565b91610125565b14611d315746611c7b611c75612105611ad8565b91610125565b14611d265746611c95611c8f61a4ec611b0f565b91610125565b14611d1b5746611caf611ca96101e0611b46565b91610125565b14611d105746611cc8611cc26082611b7d565b91610125565b14611d0557611d01465f9182917f6b8c198400000000000000000000000000000000000000000000000000000000835260048301611bb1565b0390fd5b611d0d611b99565b90565b611d18611b62565b90565b611d23611b2b565b90565b611d2e611af4565b90565b611d39611abd565b90565b611d44611a0a565b90565b611d4f611a0a565b90565b611d5a611a0a565b90565b611d65611a0a565b90565b611d70611a0a565b90565b60209181520190565b5f7f506f6f6c416464726573733a2077726f6e6720746f6b656e206f726465720000910152565b611db0601e602092611d73565b611db981611d7c565b0190565b611dd29060208101905f818303910152611da3565b90565b15611ddc57565b611de4610052565b7f08c379a000000000000000000000000000000000000000000000000000000000815280611e1460048201611dbd565b0390fd5b611e2190610233565b9052565b604090611e4e611e559496959396611e4460608401985f85019061071c565b602083019061071c565b0190611e18565b565b60200190565b90565b611e74611e6f611e7992611e5d565b610538565b610535565b90565b611ea57fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54611e60565b90565b905090565b5f7fff00000000000000000000000000000000000000000000000000000000000000910152565b611ee060018092611ea8565b611ee981611ead565b0190565b60601b90565b611efc90611eed565b90565b611f0890611ef3565b90565b611f17611f1c9161007d565b611eff565b9052565b90565b611f2f611f3491610535565b611f20565b9052565b60209392611f616014611f6994611f59611f528996611ed4565b8092611f0b565b018092611f23565b018092611f23565b0190565b611f81611f7c611f8692610125565b610491565b610064565b90565b6120786120829261206061207d93611f9f611a06565b50611fd1611fae5f8501610778565b611fcb611fc5611fc060208801610778565b61007d565b9161007d565b10611dd5565b9161201e611fe05f8301610778565b61200f611ffb6040611ff460208701610778565b9501610a1c565b612003610052565b94859360208501611e25565b602082018103825203826100e7565b61203061202a82610d53565b91611e57565b209161205161203d611e7c565b612045610052565b94859360208501611f38565b602082018103825203826100e7565b61207261206c82610d53565b91611e57565b206104b0565b611f6d565b61065e565b90565b5f90565b90565b6120a061209b6120a592612089565b610491565b610125565b90565b156120af57565b5f80fd5b6120c76120c26120cc92610125565b610491565b61038e565b90565b61211d906120db612085565b506121188161211261210c7f800000000000000000000000000000000000000000000000000000000000000061208c565b91610125565b106120a8565b6120b3565b90565b5f612129611893565b5d565b63ffffffff1690565b7fffffffff000000000000000000000000000000000000000000000000000000001690565b61216e6121696121739261212c565b610686565b612135565b90565b91602061219792949361219060408201965f83019061071c565b019061070f565b565b60ff1690565b6121b36121ae6121b892611220565b610491565b612199565b90565b6121c49061219f565b9052565b9160206121e99294936121e260408201965f83019061071c565b01906121bb565b565b909161222c60049161221d61220363095ea7b361215a565b918661220d610052565b9586946020860190815201612176565b602082018103825203826100e7565b9061224161223b82849061234f565b1561025e565b61224b575b505050565b612298600461229d94612293849161228461226963095ea7b361215a565b915f90612274610052565b96879460208601908152016121c8565b602082018103825203836100e7565b612538565b612538565b5f8080612246565b916122e96004926122da6122ee95936122c163a9059cbb61215a565b926122ca610052565b9687946020860190815201612176565b602082018103825203836100e7565b612538565b565b5f90565b606090565b3d5f14612314576123093d61132b565b903d5f602084013e5b565b61231c6122f4565b90612312565b9050519061232f82610263565b565b9060208282031261234a57612347915f01612322565b90565b61005c565b905f809161235b6122f0565b50612365846109b3565b9082602082019151925af16123786122f9565b816123a3575b50908161238a575b5090565b61239d9150612398906109b3565b6125a4565b5f612386565b90506123ae81610d53565b6123c06123ba5f6112ec565b91610125565b149081156123d0575b505f61237e565b6123eb915060206123e082610d53565b818301019101612331565b5f6123c9565b67ffffffffffffffff811161240f5761240b6020916100b0565b0190565b6100ba565b90612426612421836123f1565b610110565b918252565b5f7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564910152565b61245c6020612414565b906124696020830161242b565b565b612473612452565b90565b60207f6f74207375636365656400000000000000000000000000000000000000000000917f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201520152565b6124d0602a604092611d73565b6124d981612476565b0190565b6124f29060208101905f8183039101526124c3565b90565b156124fc57565b612504610052565b7f08c379a000000000000000000000000000000000000000000000000000000000815280612534600482016124dd565b0390fd5b61258191612548612557926109b3565b9061255161246b565b916125c4565b61256081610d53565b61257261256c5f6112ec565b91610125565b14908115612583575b506124f5565b565b61259e9150602061259382610d53565b818301019101612331565b5f61257b565b6125ac6122f0565b503b6125c06125ba5f6112ec565b91610125565b1190565b906125e392916125d26122f4565b50906125dd5f6112ec565b916126b4565b90565b6125ef9061065e565b90565b60207f722063616c6c0000000000000000000000000000000000000000000000000000917f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201520152565b61264c6026604092611d73565b612655816125f2565b0190565b61266e9060208101905f81830391015261263f565b90565b1561267857565b612680610052565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806126b060048201612659565b0390fd5b915f809161270a95936126c56122f4565b506126ec6126d2306125e6565b316126e56126df85610125565b91610125565b1015612671565b8591602082019151925af1916127006122f9565b90929091926127a9565b90565b5f7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000910152565b612741601d602092611d73565b61274a8161270d565b0190565b6127639060208101905f818303910152612734565b90565b1561276d57565b612775610052565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806127a56004820161274e565b0390fd5b9192906127b46122f4565b505f146127f857506127c582610d53565b6127d76127d15f6112ec565b91610125565b146127e1575b5090565b6127ed6127f2916125a4565b612766565b5f6127dd565b8261284b565b5190565b61282161282a60209361282f93612818816127fe565b93848093611d73565b95869101610d60565b6100b0565b0190565b6128489160208201915f818403910152612802565b90565b9061285582610d53565b6128676128615f6112ec565b91610125565b115f146128775750805190602001fd5b6128b290612883610052565b9182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301612833565b0390fd