@morpho-dev/router 0.12.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +799 -316
- package/dist/drizzle/migrations/0050_contract-sync-v1.16.sql +305 -0
- package/dist/drizzle/migrations/meta/0050_snapshot.json +2035 -0
- package/dist/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/evm/bytecode/morpho.txt +1 -1
- package/dist/index.browser.d.mts +60 -47
- package/dist/index.browser.d.mts.map +1 -1
- package/dist/index.browser.mjs +127 -77
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.node.d.mts +130 -90
- package/dist/index.node.d.mts.map +1 -1
- package/dist/index.node.mjs +733 -314
- package/dist/index.node.mjs.map +1 -1
- package/dist/{server-D4xxddev.js → server-DNFuP89-.js} +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
|
@@ -344,6 +344,13 @@
|
|
|
344
344
|
"when": 1773933700000,
|
|
345
345
|
"tag": "0049_contract-sync-v1.15",
|
|
346
346
|
"breakpoints": true
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"idx": 50,
|
|
350
|
+
"version": "7",
|
|
351
|
+
"when": 1774022400000,
|
|
352
|
+
"tag": "0050_contract-sync-v1.16",
|
|
353
|
+
"breakpoints": true
|
|
347
354
|
}
|
|
348
355
|
]
|
|
349
356
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0x60808060405234604e57600a80546001600160a01b031916339081179091557f385bc760a35ad4b8b2c11c6a4c6d27daa5e72ce47836b34da36a3f1258ec45ec5f80a2614aaa90816100538239f35b5f80fdfe6101806040526004361015610012575f80fd5b5f5f3560e01c80629a37531461345457806313af4035146133e25780631bd14388146133ad5780632cf0abe5146133895780632e63523f14613316578063373276f4146132465780634decfa241461321157806350b589031461309b5780635395d5471461305557806353a6332b1461302257806365e4ad9e14612fcb57806366a453f714612f815780636b7f2c2b14612d9e578063709f746114612d665780637597972e14612d405780637aab858814612d085780637cf43d8c14612cdb57806381ae352714612ca35780638233bbdf14612c0d57806387cf3ef414612be55780638da5cb5b14612bbd578063945c12e714612a945780639e90eb7314612992578063a464f28a14612931578063a5da13b114611f57578063aab9c9e314611e7d578063ac9650d814611da9578063ad092b0914611d80578063adf51de114611c72578063af91e61914610d1f578063b19805af14610caa578063b6a37a3b14610c5d578063b71bd73c14610bb5578063b7ae859f14610b96578063c312d39514610b1f578063c65803ae14610acd578063cc90010214610a6c578063cdb5661f14610a02578063d2392a53146109b8578063d50cc2f7146108d4578063d513f65814610712578063d6359bf41461064a578063d881a44314610623578063dc6728c61461031b578063e29dfba8146102d8578063f303ffd414610295578063f79066c1146102565763ffd389681461022a575f80fd5b3461025357604036600319011261025357602061024b6024356004356144f0565b604051908152f35b80fd5b503461025357602036600319011261025357600435906001600160401b03821161025357602061024b61028c36600486016135fe565b30904690614701565b5034610253576020366003190112610253576020906001600160801b03906040906001600160a01b036102c66134cb565b16815260028452205416604051908152f35b5034610253576040366003190112610253576020906040906001600160a01b036103006134cb565b16815260058352818120602435825283522054604051908152f35b5034610253576080366003190112610253576004356001600160401b03811161061f5761034c9036906004016135fe565b6044356024356001600160a01b0361036261350d565b169033821480156105fd575b61037790613e8f565b610380846138f9565b6020909401516001600160a01b039061039a90839061388d565b515116938086528560205260408620835f526020528460405f209160028301926001600160801b036103cc8686613ed7565b90549060031b1c166104126103e96103e48a84613faf565b614774565b6103f38888613ed7565b9091906001600160801b038084549260031b9316831b921b1916179055565b15806105f4575b6104da575b5060408051338152602081018890526001600160801b039661046b9695949093909290917f968f3d07613cff19e0b1a7b034a330cfc3c90e73c1112e14495b79f436a4a0749190a4613ed7565b90549060031b1c1682845260046020526040842054106104955761049291309033906148f4565b80f35b60405162461bcd60e51b815260206004820152601f60248201527f65786365656473206d617820636f6c6c61746572616c207065722075736572006044820152606490fd5b600a91949392506f010101010101010101010101010101016f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600160ff93016f55555555555555555555555555555555815460801c6001600160801b0360018a1b1661054e8183178095906001600160801b0382549181199060801b169116179055565b1760011c1690036f33333333333333333333333333333333808260021c169116016001600160801b036f0fffffffffffffffffffffffffffffff8260041c16911601160260781c16116105a557909185905f61041e565b60405162461bcd60e51b815260206004820152602160248201527f746f6f206d616e7920636f6c6c61746572616c732070657220626f72726f77656044820152603960f91b6064820152608490fd5b50861515610419565b50818552600760209081526040808720335f908152925290205460ff1661036e565b5080fd5b503461025357604036600319011261025357602061024b6106426134e1565b6004356144c4565b5034610253576060366003190112610253576004356024356001600160a01b036106726134f7565b169033821480156106f0575b61068790613e8f565b8184526005602052604084208385526020526106a960408520548210156141e1565b8184526005602052604084208385526020528060408520556040519081527f67303572cb06b623144bb2e4fcfdb1b36a92349b64c64cb61e4487ac71ec9b8f60203392a480f35b50818452600760209081526040808620335f908152925290205460ff1661067e565b5034610253576020366003190112610253576004358160606040516107368161354d565b8281528160208201528260408201520152808252600160205261076560ff600260408520015460801c16613d0c565b6001600160a01b0316803b9161077a83613724565b92610788604051948561357c565b808452816020850180943c825183019260208401926020828603126108cc5751906001600160401b0382116108cc57019260808482031261061f57604051926107d08461354d565b6107dc602086016144b0565b845260408501516001600160401b0381116108d0576020908601019281601f850112156102535783519261080f8461359d565b9461081d604051968761357c565b84865260208087019560071b8201019384116108cc57602001935b838510610875576108718760808a8960208401526060810151604084015201516060820152604051918291602083526020830190613785565b0390f35b6080602086840301126108cc5760206080916040516108938161354d565b61089c886144b0565b81528288015183820152604088015160408201526108bc606089016144b0565b6060820152815201940193610838565b8280fd5b8380fd5b5034610253576020366003190112610253576001600160a01b036108f66134cb565b163381148015610996575b61090a90613e8f565b808252600660205260408220545f1943014381116109825760405190602082019283524060408201526040815261094260608261357c565b51902081835260066020528060408420556040519081527f22962f3ff1b1884ed4ea199c35d65c6016179c90fa19df7577c69db0afcb4e1660203392a380f35b634e487b7160e01b84526011600452602484fd5b50808252600760209081526040808420335f908152925290205460ff16610901565b50346102535760403660031901126102535760406109d46134e1565b91600435815280602052209060018060a01b03165f526020526020600160405f20015460801c604051908152f35b50346102535760203660031901126102535760e0604051610a23828261357c565b36903760043581526001602052610a3f60036040832001614455565b60405191825b60078210610a525760e084f35b60208060019261ffff865116815201930191019091610a45565b5034610253576020366003190112610253576040608091600435815260016020522060ff6001600160801b0382541691600260018201549101549060405193845260208401526001600160801b0381166040840152831c1615156060820152f35b503461025357606036600319011261025357600435906001600160401b038211610253576020610b15610b0336600486016135fe565b610b0b6134f7565b906024359061431c565b6040519015158152f35b503461025357604036600319011261025357610b396134cb565b7f4642227fc4a7b6757eb4eae374ba97f26a372b5d90bc2ff3d5a85d02c927cf91602060243592610b7560018060a01b03600a5416331461381b565b6001600160a01b03168085526003825260408086208590555193845292a280f35b503461025357602036600319011261025357602061024b600435614292565b503461025357604036600319011261025357600435670de0b6b3a764000003670de0b6b3a76400008111610c4957610bf8670de0b6b3a7640000916024356138c5565b04670de0b6b3a764000003670de0b6b3a76400008111610c49576a0c097ce7bc90715b34b9f160241b91508015610c355760209104604051908152f35b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b82526011600452602482fd5b5034610253576040366003190112610253576040610c796134e1565b91600435815280602052209060018060a01b03165f5260205260206001600160801b0360405f205416604051908152f35b503461025357602036600319011261025357610cc46134cb565b610cd960018060a01b03600a54163314613854565b600b80546001600160a01b0319166001600160a01b039290921691821790557f9993507f53024702e2de1be66f6c48c8957ac708927b86b3bdf4e335f58694708280a280f35b50346102535761016036600319011261025357610d3a6134e1565b60e052610d456134f7565b6064356001600160401b0381116108cc57610d6490369060040161373f565b90610d6d613523565b9060a4356001600160401b038111611c56576101a06003198236030112611c5657604051610100526101a061010051016101005181106001600160401b03821117611c5e5760405280600401356001600160401b038111611c5a57610dd890600436918401016135fe565b6101005152610de9602482016136ba565b6020610100510152610dfd60448201613539565b6040610100510152606481013560606101005101526084810135608061010051015260a481013560a061010051015260c481013560c061010051015260e481013560e061010051015261010481013561010080510152610e606101248201613539565b6101206101005101526101448101356001600160401b038111611c5a57610eb991610e94610184926004369184010161373f565b610140610100510152610eaa6101648201613539565b610160610100510152016136ba565b61010051610180015260603660c31901126108d05760405190606082018281106001600160401b03821117611c5e5760405260c43560ff81168103611c5a57825260e43560208301526101043560408301526001600160401b036101443511611c565736602361014435011215611c5657610f3a610144356004013561359d565b91610f48604051938461357c565b6101443560040135835260208301366024610144356004013560051b61014435010111611c525760246101443501905b6024610144356004013560051b6101443501018210611c4257505060e0516001600160a01b031633148015611c15575b610fb190613e8f565b60806101005101514210611bdc5760a06101005101514211611ba757610100516040015160e0516001600160a01b03908116911614611b5657856080602092604051848101907f5bcf4b2eaff7fcdeb49f0bda53026b9ebdd93db566fe4c447125cb899e598c9082526101243560408201526040815261103260608261357c565b519020604051858101907f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218825246604082015230606082015260608152611079858261357c565b51902090604051908682019261190160f01b845260228301526042820152604281526110a660628261357c565b5190209060ff8151169060408682015191015191604051938452868401526040830152606082015282805260015afa15611b4b57845161110e906001600160a01b038116906110f682151561417d565b5061010051604001516001600160a01b03161461417d565b60405160208101906020825261121b816111e661113c61010051516101a060408501526101e0840190613785565b60206101005101511515606084015260018060a01b036040610100510151166080840152606061010051015160a0840152608061010051015160c084015260a061010051015160e084015260c061010051015161010084015260e06101005101516101208401526101008051015161014084015260018060a01b0361012061010051015116610160840152610140610100510151601f19601f1985840301016101808501526141bd565b610100805161016001516001600160a01b03166101a084015251610180015115156101c083015203601f19810183528261357c565b5190209285935b835185101561126157611235858561388d565b51908181838111611256575b50508752602052600160408720940193611222565b925090505f80611241565b86935085906101243503611b16576101008051908101516040918201516001600160a01b0316865260066020529085205403611adf576112a461010051516138f9565b61010051604001519093906112c2906001600160a01b031685613d66565b6112ce60e05185613d66565b83855260016020526040852094602061010051015115158160a0525f14611a99576101005160408101516101208201516101409092015160e05160a05294959394936001600160a01b03918216939092909116905b60c061010051015181610140526103de8111611a6057611352611380916101ef036657b9cce20682ad026149f9565b670de0b6b3a763ffff81670de0b6b3a764000001910160011c6a0c097ce7bc90715b34b9f160241b016140cb565b9080611a4c57506509184e72a00065048c27394fff8192010402610140526113b760406101005151015142810390421002886144f0565b61010051602001515f6101205215611a3f576113e16113d98261014051613eca565b915b82613faf565b61010051602001515f60c05215611a2b57611407670de0b6b3a7640000916004356138c5565b0460c0525b61010051602001515f60805215611a1757611432670de0b6b3a7640000916004356138c5565b046080525b6101005160400151600160a01b60019003165f52600560205260405f206101005160e001515f5260205260405f2060043581549061147491613faf565b809155610100516060015181111561148b906141e1565b5f888152602081815260408083206001600160a01b038881168552925280832060a0519092168352909120600180830180549183018054845491959492936001600160801b0390811693918116926004359116818118818310021891908085189085110284186114fa81614774565b6115049086613d46565b6001600160801b03166001600160801b03198754161786556004359061152991613eca565b61153290614774565b86546001600160801b03169061154791614218565b6001600160801b03166001600160801b031987541617865561156882614774565b81546001600160801b03169061157d91613d46565b6001600160801b03166001600160801b0319825416179055600435906115a291613eca565b6115ab90614774565b85546001600160801b0316906115c091614218565b6001600160801b03166001600160801b03198654161785558d546001600160801b0316906115ed91613eca565b906115f791613eca565b83546001600160801b031661160b91613faf565b90546001600160801b031661161f91613faf565b61162890614774565b6001600160801b03166001600160801b03198c5416178b556101005161018001516119b6575b5050604061010051015160018060a01b0316602061010051015115159160e0610100510151906001600160801b038c54169160405194338652602086015260c05160408601526080516060860152600435608086015260018060a01b03871660a086015260c085015260e0840152610100830152887ff78378622fb9267b109ab14ff1424b9685ec70e150d17c3c0a68d8adc47b777161012060018060a01b0360e0511694a46001600160a01b03169283611941575b5061010051515160095460805160c051611756965061173d936001600160a01b0390811693169186916117379190613eca565b926148f4565b61010051515160805192906001600160a01b03166148f4565b6001600160a01b031690816118b6575b505061177a9060a05190610100515161431c565b1561187b576101005151610120805191516001600160a01b0316909152600360205251604090205460c0511161183f575461012080516101005151516001600160a01b0316905260026020525160409020546001600160801b039081169116116117fa57606060405160c051815260805160208201526004356040820152f35b60405162461bcd60e51b815260206004820152601760248201527f65786365656473206d617820746f74616c20756e6974730000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601460248201527365786365656473206d61782074616b6561626c6560601b6044820152606490fd5b60405162461bcd60e51b815260206004820152601360248201527273656c6c657220697320756e6865616c74687960681b6044820152606490fd5b610100515190823b1561192c576118f79260405180809581946384fe304960e01b83526101205196600435906080519060c0519060a0519060048801614238565b039161012051905af1801561193357611911575b80611766565b6101205161191e9161357c565b6101205161192c578261190b565b6101205180fd5b6040513d61012051823e3d90fd5b610100515190843b156119b25761197e945f9283604051809881958294632273176b60e21b845260043590608051908c60c0519160048801614238565b03925af19283156119a7576117569315611704575f61199c9161357c565b5f6101205287611704565b6040513d5f823e3d90fd5b5f80fd5b61010051602001516001600160801b03929015611a0d57505416155b156119de57898061164e565b60405162461bcd60e51b815260206004820152600760248201526618dc9bdcdcd95960ca1b6044820152606490fd5b90505416156119d2565b611a23906004356149cf565b608052611437565b611a37906004356149cf565b60c05261140c565b6113e161014051916113db565b634e487b7160e01b81526012600452602490fd5b60405162461bcd60e51b81526020600482015260116024820152707469636b206f7574206f662072616e676560781b6044820152606490fd5b6101005160408101516101208201516101408301516101609093015160e0516001600160a01b0393841660a0529397509082169594928216939082169290911690611323565b60405162461bcd60e51b815260206004820152600f60248201526e34b73b30b634b21039b2b9b9b4b7b760891b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b210383937b7b360991b6044820152606490fd5b6040513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f627579657220616e642073656c6c65722063616e6e6f74206265207468652073604482015262616d6560e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c1bd999995c88195e1c1a5c9959609a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260116024820152701bd999995c881b9bdd081cdd185c9d1959607a1b6044820152606490fd5b5060e0516001600160a01b03168652600760209081526040808820335f908152925290205460ff16610fa8565b8135815260209182019101610f78565b8680fd5b8480fd5b8580fd5b634e487b7160e01b86526041600452602486fd5b503461025357608036600319011261025357611c8c6134cb565b60243582611c986134f7565b6064356001600160401b0381116108cc57611cb79036906004016136f7565b919060018060a01b03861691826040518781527fc76f1b4fe4396ac07a9fa55a415d4ca430e72651d37d3401f3bed7cb13fc4f1260203392a3611cfb863389614821565b6001600160a01b0316803b15611c5657611d429385809460405196879586948593634963710d60e01b855260048501528b602485015260606044850152606484019161412e565b03925af18015611d7557611d60575b505061049291309033906148f4565b81611d6a9161357c565b6108cc57825f611d51565b6040513d84823e3d90fd5b50346102535780600319360112610253576009546040516001600160a01b039091168152602090f35b503461025357602036600319011261025357600435906001600160401b03821161025357366023830112156102535781600401356001600160401b03811161061f573660248260051b8501011161061f5791368190036042190190825b84811015611e795760248160051b8301013583811215611c565782016024810135906001600160401b038211611c5a576044018136038113611c5a57818692918392604051928392833781018381520390305af4611e6261414e565b9015611e715750600101611e06565b602081519101fd5b8380f35b503461025357606036600319011261025357611e976134cb565b602435907f2cb7a4fb320621d7b2977fde7313cc7cb328cc480110427bc681eb148ee39bfe602060443592611ed760018060a01b03600b54163314613fbc565b611ee46006861115613ffa565b611ef8611ef086614292565b851115614036565b611f0964e8d4a51000850615614073565b60018060a01b03169283865260088252611f4d611f2986604089206136c7565b61ffff64e8d4a510008504169061ffff8084549260031b9316831b921b1916179055565b604051908152a380f35b346119b25760c03660031901126119b2576001600160401b03600435116119b257600435360360806003198201126119b25760443590611f95613523565b9060a4356001600160401b0381116119b257611fb59036906004016136f7565b84936064359392908415861501156128f757611fde611fd9366004356004016135fe565b6138f9565b5f8181526001602090815260408083208383528184206001600160a01b0387168552909252822092999092908290612016868d6144c4565b6101605261016051936001840154948560801c805b61277b57506044600435013542119586159687612772575b1561272d5761016051612639575b5060643515801590612630575b6122a2575b50505050505060026001600160801b03910154169060018060a01b031696879160405190602435825288602083015287604083015261016051606083015260808201527f2f60e707f6f4c3c1a474f4842683ad1b54287bad6266ba695ae67d4e6b2a17dc60a03392a4612101856120f76120fc6120ea6024600435016004356004016140d5565b929033936024359161410a565b61411a565b614821565b81612132575b604085856121268161211d60043560040161411a565b309033906148f4565b82519182526020820152f35b333b156119b2576040519563ff66f22760e01b875260c0600488015261014487019360018060a01b03612169600435600401613539565b1660c48901526004356024013590602219018112156119b25760043501602460048201359101946001600160401b0382116119b2578160071b360386136119b2579080899596949392608060e488015252610164850193905f5b81811061224657505050915f9461221a9285946044600435013561010487015260646004350135610124870152602435602487015289604487015288606487015260848601526003198584030160a486015261412e565b038183335af19283156119a757604093612236575b8080612107565b5f6122409161357c565b5f61222f565b91969550919293608080600192838060a01b036122628b613539565b16815260208a0135602082015260408a01356040820152838060a01b0361228b60608c01613539565b1660608201520197019101918995969493926121c3565b8160406122cc6122c3989e94959697986024600435016004356004016140d5565b6024359161410a565b01359111156125d857925b1561258057506123076a0c097ce7bc90715b34b9f160241b6123016122fc868f6138c5565b613f93565b046138a1565b90825f1981011161256c5761232a836123258f945f19830190613faf565b6140cb565b9a5b61240e575b505050506001600160801b03916002918361236b81612354602435878601613ed7565b90549060031b1c166123658d614774565b90613d46565b61237d816103f3602435888701613ed7565b161580612405575b6123cb575b600182016123998a8254613faf565b90556001846123b56123aa8c614774565b828486015416613d46565b168519828401541617910155918a808080612063565b612400848060016024351b1619600184015460801c161660018301906001600160801b0382549181199060801b169116179055565b61238a565b50891515612385565b61243f6124469161243a8960206124326122c36024600435016004356004016140d5565b0135956144c4565b613eca565b91836138c5565b670de0b6b3a763ffff810180911161256c57670de0b6b3a76400009004670de0b6b3a76400000390670de0b6b3a7640000821161256c57612486906138a1565b5f198201919081831161256c576124a09261232591613faf565b90818a1192831593612515575b505050156124be5789808a81612331565b60405162461bcd60e51b815260206004820152602960248201527f7265636f7665727920636c6f736520666163746f7220636f6e646974696f6e73604482015268081d9a5bdb185d195960ba1b6064820152608490fd5b6125559293506a0c097ce7bc90715b34b9f160241b612301612325926001600160801b0361254860243560028b01613ed7565b90549060031b1c166138c5565b6064600435013591808203911102108a80806124ad565b634e487b7160e01b5f52601160045260245ffd5b999a50670de0b6b3a7640000612598836064356138c5565b04906a0c097ce7bc90715b34b9f160241b8202918083046a0c097ce7bc90715b34b9f160241b149015171561256c576125d2848e936140cb565b9b61232c565b670de0b6b3a763ffff19810181811161256c57612608610384916126026044600435013542613eca565b906138c5565b04670de0b6b3a76400000180670de0b6b3a76400001161256c578181109082180218926122d7565b5082151561205e565b6126536001600160801b0391828061016051169116613d46565b166001600160801b03196001870154161760018601556001600160801b0387541660028801906001600160801b038254166001600160801b0303906001600160801b03821161256c576123256126bf926001600160801b036126b86101605185613eca565b91166138c5565b6001600160801b03036001600160801b03811161256c576126e76001600160801b0391614774565b166001600160801b03198254161790556001600160801b0361271761270e61016051614774565b828a5416613d46565b166001600160801b03198854161787558e612051565b60405162461bcd60e51b815260206004820152601c60248201527f706f736974696f6e206973206e6f74206c6971756964617461626c65000000006044820152606490fd5b50828211612043565b6004926127a96127a46127956024873501873588016140d5565b91903692861e60ff039161410a565b6135b4565b606081015160405163501ad8ff60e11b81529591929160209187919082906001600160a01b03165afa9485156119a7575f956128c4575b50602435831e60ff03146128bb575b612800831e60ff0360028a01613ed7565b90549060031b1c6001600160801b03169061281b86836138c5565b6a0c097ce7bc90715b34b9f160241b9004602084015161283a916138c5565b670de0b6b3a7640000900461284e91613faf565b94612858916138c5565b61286190613f93565b6a0c097ce7bc90715b34b9f160241b9004906040015190612881906138a1565b5f198201919081831161256c5761289b9261232591613faf565b80610160510390610160511102610160526001811e60ff031b188061202b565b955083956127ef565b9094506020813d82116128ef575b816128df6020938361357c565b810103126119b25751935f6127e0565b3d91506128d2565b60405162461bcd60e51b81526020600482015260126024820152711a5b98dbdb9cda5cdd195b9d081a5b9c1d5d60721b6044820152606490fd5b346119b25760603660031901126119b25761294a6134e1565b6004355f525f60205260405f209060018060a01b03165f5260205260206001600160801b0361298260405f2060026044359101613ed7565b90549060031b1c16604051908152f35b346119b25760603660031901126119b257600435602435906044356129c260018060a01b03600b54163314613fbc565b6129cf6006841115613ffa565b6129e36129db84614292565b821115614036565b6129f464e8d4a51000820615614073565b815f52600160205260ff600260405f20015460801c1615612a565760207f5d6479813177277ca6f0151919c3210569f698b78e2f3a9f6b5338b8c4dddc5391835f5260018252612a4d611f2986600360405f20016136c7565b604051908152a3005b60405162461bcd60e51b81526020600482015260166024820152751bd89b1a59d85d1a5bdb881b9bdd0818dc99585d195960521b6044820152606490fd5b346119b25760603660031901126119b2576004356001600160401b0381116119b257612ac7612b999136906004016135fe565b602435906001600160a01b03612adb6134f7565b163381148015612b9b575b612aef90613e8f565b612af8826138f9565b612b0184614774565b815f525f60205260405f20835f526020526001600160801b03612b2e600160405f20019282845416613d46565b166001600160801b0319825416179055805f526001602052600160405f2001612b58858254613faf565b90556040518481527f15abcbcae3c84bf0dd4d1f9b9593b93fd1008ba43286b5d963030916b438dca760203392a451309033906001600160a01b03166148f4565b005b505f81815260076020908152604080832033845290915290205460ff16612ae6565b346119b2575f3660031901126119b257600a546040516001600160a01b039091168152602090f35b346119b2575f3660031901126119b257600b546040516001600160a01b039091168152602090f35b346119b25760403660031901126119b257612c266134cb565b602435906001600160801b0382168092036119b25760207f57f327400e3c54d52ff23ee2d1933a2228f6e03047148e80ffcf1353db17c43a91612c7460018060a01b03600a5416331461381b565b6001600160a01b03165f8181526002835260409081902080546001600160801b031916861790555193845292a2005b346119b25760203660031901126119b2576001600160a01b03612cc46134cb565b165f526003602052602060405f2054604051908152f35b346119b25760203660031901126119b2576004355f5260016020526020600160405f200154604051908152f35b346119b25760203660031901126119b2576001600160a01b03612d296134cb565b165f526006602052602060405f2054604051908152f35b346119b25760403660031901126119b257602061024b612d5e6134e1565b600435613ef3565b346119b25760203660031901126119b2576001600160a01b03612d876134cb565b165f526004602052602060405f2054604051908152f35b346119b25760a03660031901126119b2576004356001600160401b0381116119b257612dce9036906004016135fe565b604435602435612ddc61350d565b90612de5613523565b916001600160a01b03811690612e93903383148015612f5f575b612e0890613e8f565b612e11876138f9565b809760018060a01b03612e2887602084015161388d565b51511695825f525f60205260405f20865f5260205260405f209060028201612e80612e6c8c6001600160801b03612e5f8686613ed7565b90549060031b1c16613eca565b916103f384612e7a85614774565b92613ed7565b1580612f56575b612f1a575b505061431c565b15612ee05781612b99957f626c0b2bb9d8e812f145a6a7bdb09fe8fb92c53781755f343d5fd65c7e27949a606060405133815288602082015260018060a01b0388166040820152a4614821565b60405162461bcd60e51b81526020600482015260126024820152713ab73432b0b63a343c903137b93937bbb2b960711b6044820152606490fd5b6001600160801b0380600180612f4f9501931b1619825460801c16166001600160801b0382549181199060801b169116179055565b8980612e8c565b50891515612e87565b505f83815260076020908152604080832033845290915290205460ff16612dff565b346119b25760403660031901126119b257612f9a6134cb565b6001600160a01b03165f90815260086020526040902060243560078110156119b25761298261ffff916020936136c7565b346119b25760403660031901126119b257612fe46134cb565b612fec6134e1565b9060018060a01b03165f52600760205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346119b25760203660031901126119b2576004355f52600160205260206001600160801b0360405f205416604051908152f35b346119b25760403660031901126119b25761306e6134e1565b6004355f525f60205260405f209060018060a01b03165f52602052602060405f205460801c604051908152f35b346119b25760803660031901126119b2576004356001600160401b0381116119b2576130ce612b999136906004016135fe565b602435906130da6134f7565b906130e361350d565b916001600160a01b03811633811480156131ef575b61310190613e8f565b61310a836138f9565b91825f52600160205261312160405f209184613d66565b61312a86614774565b835f525f60205260405f20835f526020526001600160801b0361315460405f209282845416613d46565b166001600160801b031982541617905560018101613173878254613eca565b90556001600160801b0361319261318988614774565b82845416613d46565b82546001600160801b031916911617905560408051338152602081018790526001600160a01b03861693917ffa82ce862d3f5db279ecf1aeb1448f39eea062e885036b3c146c6559a02c14d691a4516001600160a01b0316614821565b505f81815260076020908152604080832033845290915290205460ff166130f8565b346119b25760203660031901126119b2576004355f526001602052602060ff600260405f20015460801c166040519015158152f35b346119b25760603660031901126119b25761325f6134cb565b6132676134e1565b604435918215158093036119b2576001600160a01b03169033821480156132f4575b61329290613e8f565b815f52600760205260405f2060018060a01b0382165f5260205260405f2060ff1981541660ff851617905560405192835260018060a01b0316917f97fd1b548e470d1f0336319d52f890ded643a20d43bcf68f71683cafb9ae184860203392a4005b505f82815260076020908152604080832033845290915290205460ff16613289565b346119b25760203660031901126119b25761332f6134cb565b61334460018060a01b03600a54163314613854565b600980546001600160a01b0319166001600160a01b039290921691821790557f8d0d37125715161666b8711c79ac750c3d48064efdcdb781d2613102fbfaddbd5f80a2005b346119b25760403660031901126119b257612b996133a56134e1565b600435613d66565b346119b25760203660031901126119b2576004356001600160401b0381116119b25761024b611fd960209236906004016135fe565b346119b25760203660031901126119b2576133fb6134cb565b600a5490613413336001600160a01b03841614613854565b6001600160a01b03166001600160a01b0319919091168117600a557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f80a2005b346119b25760403660031901126119b25761346d6134cb565b7fdedc68213d2e0a4674bc0a327ac6a9aa041d1845d2d593eb8053aadd3561fcca6020602435926134a960018060a01b03600a5416331461381b565b6001600160a01b03165f818152600483526040908190208590555193845292a2005b600435906001600160a01b03821682036119b257565b602435906001600160a01b03821682036119b257565b604435906001600160a01b03821682036119b257565b606435906001600160a01b03821682036119b257565b608435906001600160a01b03821682036119b257565b35906001600160a01b03821682036119b257565b608081019081106001600160401b0382111761356857604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761356857604052565b6001600160401b0381116135685760051b60200190565b91908260809103126119b2576040516135cc8161354d565b60606135f98183956135dd81613539565b8552602081013560208601526040810135604086015201613539565b910152565b9190916080818403126119b257604051906136188261354d565b819361362382613539565b835260208201356001600160401b0381116119b257820181601f820112156119b25780356136508161359d565b9261365e604051948561357c565b81845260208085019260071b840101928184116119b257602001915b8383106136a0575050505060609182916020850152604081013560408501520135910152565b60206080916136af84866135b4565b81520192019161367a565b359081151582036119b257565b91909160078310156136e357601e908360041c019260011b1690565b634e487b7160e01b5f52603260045260245ffd5b9181601f840112156119b2578235916001600160401b0383116119b257602083818601950101116119b257565b6001600160401b03811161356857601f01601f191660200190565b81601f820112156119b25780359061375682613724565b92613764604051948561357c565b828452602083830101116119b257815f926020809301838601378301015290565b90608081019160018060a01b038151168252602081015192608060208401528351809152602060a084019401905f5b8181106137d4575050506060816040829301516040850152015191015290565b825180516001600160a01b039081168852602082810151818a0152604080840151908a015260609283015190911691880191909152608090960195909201916001016137b4565b1561382257565b60405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606490fd5b1561385b57565b60405162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b6044820152606490fd5b80518210156136e35760209160051b010190565b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561256c57565b8181029291811591840414171561256c57565b908082146138f557546dffffffffffffffffffffffffffff169055565b5050565b613904304683614701565b90815f52600160205260ff600260405f20015460801c1615613924575090565b9091602082019081515115613cd657608082515111613c9a575f939284916a0c097ce7bc90715b34b9f160241b916703782dace9d9000091845b865180518a1015613b34576001600160a01b039061397d908b9061388d565b515116906001600160a01b0316811115613af657602061399e8a895161388d565b510151670de0b6b3a76400008111613ac15760406139bd8b8a5161388d565b51015190670de0b6b3a76400000390670de0b6b3a7640000821161256c57818602868104831489171561256c57670de0b6b3a76400009004670de0b6b3a764000003670de0b6b3a7640000811161256c578015610c3557870414908115613a66575b5015613a305760019098019761395e565b60405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21036b0bc2634b360911b6044820152606490fd5b90506040613a758b8a5161388d565b510151906706f05b59d3b20000808202919082040361256c57670de0b6b3a76400009004670de0b6b3a764000003670de0b6b3a7640000811161256c578015610c35578604145f613a1f565b60405162461bcd60e51b815260206004820152600d60248201526c0d8d8e8ec40e8dede40d0d2ced609b1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527518dbdb1b185d195c985b1cc81b9bdd081cdbdc9d195960521b6044820152606490fd5b505096509350505050815f526001602052600260405f2001600160801b60ff60801b1982541617905560018060a01b038151165f526008602052613b8960405f20835f526001602052600360405f20016138d8565b613b916146d8565b604051613bf6602082019160208352613bbf81613bb16040820188613785565b03601f19810183528261357c565b60206040519384928280850197805191829101895e840190838201905f8252519283915e01015f815203601f19810183528261357c565b516001600160a01b03914691905ff51615613c4b577fed3d8f545536ac5508a20e9d2931713347900aec2fe8a57c469a0cd77b7d851b613c458392604051918291602083526020830190613785565b0390a290565b60405162461bcd60e51b815260206004820152602160248201527f4661696c656420746f20637265617465205353746f72653220636f6e747261636044820152601d60fa1b6064820152608490fd5b60405162461bcd60e51b8152602060048201526014602482015273746f6f206d616e7920636f6c6c61746572616c7360601b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d6e6f20636f6c6c61746572616c7360901b6044820152606490fd5b15613d1357565b60405162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818dc99585d195960aa1b6044820152606490fd5b906001600160801b03809116911603906001600160801b03821161256c57565b805f526001602052613d8460ff600260405f20015460801c16613d0c565b805f525f60205260405f2060018060a01b0383165f5260205260405f209182548060801c91835f5260016020526001600160801b03600260405f20015416808403613dd2575b505050505050565b806001600160801b0303936001600160801b03851161256c576001600160801b0303936001600160801b03851161256c5781613e47613e67926123256060976001600160801b0380807fb3fc498e06bed85593c80f637153973a1ae55d2eb3000221a879058a863843549c16941691166138c5565b60809190911b6001600160801b0319166001600160801b03821617909755565b6040805133815260208101979097528601526001600160a01b031693a35f8080808080613dca565b15613e9657565b60405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b9190820391821161256c57565b91909160808310156136e3576010908360011c019260041b1690565b90815f525f60205260405f209060018060a01b03165f5260205260405f2054908160801c905f5260016020526001600160801b03600260405f20015416808214613f85576001600160801b0303906001600160801b03821161256c576001600160801b03036001600160801b03811161256c57613f82926001600160801b0380806123259416941691166138c5565b90565b50506001600160801b031690565b906ec097ce7bc90715b34b9f0fffffffff820180921161256c57565b9190820180921161256c57565b15613fc357565b60405162461bcd60e51b815260206004820152600f60248201526e37b7363c903332b29039b2ba3a32b960891b6044820152606490fd5b1561400157565b60405162461bcd60e51b815260206004820152600d60248201526c0d2dcecc2d8d2c840d2dcc8caf609b1b6044820152606490fd5b1561403d57565b60405162461bcd60e51b815260206004820152600e60248201526d0ecc2d8eaca40e8dede40d0d2ced60931b6044820152606490fd5b1561407a57565b60405162461bcd60e51b8152602060048201526024808201527f6665652073686f756c642062652061206d756c7469706c65206f66204645455f6044820152630535445560e41b6064820152608490fd5b8115610c35570490565b903590601e19813603018212156119b257018035906001600160401b0382116119b257602001918160071b360383136119b257565b91908110156136e35760071b0190565b356001600160a01b03811681036119b25790565b908060209392818452848401375f828201840152601f01601f1916010190565b3d15614178573d9061415f82613724565b9161416d604051938461357c565b82523d5f602084013e565b606090565b1561418457565b60405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b6044820152606490fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b156141e857565b60405162461bcd60e51b815260206004820152600860248201526718dbdb9cdd5b595960c21b6044820152606490fd5b906001600160801b03809116911601906001600160801b03821161256c57565b92614253613f8297959296939660c0865260c0860190613785565b6001600160a01b03909616602085015260408401526060830152608082015280830360a091909101526141bd565b9060078110156136e35760051b0190565b6040519060e08201908282106001600160401b038311176135685766ffffffffffffff9261431792604052650cbba106e0008152650cbba106e000602082015265592167302000604082015266017b4260df10006060820152660470de4df8200060808201526608e1bc9bf0400060a08201526611c37937e0800060c0820152614281565b511690565b929161434590825f525f60205260405f2060018060a01b0382165f5260205260405f20926144c4565b925f926002600184015460801c9301925b8585108061444c575b1561444157801e60ff039461437886602086015161388d565b51606081015160405163501ad8ff60e11b815291929190602090829060049082906001600160a01b03165afa9081156119a7578789915f93614409575b5060019460206a0c097ce7bc90715b34b9f160241b6143f061440197966001600160801b03612548670de0b6b3a7640000986143fa98613ed7565b04910151906138c5565b0490613faf565b951b18614356565b93925050506020823d8211614439575b816144266020938361357c565b810103126119b2579051878760016143b5565b3d9150614419565b509392915050101590565b5080151561435f565b9061ffff60405192548181168452818160101c166020850152818160201c166040850152818160301c166060850152818160401c166080850152818160501c1660a085015260601c1660c08301526144ae60e08361357c565b565b51906001600160a01b03821682036119b257565b5f525f60205260405f209060018060a01b03165f526020526001600160801b03600160405f2001541690565b805f52600160205261450e60ff600260405f20015460801c16613d0c565b5f526001602052614524600360405f2001614455565b6301da9c008210156146b057620151808210156145ec575f906201518063ffffffff62ffffff60ff855b16941691169261ffff6145618285614281565b51169264e8d4a5100084029380850464e8d4a51000149015171561256c576001820180921161256c5761ffff9161459791614281565b511664e8d4a5100081029080820464e8d4a51000149015171561256c57846145da6145e092612602856145d46145e698612602613f829c8c613eca565b94613eca565b90613faf565b92613eca565b906140cb565b62093a808210156146165762093a80906201518063ffffffff62ffffff60ff60015b93959361454e565b62278d008210156146405762093a809062278d0063ffffffff62ffffff60ff60025b95939561460e565b6276a70082101561466a576276a7009062278d0063ffffffff62ffffff60ff60035b939593614638565b62ed4e00821015614694576276a7009062ed4e0063ffffffff62ffffff60ff60045b959395614662565b62ed4e00906301da9c0063ffffffff62ffffff60ff600561468c565b61ffff915060c001511664e8d4a5100081029080820464e8d4a51000149015171561256c5790565b604051906146e760408361357c565b600b82526a600b380380600b5f395ff360a81b6020830152565b6147096146d8565b9061472a604051613bbf81613bb16020820195602087526040830190613785565b51902060405191602083019360ff60f81b85526bffffffffffffffffffffffff199060601b166021840152603583015260558201526055815261476e60758261357c565b51902090565b6001600160801b03811161478e576001600160801b031690565b60405162461bcd60e51b815260206004820152601960248201527f75696e74323536206f766572666c6f77732075696e74313238000000000000006044820152606490fd5b156147da57565b60405162461bcd60e51b81526020600482015260076024820152666e6f20636f646560c81b6044820152606490fd5b908160209103126119b2575180151581036119b25790565b5f929183613bb161486d8295614839863b15156147d3565b60405163a9059cbb60e01b602082019081526001600160a01b03909616602482015260448101919091529182906064820190565b51925af161487961414e565b9015611e715780519081159182156148da575b50501561489557565b60405162461bcd60e51b815260206004820152601760248201527f7472616e736665722072657475726e65642066616c73650000000000000000006044820152606490fd5b6148ed9250602080918301019101614809565b5f8061488c565b905f8094938194614907853b15156147d3565b6040516323b872dd60e01b602082019081526001600160a01b039586166024830152949092166044830152606480830191909152815261494860848261357c565b51925af161495461414e565b9015611e715780519081159182156149b5575b50501561497057565b60405162461bcd60e51b815260206004820152601b60248201527f7472616e7366657246726f6d2072657475726e65642066616c736500000000006044820152606490fd5b6149c89250602080918301019101614809565b5f80614967565b906149d9916138c5565b670de0b6b3a763ffff810180911161256c57670de0b6b3a7640000900490565b5f811215614a2557614a0c905f036149f9565b8015610c35576a0c097ce7bc90715b34b9f160241b0490565b670de0b6b3a764000067099e8db03256ce5d6704cf46d8192b672e8301059167099e8db03256ce5d83029003671bc16d674ec80000818002056729a2241af62c00008282020591010101901b9056fea26469706673582212209987a06b6ef8fc9f94d9e712602089dc3da724e0227199d93758be29e1ee91fd64736f6c634300081f0033
|
|
1
|
+
0x60808060405234604e57600a80546001600160a01b031916339081179091557f385bc760a35ad4b8b2c11c6a4c6d27daa5e72ce47836b34da36a3f1258ec45ec5f80a2614af590816100538239f35b5f80fdfe6101a06040526004361015610012575f80fd5b5f5f3560e01c80629a37531461345e57806313af4035146133ec5780631bd14388146133b75780632cf0abe5146133935780632e63523f14613320578063373276f4146132505780634decfa241461321b57806350b58903146130a55780635395d5471461305f57806353a6332b1461302c57806365e4ad9e14612fd557806366a453f714612f8b5780636b7f2c2b14612da8578063709f746114612d705780637597972e14612d4a5780637aab858814612d125780637cf43d8c14612ce557806381ae352714612cad5780638233bbdf14612c1757806387cf3ef414612bef5780638da5cb5b14612bc7578063945c12e714612a9e5780639e90eb731461299c578063a464f28a1461293b578063a5da13b114611f57578063aab9c9e314611e7d578063ac9650d814611da9578063ad092b0914611d80578063adf51de114611c72578063af91e61914610d1f578063b19805af14610caa578063b6a37a3b14610c5d578063b71bd73c14610bb5578063b7ae859f14610b96578063c312d39514610b1f578063c65803ae14610acd578063cc90010214610a6c578063cdb5661f14610a02578063d2392a53146109b8578063d50cc2f7146108d4578063d513f65814610712578063d6359bf41461064a578063d881a44314610623578063dc6728c61461031b578063e29dfba8146102d8578063f303ffd414610295578063f79066c1146102565763ffd389681461022a575f80fd5b3461025357604036600319011261025357602061024b6024356004356144fe565b604051908152f35b80fd5b503461025357602036600319011261025357600435906001600160401b03821161025357602061024b61028c3660048601613608565b3090469061470f565b5034610253576020366003190112610253576020906001600160801b03906040906001600160a01b036102c66134d5565b16815260028452205416604051908152f35b5034610253576040366003190112610253576020906040906001600160a01b036103006134d5565b16815260058352818120602435825283522054604051908152f35b5034610253576080366003190112610253576004356001600160401b03811161061f5761034c903690600401613608565b6044356024356001600160a01b03610362613517565b169033821480156105fd575b61037790613e99565b61038084613903565b6020909401516001600160a01b039061039a908390613897565b515116938086528560205260408620835f526020528460405f209160028301926001600160801b036103cc8686613ee1565b90549060031b1c166104126103e96103e48a84613fb9565b614782565b6103f38888613ee1565b9091906001600160801b038084549260031b9316831b921b1916179055565b15806105f4575b6104da575b5060408051338152602081018890526001600160801b039661046b9695949093909290917f968f3d07613cff19e0b1a7b034a330cfc3c90e73c1112e14495b79f436a4a0749190a4613ee1565b90549060031b1c168284526004602052604084205410610495576104929130903390614902565b80f35b60405162461bcd60e51b815260206004820152601f60248201527f65786365656473206d617820636f6c6c61746572616c207065722075736572006044820152606490fd5b600a91949392506f010101010101010101010101010101016f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600160ff93016f55555555555555555555555555555555815460801c6001600160801b0360018a1b1661054e8183178095906001600160801b0382549181199060801b169116179055565b1760011c1690036f33333333333333333333333333333333808260021c169116016001600160801b036f0fffffffffffffffffffffffffffffff8260041c16911601160260781c16116105a557909185905f61041e565b60405162461bcd60e51b815260206004820152602160248201527f746f6f206d616e7920636f6c6c61746572616c732070657220626f72726f77656044820152603960f91b6064820152608490fd5b50861515610419565b50818552600760209081526040808720335f908152925290205460ff1661036e565b5080fd5b503461025357604036600319011261025357602061024b6106426134eb565b6004356144d2565b5034610253576060366003190112610253576004356024356001600160a01b03610672613501565b169033821480156106f0575b61068790613e99565b8184526005602052604084208385526020526106a960408520548210156141eb565b8184526005602052604084208385526020528060408520556040519081527f67303572cb06b623144bb2e4fcfdb1b36a92349b64c64cb61e4487ac71ec9b8f60203392a480f35b50818452600760209081526040808620335f908152925290205460ff1661067e565b50346102535760203660031901126102535760043581606060405161073681613557565b8281528160208201528260408201520152808252600160205261076560ff600260408520015460801c16613d16565b6001600160a01b0316803b9161077a8361372e565b926107886040519485613586565b808452816020850180943c825183019260208401926020828603126108cc5751906001600160401b0382116108cc57019260808482031261061f57604051926107d084613557565b6107dc602086016144be565b845260408501516001600160401b0381116108d0576020908601019281601f850112156102535783519261080f846135a7565b9461081d6040519687613586565b84865260208087019560071b8201019384116108cc57602001935b838510610875576108718760808a896020840152606081015160408401520151606082015260405191829160208352602083019061378f565b0390f35b6080602086840301126108cc57602060809160405161089381613557565b61089c886144be565b81528288015183820152604088015160408201526108bc606089016144be565b6060820152815201940193610838565b8280fd5b8380fd5b5034610253576020366003190112610253576001600160a01b036108f66134d5565b163381148015610996575b61090a90613e99565b808252600660205260408220545f19430143811161098257604051906020820192835240604082015260408152610942606082613586565b51902081835260066020528060408420556040519081527f22962f3ff1b1884ed4ea199c35d65c6016179c90fa19df7577c69db0afcb4e1660203392a380f35b634e487b7160e01b84526011600452602484fd5b50808252600760209081526040808420335f908152925290205460ff16610901565b50346102535760403660031901126102535760406109d46134eb565b91600435815280602052209060018060a01b03165f526020526020600160405f20015460801c604051908152f35b50346102535760203660031901126102535760e0604051610a238282613586565b36903760043581526001602052610a3f60036040832001614463565b60405191825b60078210610a525760e084f35b60208060019261ffff865116815201930191019091610a45565b5034610253576020366003190112610253576040608091600435815260016020522060ff6001600160801b0382541691600260018201549101549060405193845260208401526001600160801b0381166040840152831c1615156060820152f35b503461025357606036600319011261025357600435906001600160401b038211610253576020610b15610b033660048601613608565b610b0b613501565b9060243590614326565b6040519015158152f35b503461025357604036600319011261025357610b396134d5565b7f4642227fc4a7b6757eb4eae374ba97f26a372b5d90bc2ff3d5a85d02c927cf91602060243592610b7560018060a01b03600a54163314613825565b6001600160a01b03168085526003825260408086208590555193845292a280f35b503461025357602036600319011261025357602061024b60043561429c565b503461025357604036600319011261025357600435670de0b6b3a764000003670de0b6b3a76400008111610c4957610bf8670de0b6b3a7640000916024356138cf565b04670de0b6b3a764000003670de0b6b3a76400008111610c49576a0c097ce7bc90715b34b9f160241b91508015610c355760209104604051908152f35b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b82526011600452602482fd5b5034610253576040366003190112610253576040610c796134eb565b91600435815280602052209060018060a01b03165f5260205260206001600160801b0360405f205416604051908152f35b503461025357602036600319011261025357610cc46134d5565b610cd960018060a01b03600a5416331461385e565b600b80546001600160a01b0319166001600160a01b039290921691821790557f9993507f53024702e2de1be66f6c48c8957ac708927b86b3bdf4e335f58694708280a280f35b50346102535761016036600319011261025357610d3a6134eb565b60e052610d45613501565b6064356001600160401b0381116108cc57610d64903690600401613749565b90610d6d61352d565b9060a4356001600160401b038111611c56576101a06003198236030112611c5657604051610100526101a061010051016101005181106001600160401b03821117611c5e5760405280600401356001600160401b038111611c5a57610dd89060043691840101613608565b6101005152610de9602482016136c4565b6020610100510152610dfd60448201613543565b6040610100510152606481013560606101005101526084810135608061010051015260a481013560a061010051015260c481013560c061010051015260e481013560e061010051015261010481013561010080510152610e606101248201613543565b6101206101005101526101448101356001600160401b038111611c5a57610eb991610e946101849260043691840101613749565b610140610100510152610eaa6101648201613543565b610160610100510152016136c4565b61010051610180015260603660c31901126108d05760405190606082018281106001600160401b03821117611c5e5760405260c43560ff81168103611c5a57825260e43560208301526101043560408301526001600160401b036101443511611c565736602361014435011215611c5657610f3a61014435600401356135a7565b91610f486040519384613586565b6101443560040135835260208301366024610144356004013560051b61014435010111611c525760246101443501905b6024610144356004013560051b6101443501018210611c4257505060e0516001600160a01b031633148015611c15575b610fb190613e99565b60806101005101514210611bdc5760a06101005101514211611ba757610100516040015160e0516001600160a01b03908116911614611b5657856080602092604051848101907f5bcf4b2eaff7fcdeb49f0bda53026b9ebdd93db566fe4c447125cb899e598c90825261012435604082015260408152611032606082613586565b519020604051858101907f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692188252466040820152306060820152606081526110798582613586565b51902090604051908682019261190160f01b845260228301526042820152604281526110a6606282613586565b5190209060ff8151169060408682015191015191604051938452868401526040830152606082015282805260015afa15611b4b57845161110e906001600160a01b038116906110f6821515614187565b5061010051604001516001600160a01b031614614187565b60405160208101906020825261121b816111e661113c61010051516101a060408501526101e084019061378f565b60206101005101511515606084015260018060a01b036040610100510151166080840152606061010051015160a0840152608061010051015160c084015260a061010051015160e084015260c061010051015161010084015260e06101005101516101208401526101008051015161014084015260018060a01b0361012061010051015116610160840152610140610100510151601f19601f1985840301016101808501526141c7565b610100805161016001516001600160a01b03166101a084015251610180015115156101c083015203601f198101835282613586565b5190209285935b8351851015611261576112358585613897565b51908181838111611256575b50508752602052600160408720940193611222565b925090505f80611241565b86935085906101243503611b16576101008051908101516040918201516001600160a01b0316865260066020529085205403611adf576112a46101005151613903565b61010051604001519093906112c2906001600160a01b031685613d70565b6112ce60e05185613d70565b83855260016020526040852094602061010051015115158160a0525f14611a99576101005160408101516101208201516101409092015160e05160a05294959394936001600160a01b03918216939092909116905b60c061010051015181610140526103de8111611a6057611352611380916101ef036657b9cce20682ad02614a44565b670de0b6b3a763ffff81670de0b6b3a764000001910160011c6a0c097ce7bc90715b34b9f160241b016140d5565b9080611a4c57506509184e72a00065048c27394fff8192010402610140526113b760406101005151015142810390421002886144fe565b61010051602001515f6101205215611a3f576113e16113d98261014051613ed4565b915b82613fb9565b61010051602001515f60c05215611a2b57611407670de0b6b3a7640000916004356138cf565b0460c0525b61010051602001515f60805215611a1757611432670de0b6b3a7640000916004356138cf565b046080525b6101005160400151600160a01b60019003165f52600560205260405f206101005160e001515f5260205260405f2060043581549061147491613fb9565b809155610100516060015181111561148b906141eb565b5f888152602081815260408083206001600160a01b038881168552925280832060a0519092168352909120600180830180549183018054845491959492936001600160801b0390811693918116926004359116818118818310021891908085189085110284186114fa81614782565b6115049086613d50565b6001600160801b03166001600160801b03198754161786556004359061152991613ed4565b61153290614782565b86546001600160801b03169061154791614222565b6001600160801b03166001600160801b031987541617865561156882614782565b81546001600160801b03169061157d91613d50565b6001600160801b03166001600160801b0319825416179055600435906115a291613ed4565b6115ab90614782565b85546001600160801b0316906115c091614222565b6001600160801b03166001600160801b03198654161785558d546001600160801b0316906115ed91613ed4565b906115f791613ed4565b83546001600160801b031661160b91613fb9565b90546001600160801b031661161f91613fb9565b61162890614782565b6001600160801b03166001600160801b03198c5416178b556101005161018001516119b6575b5050604061010051015160018060a01b0316602061010051015115159160e0610100510151906001600160801b038c54169160405194338652602086015260c05160408601526080516060860152600435608086015260018060a01b03871660a086015260c085015260e0840152610100830152887ff78378622fb9267b109ab14ff1424b9685ec70e150d17c3c0a68d8adc47b777161012060018060a01b0360e0511694a46001600160a01b03169283611941575b5061010051515160095460805160c051611756965061173d936001600160a01b0390811693169186916117379190613ed4565b92614902565b61010051515160805192906001600160a01b0316614902565b6001600160a01b031690816118b6575b505061177a9060a051906101005151614326565b1561187b576101005151610120805191516001600160a01b0316909152600360205251604090205460c0511161183f575461012080516101005151516001600160a01b0316905260026020525160409020546001600160801b039081169116116117fa57606060405160c051815260805160208201526004356040820152f35b60405162461bcd60e51b815260206004820152601760248201527f65786365656473206d617820746f74616c20756e6974730000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601460248201527365786365656473206d61782074616b6561626c6560601b6044820152606490fd5b60405162461bcd60e51b815260206004820152601360248201527273656c6c657220697320756e6865616c74687960681b6044820152606490fd5b610100515190823b1561192c576118f79260405180809581946384fe304960e01b83526101205196600435906080519060c0519060a0519060048801614242565b039161012051905af1801561193357611911575b80611766565b6101205161191e91613586565b6101205161192c578261190b565b6101205180fd5b6040513d61012051823e3d90fd5b610100515190843b156119b25761197e945f9283604051809881958294632273176b60e21b845260043590608051908c60c0519160048801614242565b03925af19283156119a7576117569315611704575f61199c91613586565b5f6101205287611704565b6040513d5f823e3d90fd5b5f80fd5b61010051602001516001600160801b03929015611a0d57505416155b156119de57898061164e565b60405162461bcd60e51b815260206004820152600760248201526618dc9bdcdcd95960ca1b6044820152606490fd5b90505416156119d2565b611a2390600435614a1a565b608052611437565b611a3790600435614a1a565b60c05261140c565b6113e161014051916113db565b634e487b7160e01b81526012600452602490fd5b60405162461bcd60e51b81526020600482015260116024820152707469636b206f7574206f662072616e676560781b6044820152606490fd5b6101005160408101516101208201516101408301516101609093015160e0516001600160a01b0393841660a0529397509082169594928216939082169290911690611323565b60405162461bcd60e51b815260206004820152600f60248201526e34b73b30b634b21039b2b9b9b4b7b760891b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b210383937b7b360991b6044820152606490fd5b6040513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f627579657220616e642073656c6c65722063616e6e6f74206265207468652073604482015262616d6560e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c1bd999995c88195e1c1a5c9959609a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260116024820152701bd999995c881b9bdd081cdd185c9d1959607a1b6044820152606490fd5b5060e0516001600160a01b03168652600760209081526040808820335f908152925290205460ff16610fa8565b8135815260209182019101610f78565b8680fd5b8480fd5b8580fd5b634e487b7160e01b86526041600452602486fd5b503461025357608036600319011261025357611c8c6134d5565b60243582611c98613501565b6064356001600160401b0381116108cc57611cb7903690600401613701565b919060018060a01b03861691826040518781527fc76f1b4fe4396ac07a9fa55a415d4ca430e72651d37d3401f3bed7cb13fc4f1260203392a3611cfb86338961482f565b6001600160a01b0316803b15611c5657611d429385809460405196879586948593634963710d60e01b855260048501528b6024850152606060448501526064840191614138565b03925af18015611d7557611d60575b50506104929130903390614902565b81611d6a91613586565b6108cc57825f611d51565b6040513d84823e3d90fd5b50346102535780600319360112610253576009546040516001600160a01b039091168152602090f35b503461025357602036600319011261025357600435906001600160401b03821161025357366023830112156102535781600401356001600160401b03811161061f573660248260051b8501011161061f5791368190036042190190825b84811015611e795760248160051b8301013583811215611c565782016024810135906001600160401b038211611c5a576044018136038113611c5a57818692918392604051928392833781018381520390305af4611e62614158565b9015611e715750600101611e06565b602081519101fd5b8380f35b503461025357606036600319011261025357611e976134d5565b602435907f2cb7a4fb320621d7b2977fde7313cc7cb328cc480110427bc681eb148ee39bfe602060443592611ed760018060a01b03600b54163314613fc6565b611ee46006861115614004565b611ef8611ef08661429c565b851115614040565b611f0964e8d4a5100085061561407d565b60018060a01b03169283865260088252611f4d611f2986604089206136d1565b61ffff64e8d4a510008504169061ffff8084549260031b9316831b921b1916179055565b604051908152a380f35b346119b25760c03660031901126119b2576001600160401b03600435116119b257600435360360806003198201126119b25760443590611f9561352d565b9060a4356001600160401b0381116119b257611fb5903690600401613701565b849360643593929084158615011561290157611fde611fd936600435600401613608565b613903565b5f8181526001602090815260408083208383528184206001600160a01b0387168552909252822092999092908290612016868d6144d2565b6101605261016051936001840154948560801c805b61277b57506044600435013542119586159687612772575b1561272d5761016051612639575b5060643515801590612630575b6122a2575b50505050505060026001600160801b03910154169060018060a01b031696879160405190602435825288602083015287604083015261016051606083015260808201527f2f60e707f6f4c3c1a474f4842683ad1b54287bad6266ba695ae67d4e6b2a17dc60a03392a4612101856120f76120fc6120ea6024600435016004356004016140df565b9290339360243591614114565b614124565b61482f565b81612132575b604085856121268161211d600435600401614124565b30903390614902565b82519182526020820152f35b333b156119b2576040519563ff66f22760e01b875260c0600488015261014487019360018060a01b03612169600435600401613543565b1660c48901526004356024013590602219018112156119b25760043501602460048201359101946001600160401b0382116119b2578160071b360386136119b2579080899596949392608060e488015252610164850193905f5b81811061224657505050915f9461221a9285946044600435013561010487015260646004350135610124870152602435602487015289604487015288606487015260848601526003198584030160a4860152614138565b038183335af19283156119a757604093612236575b8080612107565b5f61224091613586565b5f61222f565b91969550919293608080600192838060a01b036122628b613543565b16815260208a0135602082015260408a01356040820152838060a01b0361228b60608c01613543565b1660608201520197019101918995969493926121c3565b8160406122cc6122c3989e94959697986024600435016004356004016140df565b60243591614114565b01359111156125d857925b1561258057506123076a0c097ce7bc90715b34b9f160241b6123016122fc868f6138cf565b613f9d565b046138ab565b90825f1981011161256c5761232a836123258f945f19830190613fb9565b6140d5565b9a5b61240e575b505050506001600160801b03916002918361236b81612354602435878601613ee1565b90549060031b1c166123658d614782565b90613d50565b61237d816103f3602435888701613ee1565b161580612405575b6123cb575b600182016123998a8254613fb9565b90556001846123b56123aa8c614782565b828486015416613d50565b168519828401541617910155918a808080612063565b612400848060016024351b1619600184015460801c161660018301906001600160801b0382549181199060801b169116179055565b61238a565b50891515612385565b61243f6124469161243a8960206124326122c36024600435016004356004016140df565b0135956144d2565b613ed4565b91836138cf565b670de0b6b3a763ffff810180911161256c57670de0b6b3a76400009004670de0b6b3a76400000390670de0b6b3a7640000821161256c57612486906138ab565b5f198201919081831161256c576124a09261232591613fb9565b90818a1192831593612515575b505050156124be5789808a81612331565b60405162461bcd60e51b815260206004820152602960248201527f7265636f7665727920636c6f736520666163746f7220636f6e646974696f6e73604482015268081d9a5bdb185d195960ba1b6064820152608490fd5b6125559293506a0c097ce7bc90715b34b9f160241b612301612325926001600160801b0361254860243560028b01613ee1565b90549060031b1c166138cf565b6064600435013591808203911102108a80806124ad565b634e487b7160e01b5f52601160045260245ffd5b999a50670de0b6b3a7640000612598836064356138cf565b04906a0c097ce7bc90715b34b9f160241b8202918083046a0c097ce7bc90715b34b9f160241b149015171561256c576125d2848e936140d5565b9b61232c565b670de0b6b3a763ffff19810181811161256c57612608610384916126026044600435013542613ed4565b906138cf565b04670de0b6b3a76400000180670de0b6b3a76400001161256c578181109082180218926122d7565b5082151561205e565b6126536001600160801b0391828061016051169116613d50565b166001600160801b03196001870154161760018601556001600160801b0387541660028801906001600160801b038254166001600160801b0303906001600160801b03821161256c576123256126bf926001600160801b036126b86101605185613ed4565b91166138cf565b6001600160801b03036001600160801b03811161256c576126e76001600160801b0391614782565b166001600160801b03198254161790556001600160801b0361271761270e61016051614782565b828a5416613d50565b166001600160801b03198854161787558e612051565b60405162461bcd60e51b815260206004820152601c60248201527f706f736974696f6e206973206e6f74206c6971756964617461626c65000000006044820152606490fd5b50828211612043565b600492612787826149dd565b610180526127b56127b06127a26024873501873588016140df565b919036926101805191614114565b6135be565b606081015160405163501ad8ff60e11b81529591929160209187919082906001600160a01b03165afa9485156119a7575f956128ce575b5060243561018051146128c5575b6101805161280b9060028a01613ee1565b90549060031b1c6001600160801b03169061282686836138cf565b6a0c097ce7bc90715b34b9f160241b90046020840151612845916138cf565b670de0b6b3a7640000900461285991613fb9565b94612863916138cf565b61286c90613f9d565b6a0c097ce7bc90715b34b9f160241b900490604001519061288c906138ab565b5f198201919081831161256c576128a69261232591613fb9565b80610160510390610160511102610160526001610180511b188061202b565b955083956127fa565b9094506020813d82116128f9575b816128e960209383613586565b810103126119b25751935f6127ec565b3d91506128dc565b60405162461bcd60e51b81526020600482015260126024820152711a5b98dbdb9cda5cdd195b9d081a5b9c1d5d60721b6044820152606490fd5b346119b25760603660031901126119b2576129546134eb565b6004355f525f60205260405f209060018060a01b03165f5260205260206001600160801b0361298c60405f2060026044359101613ee1565b90549060031b1c16604051908152f35b346119b25760603660031901126119b257600435602435906044356129cc60018060a01b03600b54163314613fc6565b6129d96006841115614004565b6129ed6129e58461429c565b821115614040565b6129fe64e8d4a5100082061561407d565b815f52600160205260ff600260405f20015460801c1615612a605760207f5d6479813177277ca6f0151919c3210569f698b78e2f3a9f6b5338b8c4dddc5391835f5260018252612a57611f2986600360405f20016136d1565b604051908152a3005b60405162461bcd60e51b81526020600482015260166024820152751bd89b1a59d85d1a5bdb881b9bdd0818dc99585d195960521b6044820152606490fd5b346119b25760603660031901126119b2576004356001600160401b0381116119b257612ad1612ba3913690600401613608565b602435906001600160a01b03612ae5613501565b163381148015612ba5575b612af990613e99565b612b0282613903565b612b0b84614782565b815f525f60205260405f20835f526020526001600160801b03612b38600160405f20019282845416613d50565b166001600160801b0319825416179055805f526001602052600160405f2001612b62858254613fb9565b90556040518481527f15abcbcae3c84bf0dd4d1f9b9593b93fd1008ba43286b5d963030916b438dca760203392a451309033906001600160a01b0316614902565b005b505f81815260076020908152604080832033845290915290205460ff16612af0565b346119b2575f3660031901126119b257600a546040516001600160a01b039091168152602090f35b346119b2575f3660031901126119b257600b546040516001600160a01b039091168152602090f35b346119b25760403660031901126119b257612c306134d5565b602435906001600160801b0382168092036119b25760207f57f327400e3c54d52ff23ee2d1933a2228f6e03047148e80ffcf1353db17c43a91612c7e60018060a01b03600a54163314613825565b6001600160a01b03165f8181526002835260409081902080546001600160801b031916861790555193845292a2005b346119b25760203660031901126119b2576001600160a01b03612cce6134d5565b165f526003602052602060405f2054604051908152f35b346119b25760203660031901126119b2576004355f5260016020526020600160405f200154604051908152f35b346119b25760203660031901126119b2576001600160a01b03612d336134d5565b165f526006602052602060405f2054604051908152f35b346119b25760403660031901126119b257602061024b612d686134eb565b600435613efd565b346119b25760203660031901126119b2576001600160a01b03612d916134d5565b165f526004602052602060405f2054604051908152f35b346119b25760a03660031901126119b2576004356001600160401b0381116119b257612dd8903690600401613608565b604435602435612de6613517565b90612def61352d565b916001600160a01b03811690612e9d903383148015612f69575b612e1290613e99565b612e1b87613903565b809760018060a01b03612e32876020840151613897565b51511695825f525f60205260405f20865f5260205260405f209060028201612e8a612e768c6001600160801b03612e698686613ee1565b90549060031b1c16613ed4565b916103f384612e8485614782565b92613ee1565b1580612f60575b612f24575b5050614326565b15612eea5781612ba3957f626c0b2bb9d8e812f145a6a7bdb09fe8fb92c53781755f343d5fd65c7e27949a606060405133815288602082015260018060a01b0388166040820152a461482f565b60405162461bcd60e51b81526020600482015260126024820152713ab73432b0b63a343c903137b93937bbb2b960711b6044820152606490fd5b6001600160801b0380600180612f599501931b1619825460801c16166001600160801b0382549181199060801b169116179055565b8980612e96565b50891515612e91565b505f83815260076020908152604080832033845290915290205460ff16612e09565b346119b25760403660031901126119b257612fa46134d5565b6001600160a01b03165f90815260086020526040902060243560078110156119b25761298c61ffff916020936136d1565b346119b25760403660031901126119b257612fee6134d5565b612ff66134eb565b9060018060a01b03165f52600760205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346119b25760203660031901126119b2576004355f52600160205260206001600160801b0360405f205416604051908152f35b346119b25760403660031901126119b2576130786134eb565b6004355f525f60205260405f209060018060a01b03165f52602052602060405f205460801c604051908152f35b346119b25760803660031901126119b2576004356001600160401b0381116119b2576130d8612ba3913690600401613608565b602435906130e4613501565b906130ed613517565b916001600160a01b03811633811480156131f9575b61310b90613e99565b61311483613903565b91825f52600160205261312b60405f209184613d70565b61313486614782565b835f525f60205260405f20835f526020526001600160801b0361315e60405f209282845416613d50565b166001600160801b03198254161790556001810161317d878254613ed4565b90556001600160801b0361319c61319388614782565b82845416613d50565b82546001600160801b031916911617905560408051338152602081018790526001600160a01b03861693917ffa82ce862d3f5db279ecf1aeb1448f39eea062e885036b3c146c6559a02c14d691a4516001600160a01b031661482f565b505f81815260076020908152604080832033845290915290205460ff16613102565b346119b25760203660031901126119b2576004355f526001602052602060ff600260405f20015460801c166040519015158152f35b346119b25760603660031901126119b2576132696134d5565b6132716134eb565b604435918215158093036119b2576001600160a01b03169033821480156132fe575b61329c90613e99565b815f52600760205260405f2060018060a01b0382165f5260205260405f2060ff1981541660ff851617905560405192835260018060a01b0316917f97fd1b548e470d1f0336319d52f890ded643a20d43bcf68f71683cafb9ae184860203392a4005b505f82815260076020908152604080832033845290915290205460ff16613293565b346119b25760203660031901126119b2576133396134d5565b61334e60018060a01b03600a5416331461385e565b600980546001600160a01b0319166001600160a01b039290921691821790557f8d0d37125715161666b8711c79ac750c3d48064efdcdb781d2613102fbfaddbd5f80a2005b346119b25760403660031901126119b257612ba36133af6134eb565b600435613d70565b346119b25760203660031901126119b2576004356001600160401b0381116119b25761024b611fd96020923690600401613608565b346119b25760203660031901126119b2576134056134d5565b600a549061341d336001600160a01b0384161461385e565b6001600160a01b03166001600160a01b0319919091168117600a557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f80a2005b346119b25760403660031901126119b2576134776134d5565b7fdedc68213d2e0a4674bc0a327ac6a9aa041d1845d2d593eb8053aadd3561fcca6020602435926134b360018060a01b03600a54163314613825565b6001600160a01b03165f818152600483526040908190208590555193845292a2005b600435906001600160a01b03821682036119b257565b602435906001600160a01b03821682036119b257565b604435906001600160a01b03821682036119b257565b606435906001600160a01b03821682036119b257565b608435906001600160a01b03821682036119b257565b35906001600160a01b03821682036119b257565b608081019081106001600160401b0382111761357257604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761357257604052565b6001600160401b0381116135725760051b60200190565b91908260809103126119b2576040516135d681613557565b60606136038183956135e781613543565b8552602081013560208601526040810135604086015201613543565b910152565b9190916080818403126119b2576040519061362282613557565b819361362d82613543565b835260208201356001600160401b0381116119b257820181601f820112156119b257803561365a816135a7565b926136686040519485613586565b81845260208085019260071b840101928184116119b257602001915b8383106136aa575050505060609182916020850152604081013560408501520135910152565b60206080916136b984866135be565b815201920191613684565b359081151582036119b257565b91909160078310156136ed57601e908360041c019260011b1690565b634e487b7160e01b5f52603260045260245ffd5b9181601f840112156119b2578235916001600160401b0383116119b257602083818601950101116119b257565b6001600160401b03811161357257601f01601f191660200190565b81601f820112156119b2578035906137608261372e565b9261376e6040519485613586565b828452602083830101116119b257815f926020809301838601378301015290565b90608081019160018060a01b038151168252602081015192608060208401528351809152602060a084019401905f5b8181106137de575050506060816040829301516040850152015191015290565b825180516001600160a01b039081168852602082810151818a0152604080840151908a015260609283015190911691880191909152608090960195909201916001016137be565b1561382c57565b60405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606490fd5b1561386557565b60405162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b6044820152606490fd5b80518210156136ed5760209160051b010190565b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561256c57565b8181029291811591840414171561256c57565b908082146138ff57546dffffffffffffffffffffffffffff169055565b5050565b61390e30468361470f565b90815f52600160205260ff600260405f20015460801c161561392e575090565b9091602082019081515115613ce057608082515111613ca4575f939284916a0c097ce7bc90715b34b9f160241b916703782dace9d9000091845b865180518a1015613b3e576001600160a01b0390613987908b90613897565b515116906001600160a01b0316811115613b005760206139a88a8951613897565b510151670de0b6b3a76400008111613acb5760406139c78b8a51613897565b51015190670de0b6b3a76400000390670de0b6b3a7640000821161256c57818602868104831489171561256c57670de0b6b3a76400009004670de0b6b3a764000003670de0b6b3a7640000811161256c578015610c3557870414908115613a70575b5015613a3a57600190980197613968565b60405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21036b0bc2634b360911b6044820152606490fd5b90506040613a7f8b8a51613897565b510151906706f05b59d3b20000808202919082040361256c57670de0b6b3a76400009004670de0b6b3a764000003670de0b6b3a7640000811161256c578015610c35578604145f613a29565b60405162461bcd60e51b815260206004820152600d60248201526c0d8d8e8ec40e8dede40d0d2ced609b1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527518dbdb1b185d195c985b1cc81b9bdd081cdbdc9d195960521b6044820152606490fd5b505096509350505050815f526001602052600260405f2001600160801b60ff60801b1982541617905560018060a01b038151165f526008602052613b9360405f20835f526001602052600360405f20016138e2565b613b9b6146e6565b604051613c00602082019160208352613bc981613bbb604082018861378f565b03601f198101835282613586565b60206040519384928280850197805191829101895e840190838201905f8252519283915e01015f815203601f198101835282613586565b516001600160a01b03914691905ff51615613c55577fed3d8f545536ac5508a20e9d2931713347900aec2fe8a57c469a0cd77b7d851b613c4f839260405191829160208352602083019061378f565b0390a290565b60405162461bcd60e51b815260206004820152602160248201527f4661696c656420746f20637265617465205353746f72653220636f6e747261636044820152601d60fa1b6064820152608490fd5b60405162461bcd60e51b8152602060048201526014602482015273746f6f206d616e7920636f6c6c61746572616c7360601b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d6e6f20636f6c6c61746572616c7360901b6044820152606490fd5b15613d1d57565b60405162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818dc99585d195960aa1b6044820152606490fd5b906001600160801b03809116911603906001600160801b03821161256c57565b805f526001602052613d8e60ff600260405f20015460801c16613d16565b805f525f60205260405f2060018060a01b0383165f5260205260405f209182548060801c91835f5260016020526001600160801b03600260405f20015416808403613ddc575b505050505050565b806001600160801b0303936001600160801b03851161256c576001600160801b0303936001600160801b03851161256c5781613e51613e71926123256060976001600160801b0380807fb3fc498e06bed85593c80f637153973a1ae55d2eb3000221a879058a863843549c16941691166138cf565b60809190911b6001600160801b0319166001600160801b03821617909755565b6040805133815260208101979097528601526001600160a01b031693a35f8080808080613dd4565b15613ea057565b60405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b9190820391821161256c57565b91909160808310156136ed576010908360011c019260041b1690565b90815f525f60205260405f209060018060a01b03165f5260205260405f2054908160801c905f5260016020526001600160801b03600260405f20015416808214613f8f576001600160801b0303906001600160801b03821161256c576001600160801b03036001600160801b03811161256c57613f8c926001600160801b0380806123259416941691166138cf565b90565b50506001600160801b031690565b906ec097ce7bc90715b34b9f0fffffffff820180921161256c57565b9190820180921161256c57565b15613fcd57565b60405162461bcd60e51b815260206004820152600f60248201526e37b7363c903332b29039b2ba3a32b960891b6044820152606490fd5b1561400b57565b60405162461bcd60e51b815260206004820152600d60248201526c0d2dcecc2d8d2c840d2dcc8caf609b1b6044820152606490fd5b1561404757565b60405162461bcd60e51b815260206004820152600e60248201526d0ecc2d8eaca40e8dede40d0d2ced60931b6044820152606490fd5b1561408457565b60405162461bcd60e51b8152602060048201526024808201527f6665652073686f756c642062652061206d756c7469706c65206f66204645455f6044820152630535445560e41b6064820152608490fd5b8115610c35570490565b903590601e19813603018212156119b257018035906001600160401b0382116119b257602001918160071b360383136119b257565b91908110156136ed5760071b0190565b356001600160a01b03811681036119b25790565b908060209392818452848401375f828201840152601f01601f1916010190565b3d15614182573d906141698261372e565b916141776040519384613586565b82523d5f602084013e565b606090565b1561418e57565b60405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b6044820152606490fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b156141f257565b60405162461bcd60e51b815260206004820152600860248201526718dbdb9cdd5b595960c21b6044820152606490fd5b906001600160801b03809116911601906001600160801b03821161256c57565b9261425d613f8c97959296939660c0865260c086019061378f565b6001600160a01b03909616602085015260408401526060830152608082015280830360a091909101526141c7565b9060078110156136ed5760051b0190565b6040519060e08201908282106001600160401b038311176135725766ffffffffffffff9261432192604052650cbba106e0008152650cbba106e000602082015265592167302000604082015266017b4260df10006060820152660470de4df8200060808201526608e1bc9bf0400060a08201526611c37937e0800060c082015261428b565b511690565b929161434f90825f525f60205260405f2060018060a01b0382165f5260205260405f20926144d2565b925f926002600184015460801c9301925b8585108061445a575b1561444f57614377816149dd565b94614386866020860151613897565b51606081015160405163501ad8ff60e11b815291929190602090829060049082906001600160a01b03165afa9081156119a7578789915f93614417575b5060019460206a0c097ce7bc90715b34b9f160241b6143fe61440f97966001600160801b03612548670de0b6b3a76400009861440898613ee1565b04910151906138cf565b0490613fb9565b951b18614360565b93925050506020823d8211614447575b8161443460209383613586565b810103126119b2579051878760016143c3565b3d9150614427565b509392915050101590565b50801515614369565b9061ffff60405192548181168452818160101c166020850152818160201c166040850152818160301c166060850152818160401c166080850152818160501c1660a085015260601c1660c08301526144bc60e083613586565b565b51906001600160a01b03821682036119b257565b5f525f60205260405f209060018060a01b03165f526020526001600160801b03600160405f2001541690565b805f52600160205261451c60ff600260405f20015460801c16613d16565b5f526001602052614532600360405f2001614463565b6301da9c008210156146be57620151808210156145fa575f906201518063ffffffff62ffffff60ff855b16941691169261ffff61456f828561428b565b51169264e8d4a5100084029380850464e8d4a51000149015171561256c576001820180921161256c5761ffff916145a59161428b565b511664e8d4a5100081029080820464e8d4a51000149015171561256c57846145e86145ee92612602856145e26145f498612602613f8c9c8c613ed4565b94613ed4565b90613fb9565b92613ed4565b906140d5565b62093a808210156146245762093a80906201518063ffffffff62ffffff60ff60015b93959361455c565b62278d0082101561464e5762093a809062278d0063ffffffff62ffffff60ff60025b95939561461c565b6276a700821015614678576276a7009062278d0063ffffffff62ffffff60ff60035b939593614646565b62ed4e008210156146a2576276a7009062ed4e0063ffffffff62ffffff60ff60045b959395614670565b62ed4e00906301da9c0063ffffffff62ffffff60ff600561469a565b61ffff915060c001511664e8d4a5100081029080820464e8d4a51000149015171561256c5790565b604051906146f5604083613586565b600b82526a600b380380600b5f395ff360a81b6020830152565b6147176146e6565b90614738604051613bc981613bbb602082019560208752604083019061378f565b51902060405191602083019360ff60f81b85526bffffffffffffffffffffffff199060601b166021840152603583015260558201526055815261477c607582613586565b51902090565b6001600160801b03811161479c576001600160801b031690565b60405162461bcd60e51b815260206004820152601960248201527f75696e74323536206f766572666c6f77732075696e74313238000000000000006044820152606490fd5b156147e857565b60405162461bcd60e51b81526020600482015260076024820152666e6f20636f646560c81b6044820152606490fd5b908160209103126119b2575180151581036119b25790565b5f929183613bbb61487b8295614847863b15156147e1565b60405163a9059cbb60e01b602082019081526001600160a01b03909616602482015260448101919091529182906064820190565b51925af1614887614158565b9015611e715780519081159182156148e8575b5050156148a357565b60405162461bcd60e51b815260206004820152601760248201527f7472616e736665722072657475726e65642066616c73650000000000000000006044820152606490fd5b6148fb9250602080918301019101614817565b5f8061489a565b905f8094938194614915853b15156147e1565b6040516323b872dd60e01b602082019081526001600160a01b0395861660248301529490921660448301526064808301919091528152614956608482613586565b51925af1614962614158565b9015611e715780519081159182156149c3575b50501561497e57565b60405162461bcd60e51b815260206004820152601b60248201527f7472616e7366657246726f6d2072657475726e65642066616c736500000000006044820152606490fd5b6149d69250602080918301019101614817565b5f80614975565b905f9082156119b257905b600181019081811161256c5783821c15614a1557196149e857634e487b7160e01b5f52601160045260245ffd5b925050565b90614a24916138cf565b670de0b6b3a763ffff810180911161256c57670de0b6b3a7640000900490565b5f811215614a7057614a57905f03614a44565b8015610c35576a0c097ce7bc90715b34b9f160241b0490565b670de0b6b3a764000067099e8db03256ce5d6704cf46d8192b672e8301059167099e8db03256ce5d83029003671bc16d674ec80000818002056729a2241af62c00008282020591010101901b9056fea26469706673582212206ec32fb49d6608ff9d91411adf1679567f84fb77099ce05f924b5a6abde8dae264736f6c634300081f0033
|
package/dist/index.browser.d.mts
CHANGED
|
@@ -18,12 +18,12 @@ declare namespace BookResponse_d_exports {
|
|
|
18
18
|
type BookLevelResponse = {
|
|
19
19
|
tick: number;
|
|
20
20
|
price: string;
|
|
21
|
-
|
|
21
|
+
max_units: string;
|
|
22
22
|
count: number;
|
|
23
23
|
};
|
|
24
24
|
type Input$1 = {
|
|
25
25
|
tick: number;
|
|
26
|
-
|
|
26
|
+
maxUnits: bigint;
|
|
27
27
|
count: number;
|
|
28
28
|
};
|
|
29
29
|
declare function from$15(level: Input$1): BookLevelResponse;
|
|
@@ -36,9 +36,9 @@ declare const CollectorHealth: z.ZodObject<{
|
|
|
36
36
|
updated_at: z.ZodNullable<z.ZodString>;
|
|
37
37
|
lag: z.ZodNullable<z.ZodNumber>;
|
|
38
38
|
status: z.ZodEnum<{
|
|
39
|
+
unknown: "unknown";
|
|
39
40
|
live: "live";
|
|
40
41
|
lagging: "lagging";
|
|
41
|
-
unknown: "unknown";
|
|
42
42
|
}>;
|
|
43
43
|
initialized: z.ZodBoolean;
|
|
44
44
|
}, z.core.$strip>;
|
|
@@ -49,9 +49,9 @@ declare const CollectorsHealthResponse: z.ZodArray<z.ZodObject<{
|
|
|
49
49
|
updated_at: z.ZodNullable<z.ZodString>;
|
|
50
50
|
lag: z.ZodNullable<z.ZodNumber>;
|
|
51
51
|
status: z.ZodEnum<{
|
|
52
|
+
unknown: "unknown";
|
|
52
53
|
live: "live";
|
|
53
54
|
lagging: "lagging";
|
|
54
|
-
unknown: "unknown";
|
|
55
55
|
}>;
|
|
56
56
|
initialized: z.ZodBoolean;
|
|
57
57
|
}, z.core.$strip>>;
|
|
@@ -618,7 +618,7 @@ declare const MorphoV2: readonly [{
|
|
|
618
618
|
readonly name: "obligation";
|
|
619
619
|
}, {
|
|
620
620
|
readonly type: "uint256";
|
|
621
|
-
readonly name: "
|
|
621
|
+
readonly name: "units";
|
|
622
622
|
}, {
|
|
623
623
|
readonly type: "address";
|
|
624
624
|
readonly name: "onBehalf";
|
|
@@ -829,7 +829,7 @@ declare const MorphoV2: readonly [{
|
|
|
829
829
|
readonly stateMutability: "nonpayable";
|
|
830
830
|
readonly inputs: readonly [{
|
|
831
831
|
readonly type: "uint256";
|
|
832
|
-
readonly name: "
|
|
832
|
+
readonly name: "units";
|
|
833
833
|
}, {
|
|
834
834
|
readonly type: "address";
|
|
835
835
|
readonly name: "taker";
|
|
@@ -881,7 +881,7 @@ declare const MorphoV2: readonly [{
|
|
|
881
881
|
readonly name: "maker";
|
|
882
882
|
}, {
|
|
883
883
|
readonly type: "uint256";
|
|
884
|
-
readonly name: "
|
|
884
|
+
readonly name: "maxUnits";
|
|
885
885
|
}, {
|
|
886
886
|
readonly type: "uint256";
|
|
887
887
|
readonly name: "start";
|
|
@@ -1131,7 +1131,7 @@ declare const MorphoV2: readonly [{
|
|
|
1131
1131
|
readonly name: "obligation";
|
|
1132
1132
|
}, {
|
|
1133
1133
|
readonly type: "uint256";
|
|
1134
|
-
readonly name: "
|
|
1134
|
+
readonly name: "units";
|
|
1135
1135
|
}, {
|
|
1136
1136
|
readonly type: "address";
|
|
1137
1137
|
readonly name: "onBehalf";
|
|
@@ -1302,7 +1302,7 @@ declare const MorphoV2: readonly [{
|
|
|
1302
1302
|
readonly indexed: true;
|
|
1303
1303
|
}, {
|
|
1304
1304
|
readonly type: "uint256";
|
|
1305
|
-
readonly name: "
|
|
1305
|
+
readonly name: "units";
|
|
1306
1306
|
}, {
|
|
1307
1307
|
readonly type: "address";
|
|
1308
1308
|
readonly name: "onBehalf";
|
|
@@ -1520,7 +1520,7 @@ declare const MorphoV2: readonly [{
|
|
|
1520
1520
|
readonly name: "sellerAssets";
|
|
1521
1521
|
}, {
|
|
1522
1522
|
readonly type: "uint256";
|
|
1523
|
-
readonly name: "
|
|
1523
|
+
readonly name: "units";
|
|
1524
1524
|
}, {
|
|
1525
1525
|
readonly type: "address";
|
|
1526
1526
|
readonly name: "sellerReceiver";
|
|
@@ -1546,7 +1546,7 @@ declare const MorphoV2: readonly [{
|
|
|
1546
1546
|
readonly indexed: true;
|
|
1547
1547
|
}, {
|
|
1548
1548
|
readonly type: "uint256";
|
|
1549
|
-
readonly name: "
|
|
1549
|
+
readonly name: "units";
|
|
1550
1550
|
}, {
|
|
1551
1551
|
readonly type: "address";
|
|
1552
1552
|
readonly name: "onBehalf";
|
|
@@ -1906,20 +1906,20 @@ declare const CollateralSchema: z$1.ZodObject<{
|
|
|
1906
1906
|
asset: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
1907
1907
|
oracle: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
1908
1908
|
lltv: z$1.ZodPipe<z$1.ZodBigInt, z$1.ZodTransform<LLTV, bigint>>;
|
|
1909
|
-
maxLif: z$1.
|
|
1909
|
+
maxLif: z$1.ZodBigInt;
|
|
1910
1910
|
}, z$1.core.$strip>;
|
|
1911
1911
|
declare const CollateralsSchema: z$1.ZodArray<z$1.ZodObject<{
|
|
1912
1912
|
asset: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
1913
1913
|
oracle: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
1914
1914
|
lltv: z$1.ZodPipe<z$1.ZodBigInt, z$1.ZodTransform<LLTV, bigint>>;
|
|
1915
|
-
maxLif: z$1.
|
|
1915
|
+
maxLif: z$1.ZodBigInt;
|
|
1916
1916
|
}, z$1.core.$strip>>;
|
|
1917
1917
|
declare const from$13: (parameters: from$13.Parameters) => from$13.ReturnType;
|
|
1918
1918
|
declare namespace from$13 {
|
|
1919
1919
|
type Parameters = {
|
|
1920
1920
|
asset: Address;
|
|
1921
1921
|
lltv: Options | bigint;
|
|
1922
|
-
maxLif
|
|
1922
|
+
maxLif: bigint;
|
|
1923
1923
|
oracle: Address;
|
|
1924
1924
|
};
|
|
1925
1925
|
type ReturnType = Collateral;
|
|
@@ -2108,7 +2108,7 @@ declare const ObligationSchema: z$1.ZodObject<{
|
|
|
2108
2108
|
asset: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
2109
2109
|
oracle: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
2110
2110
|
lltv: z$1.ZodPipe<z$1.ZodBigInt, z$1.ZodTransform<LLTV, bigint>>;
|
|
2111
|
-
maxLif: z$1.
|
|
2111
|
+
maxLif: z$1.ZodBigInt;
|
|
2112
2112
|
}, z$1.core.$strip>>;
|
|
2113
2113
|
maturity: z$1.ZodPipe<z$1.ZodNumber, z$1.ZodTransform<Maturity, number>>;
|
|
2114
2114
|
rcfThreshold: z$1.ZodBigInt;
|
|
@@ -2183,7 +2183,8 @@ declare const tupleAbi: readonly [{
|
|
|
2183
2183
|
* Collateral.from({
|
|
2184
2184
|
* asset: privateKeyToAccount(generatePrivateKey()).address,
|
|
2185
2185
|
* oracle: privateKeyToAccount(generatePrivateKey()).address,
|
|
2186
|
-
* lltv: 0.965
|
|
2186
|
+
* lltv: 0.965,
|
|
2187
|
+
* maxLif: 0n,
|
|
2187
2188
|
* }),
|
|
2188
2189
|
* ],
|
|
2189
2190
|
* maturity: Maturity.from("end_of_next_quarter"),
|
|
@@ -2236,7 +2237,7 @@ declare namespace key$1 {
|
|
|
2236
2237
|
collaterals: {
|
|
2237
2238
|
asset: Address;
|
|
2238
2239
|
lltv: bigint;
|
|
2239
|
-
maxLif
|
|
2240
|
+
maxLif: bigint;
|
|
2240
2241
|
oracle: Address;
|
|
2241
2242
|
}[];
|
|
2242
2243
|
maturity: number;
|
|
@@ -2410,8 +2411,8 @@ declare namespace Offer_d_exports {
|
|
|
2410
2411
|
export { InvalidOfferError, Offer, OfferConsumed, OfferInput, OfferSchema, RandomConfig, Status, Validation, consumedEvent, decode$1 as decode, encode$1 as encode, from$10 as from, fromSnakeCase$1 as fromSnakeCase, hash, liquidateEvent, random$1 as random, repayEvent, serialize, supplyCollateralEvent, takeEvent, toSnakeCase, withdrawCollateralEvent };
|
|
2411
2412
|
}
|
|
2412
2413
|
type Offer = {
|
|
2413
|
-
/** The address that made the offer. */readonly maker: Address; /** The max
|
|
2414
|
-
readonly
|
|
2414
|
+
/** The address that made the offer. */readonly maker: Address; /** The max units to trade. */
|
|
2415
|
+
readonly maxUnits: bigint; /** The offer tick. */
|
|
2415
2416
|
readonly tick: number; /** The date at which all interests will be paid. */
|
|
2416
2417
|
readonly maturity: Maturity; /** Recovery-close-factor threshold in obligation units. */
|
|
2417
2418
|
readonly rcfThreshold: bigint; /** The date at which the offer will expire. */
|
|
@@ -2440,7 +2441,7 @@ type Validation = {
|
|
|
2440
2441
|
};
|
|
2441
2442
|
declare const OfferSchema: () => z$1.ZodObject<{
|
|
2442
2443
|
maker: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
2443
|
-
|
|
2444
|
+
maxUnits: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodBigInt>>;
|
|
2444
2445
|
tick: z$1.ZodCoercedNumber<unknown>;
|
|
2445
2446
|
maturity: z$1.ZodPipe<z$1.ZodNumber, z$1.ZodTransform<Maturity, number>>;
|
|
2446
2447
|
rcfThreshold: z$1.ZodBigInt;
|
|
@@ -2454,7 +2455,7 @@ declare const OfferSchema: () => z$1.ZodObject<{
|
|
|
2454
2455
|
asset: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
2455
2456
|
oracle: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
2456
2457
|
lltv: z$1.ZodPipe<z$1.ZodBigInt, z$1.ZodTransform<LLTV, bigint>>;
|
|
2457
|
-
maxLif: z$1.
|
|
2458
|
+
maxLif: z$1.ZodBigInt;
|
|
2458
2459
|
}, z$1.core.$strip>>;
|
|
2459
2460
|
callback: z$1.ZodObject<{
|
|
2460
2461
|
address: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
|
|
@@ -2474,10 +2475,10 @@ declare const OfferSchema: () => z$1.ZodObject<{
|
|
|
2474
2475
|
*
|
|
2475
2476
|
* All values validated to be non-negative and within bytes32 range.
|
|
2476
2477
|
*/
|
|
2477
|
-
type OfferInput = Compute<Omit<Offer, "group" | "session" | "
|
|
2478
|
+
type OfferInput = Compute<Omit<Offer, "group" | "session" | "maxUnits" | "rcfThreshold" | "receiverIfMakerIsSeller" | "exitOnly"> & {
|
|
2478
2479
|
group: Hex | bigint | number | string; /** Optional: defaults to zero bytes32. */
|
|
2479
2480
|
session?: Hex | bigint | number | string; /** Optional: defaults to 0n. */
|
|
2480
|
-
|
|
2481
|
+
maxUnits?: bigint; /** Recovery-close-factor threshold in obligation units. */
|
|
2481
2482
|
rcfThreshold: bigint; /** Optional: defaults to maker for backward compatibility. */
|
|
2482
2483
|
receiverIfMakerIsSeller?: Address; /** Optional: defaults to false. */
|
|
2483
2484
|
exitOnly?: boolean;
|
|
@@ -2517,7 +2518,7 @@ declare function toSnakeCase(offer: Offer): Snake<Offer>;
|
|
|
2517
2518
|
*/
|
|
2518
2519
|
declare const serialize: (offer: Offer) => {
|
|
2519
2520
|
maker: `0x${string}`;
|
|
2520
|
-
|
|
2521
|
+
maxUnits: string;
|
|
2521
2522
|
tick: number;
|
|
2522
2523
|
maturity: number;
|
|
2523
2524
|
rcfThreshold: string;
|
|
@@ -2546,7 +2547,7 @@ type RandomConfig = {
|
|
|
2546
2547
|
collateralTokens?: Address[];
|
|
2547
2548
|
assetsDecimals?: Record<Address, number>;
|
|
2548
2549
|
buy?: boolean;
|
|
2549
|
-
|
|
2550
|
+
maxUnits?: bigint;
|
|
2550
2551
|
maker?: Address;
|
|
2551
2552
|
maturity?: Maturity;
|
|
2552
2553
|
rcfThreshold?: bigint;
|
|
@@ -2630,7 +2631,7 @@ declare const takeEvent: {
|
|
|
2630
2631
|
readonly indexed: false;
|
|
2631
2632
|
readonly internalType: "uint256";
|
|
2632
2633
|
}, {
|
|
2633
|
-
readonly name: "
|
|
2634
|
+
readonly name: "units";
|
|
2634
2635
|
readonly type: "uint256";
|
|
2635
2636
|
readonly indexed: false;
|
|
2636
2637
|
readonly internalType: "uint256";
|
|
@@ -2703,7 +2704,7 @@ declare const repayEvent: {
|
|
|
2703
2704
|
readonly indexed: true;
|
|
2704
2705
|
readonly internalType: "bytes32";
|
|
2705
2706
|
}, {
|
|
2706
|
-
readonly name: "
|
|
2707
|
+
readonly name: "units";
|
|
2707
2708
|
readonly type: "uint256";
|
|
2708
2709
|
readonly indexed: false;
|
|
2709
2710
|
readonly internalType: "uint256";
|
|
@@ -3085,7 +3086,7 @@ declare class InvalidQuoteError extends BaseError<z$1.ZodError | Error> {
|
|
|
3085
3086
|
constructor(error: z$1.ZodError | Error);
|
|
3086
3087
|
}
|
|
3087
3088
|
declare namespace Tick_d_exports {
|
|
3088
|
-
export { InvalidPriceError, InvalidTickError, MAX_PRICE, TICK_RANGE,
|
|
3089
|
+
export { InvalidPriceError, InvalidTickError, MAX_PRICE, TICK_RANGE, assetsToUnits, priceToTick, tickToPrice, unitsToAssets };
|
|
3089
3090
|
}
|
|
3090
3091
|
/** Tick domain supported by Morpho V2. */
|
|
3091
3092
|
declare const TICK_RANGE = 990;
|
|
@@ -3112,19 +3113,30 @@ declare namespace priceToTick {
|
|
|
3112
3113
|
type ErrorType = InvalidPriceError;
|
|
3113
3114
|
}
|
|
3114
3115
|
/**
|
|
3115
|
-
* Converts
|
|
3116
|
-
*
|
|
3116
|
+
* Converts units into maker-side assets using the raw tick price surface.
|
|
3117
|
+
* This is the public forward conversion used by the router for lot sizing and other maker-facing capacity math.
|
|
3118
|
+
* - `buy = true` -> `floor(units * price / WAD)`
|
|
3119
|
+
* - `buy = false` -> `ceil(units * price / WAD)`
|
|
3120
|
+
* @param units - The units to convert.
|
|
3117
3121
|
* @param tick - The offer tick.
|
|
3118
|
-
* @
|
|
3122
|
+
* @param buy - Whether the maker side of the offer is buy (`true`) or sell (`false`).
|
|
3123
|
+
* @returns The equivalent amount in maker-side assets.
|
|
3119
3124
|
*/
|
|
3120
|
-
declare function
|
|
3125
|
+
declare function unitsToAssets(units: bigint, tick: number, buy: boolean): bigint;
|
|
3121
3126
|
/**
|
|
3122
|
-
* Converts
|
|
3123
|
-
*
|
|
3127
|
+
* Converts a maker-side asset cap into a safe units cap using the raw tick price.
|
|
3128
|
+
* Buy offers use the max-safe inverse of `floor(units * price / WAD)`.
|
|
3129
|
+
* Sell offers use the max-safe inverse of `ceil(units * price / WAD)`.
|
|
3130
|
+
* The result is clamped to the remaining offer size because the asset cap may have been rounded before inversion.
|
|
3131
|
+
* Zero integer asset caps can still admit positive units on floor-rounded sub-WAD buy ticks, and tick=0 keeps the
|
|
3132
|
+
* whole remaining interval safe because the raw maker-asset surface stays at zero.
|
|
3133
|
+
* @param assets - The integer maker-side asset cap.
|
|
3124
3134
|
* @param tick - The offer tick.
|
|
3125
|
-
* @
|
|
3135
|
+
* @param buy - Whether the maker side of the offer is buy (`true`) or sell (`false`).
|
|
3136
|
+
* @param remainingUnits - The maximum units still available on the offer.
|
|
3137
|
+
* @returns The greatest safe units amount under the maker-side raw-price surface.
|
|
3126
3138
|
*/
|
|
3127
|
-
declare function
|
|
3139
|
+
declare function assetsToUnits(assets: bigint, tick: number, buy: boolean, remainingUnits: bigint): bigint;
|
|
3128
3140
|
declare class InvalidTickError extends BaseError {
|
|
3129
3141
|
readonly name = "Tick.InvalidTickError";
|
|
3130
3142
|
constructor(tick: number);
|
|
@@ -4097,7 +4109,7 @@ interface components {
|
|
|
4097
4109
|
* @example 500000000000000000
|
|
4098
4110
|
*/
|
|
4099
4111
|
price: string; /** @example 369216000000000000000000 */
|
|
4100
|
-
|
|
4112
|
+
max_units: string; /** @example 5 */
|
|
4101
4113
|
count: number;
|
|
4102
4114
|
};
|
|
4103
4115
|
BadRequestResponse: {
|
|
@@ -4224,7 +4236,7 @@ interface components {
|
|
|
4224
4236
|
* },
|
|
4225
4237
|
* "buy": false,
|
|
4226
4238
|
* "maker": "0x7b093658BE7f90B63D7c359e8f408e503c2D9401",
|
|
4227
|
-
* "
|
|
4239
|
+
* "max_units": "369216000000000000000000",
|
|
4228
4240
|
* "start": 1761922790,
|
|
4229
4241
|
* "expiry": 1761922799,
|
|
4230
4242
|
* "tick": 495,
|
|
@@ -4270,7 +4282,7 @@ interface components {
|
|
|
4270
4282
|
* },
|
|
4271
4283
|
* "buy": false,
|
|
4272
4284
|
* "maker": "0x7b093658BE7f90B63D7c359e8f408e503c2D9401",
|
|
4273
|
-
* "
|
|
4285
|
+
* "max_units": "369216000000000000000000",
|
|
4274
4286
|
* "start": 1761922790,
|
|
4275
4287
|
* "expiry": 1761922799,
|
|
4276
4288
|
* "tick": 495,
|
|
@@ -4318,7 +4330,7 @@ interface components {
|
|
|
4318
4330
|
obligation: components["schemas"]["ObligationOfferResponse"]; /** @example false */
|
|
4319
4331
|
buy: boolean; /** @example 0x7b093658BE7f90B63D7c359e8f408e503c2D9401 */
|
|
4320
4332
|
maker: string; /** @example 369216000000000000000000 */
|
|
4321
|
-
|
|
4333
|
+
max_units: string; /** @example 1761922790 */
|
|
4322
4334
|
start: number; /** @example 1761922799 */
|
|
4323
4335
|
expiry: number; /** @example 495 */
|
|
4324
4336
|
tick: number; /** @example 0x000000000000000000000000000000000000000000000000000000000008b8f4 */
|
|
@@ -4516,7 +4528,7 @@ interface components {
|
|
|
4516
4528
|
};
|
|
4517
4529
|
ValidateOfferRequest: {
|
|
4518
4530
|
/** @example 0x7b093658BE7f90B63D7c359e8f408e503c2D9401 */maker: string; /** @example 369216000000000000000000 */
|
|
4519
|
-
|
|
4531
|
+
max_units?: string; /** @example 495 */
|
|
4520
4532
|
tick: number; /** @example 1761922799 */
|
|
4521
4533
|
maturity: number; /** @example 0 */
|
|
4522
4534
|
rcf_threshold: string; /** @example 1761922799 */
|
|
@@ -4602,7 +4614,7 @@ type Input = Readonly<{
|
|
|
4602
4614
|
hash: Hex;
|
|
4603
4615
|
obligationId: Hex;
|
|
4604
4616
|
maker: Address;
|
|
4605
|
-
|
|
4617
|
+
maxUnits: bigint;
|
|
4606
4618
|
tick: number;
|
|
4607
4619
|
maturity: number;
|
|
4608
4620
|
rcfThreshold: bigint;
|
|
@@ -4687,8 +4699,9 @@ type GroupsDomain = {
|
|
|
4687
4699
|
/**
|
|
4688
4700
|
* Insert groups (insert-only).
|
|
4689
4701
|
* @param groups - Groups to insert. {@link GroupInput}
|
|
4702
|
+
* @returns Number of group rows inserted.
|
|
4690
4703
|
*/
|
|
4691
|
-
create: (groups: GroupInput[]) => Promise<
|
|
4704
|
+
create: (groups: GroupInput[]) => Promise<number>;
|
|
4692
4705
|
/**
|
|
4693
4706
|
* Check which groups already exist in the database.
|
|
4694
4707
|
* @param groups - Group keys to check. {@link GroupKey}
|
|
@@ -4779,10 +4792,10 @@ declare const schemas: {
|
|
|
4779
4792
|
loan_token: "loan_token";
|
|
4780
4793
|
collateral_token: "collateral_token";
|
|
4781
4794
|
oracle: "oracle";
|
|
4782
|
-
min_duration: "min_duration";
|
|
4783
|
-
max_collaterals: "max_collaterals";
|
|
4784
4795
|
group_consistency: "group_consistency";
|
|
4785
4796
|
group_immutability: "group_immutability";
|
|
4797
|
+
max_collaterals: "max_collaterals";
|
|
4798
|
+
min_duration: "min_duration";
|
|
4786
4799
|
}>>>>;
|
|
4787
4800
|
chains: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>>>>;
|
|
4788
4801
|
}, z$1.core.$strip>;
|
|
@@ -5260,14 +5273,14 @@ declare const maxCollaterals: ({
|
|
|
5260
5273
|
max: number;
|
|
5261
5274
|
}) => Rule<Offer, "max_collaterals">;
|
|
5262
5275
|
/**
|
|
5263
|
-
* A validation rule that checks if the offer's
|
|
5276
|
+
* A validation rule that checks if the offer's maxUnits is non-zero.
|
|
5264
5277
|
* The contract requires a positive amount; this rule rejects early.
|
|
5265
5278
|
* @returns The issue that was found. If the offer is valid, this will be undefined.
|
|
5266
5279
|
*/
|
|
5267
5280
|
declare const amountNonZero: () => Rule<Offer, "amount_non_zero">;
|
|
5268
5281
|
/**
|
|
5269
5282
|
* A batch validation rule that ensures all offers within the same group are consistent.
|
|
5270
|
-
* All offers sharing the same group must have the same loan token,
|
|
5283
|
+
* All offers sharing the same group must have the same loan token, maxUnits,
|
|
5271
5284
|
* and side (buy/sell). The contract tracks consumed per group and requires these to match.
|
|
5272
5285
|
*/
|
|
5273
5286
|
declare const groupConsistency: () => Rule<Offer, "group_consistency">;
|