@black-market/sdk 0.6.4 → 0.7.0

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.
Files changed (82) hide show
  1. package/README.md +28 -4
  2. package/dist/addresses.d.ts +1 -1
  3. package/dist/addresses.js +4 -4
  4. package/dist/launch.d.ts +61 -0
  5. package/dist/launch.d.ts.map +1 -1
  6. package/dist/launch.js +171 -6
  7. package/dist/launch.js.map +1 -1
  8. package/dist/lifecycle/abi.d.ts +1999 -253
  9. package/dist/lifecycle/abi.d.ts.map +1 -1
  10. package/dist/lifecycle/abi.js +43 -14
  11. package/dist/lifecycle/abi.js.map +1 -1
  12. package/dist/lifecycle/allocations.d.ts +11 -0
  13. package/dist/lifecycle/allocations.d.ts.map +1 -0
  14. package/dist/lifecycle/allocations.js +36 -0
  15. package/dist/lifecycle/allocations.js.map +1 -0
  16. package/dist/lifecycle/calibration.d.ts +19 -0
  17. package/dist/lifecycle/calibration.d.ts.map +1 -0
  18. package/dist/lifecycle/calibration.js +65 -0
  19. package/dist/lifecycle/calibration.js.map +1 -0
  20. package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.d.ts +11 -0
  21. package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.d.ts.map +1 -0
  22. package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.js +10 -0
  23. package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.js.map +1 -0
  24. package/dist/lifecycle/index.d.ts +4 -2
  25. package/dist/lifecycle/index.d.ts.map +1 -1
  26. package/dist/lifecycle/index.js +4 -2
  27. package/dist/lifecycle/index.js.map +1 -1
  28. package/dist/lifecycle/markets.d.ts +170 -6
  29. package/dist/lifecycle/markets.d.ts.map +1 -1
  30. package/dist/lifecycle/markets.js +164 -37
  31. package/dist/lifecycle/markets.js.map +1 -1
  32. package/dist/lifecycle/planner.d.ts +7 -14
  33. package/dist/lifecycle/planner.d.ts.map +1 -1
  34. package/dist/lifecycle/planner.js +354 -400
  35. package/dist/lifecycle/planner.js.map +1 -1
  36. package/dist/lifecycle/presets.d.ts +62 -0
  37. package/dist/lifecycle/presets.d.ts.map +1 -0
  38. package/dist/lifecycle/presets.js +195 -0
  39. package/dist/lifecycle/presets.js.map +1 -0
  40. package/dist/lifecycle/progress.d.ts +5 -1
  41. package/dist/lifecycle/progress.d.ts.map +1 -1
  42. package/dist/lifecycle/progress.js +212 -53
  43. package/dist/lifecycle/progress.js.map +1 -1
  44. package/dist/lifecycle/rpc.d.ts +13 -2
  45. package/dist/lifecycle/rpc.d.ts.map +1 -1
  46. package/dist/lifecycle/rpc.js +92 -8
  47. package/dist/lifecycle/rpc.js.map +1 -1
  48. package/dist/lifecycle/simulation.d.ts +14 -4
  49. package/dist/lifecycle/simulation.d.ts.map +1 -1
  50. package/dist/lifecycle/simulation.js +383 -116
  51. package/dist/lifecycle/simulation.js.map +1 -1
  52. package/dist/lifecycle/transactions.d.ts +6 -0
  53. package/dist/lifecycle/transactions.d.ts.map +1 -0
  54. package/dist/lifecycle/transactions.js +40 -0
  55. package/dist/lifecycle/transactions.js.map +1 -0
  56. package/dist/lifecycle/types.d.ts +39 -2
  57. package/dist/lifecycle/types.d.ts.map +1 -1
  58. package/dist/lifecycle/types.js.map +1 -1
  59. package/docs/launch-lifecycle.md +228 -54
  60. package/examples/README.md +108 -18
  61. package/examples/generate-lifecycle-commitment-fixture.mjs +3 -1
  62. package/examples/launch-example-support.mjs +1 -1
  63. package/examples/launch-example.mjs +73 -26
  64. package/examples/launch-lifecycle-smoke.mjs +13 -11
  65. package/examples/launch.mjs +12 -11
  66. package/examples/quickstart.mjs +1 -1
  67. package/package.json +1 -1
  68. package/src/addresses.ts +4 -4
  69. package/src/launch.ts +213 -6
  70. package/src/lifecycle/abi.ts +43 -14
  71. package/src/lifecycle/allocations.ts +35 -0
  72. package/src/lifecycle/calibration.ts +59 -0
  73. package/src/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.ts +11 -0
  74. package/src/lifecycle/index.ts +4 -2
  75. package/src/lifecycle/markets.ts +169 -35
  76. package/src/lifecycle/planner.ts +326 -330
  77. package/src/lifecycle/presets.ts +243 -0
  78. package/src/lifecycle/progress.ts +193 -50
  79. package/src/lifecycle/rpc.ts +97 -9
  80. package/src/lifecycle/simulation.ts +370 -109
  81. package/src/lifecycle/transactions.ts +34 -0
  82. package/src/lifecycle/types.ts +35 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration.js","sourceRoot":"","sources":["../../src/lifecycle/calibration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Hex } from "viem";
2
+ /**
3
+ * Exact config6/V2 constructor creation code from pool-launch-v1/20261008T000141Z-e174ce6.
4
+ * Source commit: e174ce695c7010f50ca9211b07b9f178c990beac.
5
+ * Artifact SHA-256: 39d526e5531c1d529e40687acade47cea8a028248877ef930c038a57dfe7e145.
6
+ * Creation-code keccak256: 0x11c4c7b1f265ed708b7d53ab828c89d237ca821333daa808f1913986c6f8f1ab.
7
+ * Creation/runtime sizes: 28946/24035 bytes; the exact V2 arguments add 640 bytes.
8
+ * Constructor arguments are appended per market, never frozen into this artifact.
9
+ */
10
+ export declare const fixedFeePoolHookV1CreationCode: Hex;
11
+ //# sourceMappingURL=fixed-fee-pool-hook-v1-20261008.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixed-fee-pool-hook-v1-20261008.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,EAAE,GAA8ixD,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Exact config6/V2 constructor creation code from pool-launch-v1/20261008T000141Z-e174ce6.
3
+ * Source commit: e174ce695c7010f50ca9211b07b9f178c990beac.
4
+ * Artifact SHA-256: 39d526e5531c1d529e40687acade47cea8a028248877ef930c038a57dfe7e145.
5
+ * Creation-code keccak256: 0x11c4c7b1f265ed708b7d53ab828c89d237ca821333daa808f1913986c6f8f1ab.
6
+ * Creation/runtime sizes: 28946/24035 bytes; the exact V2 arguments add 640 bytes.
7
+ * Constructor arguments are appended per market, never frozen into this artifact.
8
+ */
9
+ export const fixedFeePoolHookV1CreationCode = "0x610260604052348015610010575f5ffd5b5060405161711238038061711283398101604081905261002f91610c92565b806100398161045c565b611afc613fff30161461005f57604051632a96f9e160e21b815260040160405180910390fd5b80516001600160a01b039081166080908152602080840151831660a0908152604080860151851660c0526060860151851660e0529285015184166101005284015190921661012052516100b491839101610e17565b60408051601f1981840301815291905280516020918201206101609081526102408301516101809081526101208401516001600160a01b039081166101a05261026085015163ffffffff9081166101c052918501519285015166ffffff00000000941b939093169116176101e05260a082015160c08301519082169116105f81610142578260a00151610148565b8260c001515b90505f8261015a578360c00151610160565b8360a001515b6001600160a01b03808416610200819052908216610220819052851515610240526040805160a081018252928352602083019190915260e087015162ffffff169082015261010086015160020b60608201523060808201529091506101c68160a0902090565b6101405280515f80546001600160a01b03199081166001600160a01b03938416178255602080850151600180546040808901516060808b0151958a166001600160b81b031990941693909317600160a01b62ffffff928316021762ffffff60b81b1916600160b81b91909516029390931782556080808901516002805490971690891617909555825161012081018452958652938b015186169285019290925260c08a0151909416938301939093526101a088015191929083019160ff169081111561029457610294610fbc565b60018111156102a5576102a5610fbc565b815261014087015162ffffff166020808301919091526101c088015160ff166040808401919091526101e08901516001600160a01b039081166060808601919091526102008b0151151560808601526102208b015160a0909501949094528451600380549183166001600160a01b031992831617815593860151600480549184169183169190911790559185015160058054919092169281168317825593850151929390916001600160a81b031990911617600160a01b83600181111561036e5761036e610fbc565b0217905550608082015160028201805460a085015160ff16600160c01b0260ff60c01b1962ffffff909416600160a81b029390931663ffffffff60a81b199091161791909117905560c082015160038201805460e08501511515600160a01b026001600160a81b03199091166001600160a01b0390931692909217919091179055610100909101516004909101556102208501515f90819061040f90610b11565b6008805461ffff909216600160e01b0261ffff60e01b1962ffffff909416600160c81b029390931664ffffffffff60c81b19909216919091179190911790555061102d9650505050505050565b80516001600160a01b03163b1580610480575060208101516001600160a01b03163b155b80610497575060408101516001600160a01b03163b155b806104ae575060608101516001600160a01b03163b155b806104c5575060808101516001600160a01b03163b155b806104dc575060c08101516001600160a01b03163b155b806104f2575060a08101516001600160a01b0316155b8061051657508060c001516001600160a01b03168160a001516001600160a01b0316145b8061052d575060a08101516001600160a01b031630145b80610551575080606001516001600160a01b031681602001516001600160a01b0316145b806105745750805f01516001600160a01b031681602001516001600160a01b0316145b8061058b575060208101516001600160a01b031630145b806105a2575060608101516001600160a01b031630145b806105b9575060808101516001600160a01b031630145b806105dc5750805f01516001600160a01b031681608001516001600160a01b0316145b806105f75750620f424062ffffff168160e0015162ffffff16115b8061060d5750600160020b81610100015160020b125b806106245750610100810151617fff60029190910b135b8061064a57506401000276a36001600160a01b03168161012001516001600160a01b0316105b80610680575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b03168161012001516001600160a01b031610155b8061069c5750620f424062ffffff1681610140015162ffffff16115b806106ba575080610140015162ffffff1681610160015162ffffff16115b806106d05750600160ff16816101a0015160ff16115b8061070757506101c081015160ff161580159061070757506004816101c0015160ff1610806107075750600a816101c0015160ff16115b8061073057506101c081015160ff161580159061073057506101e08101516001600160a01b0316155b8061074857506101e08101516001600160a01b031630145b8061076c5750805f01516001600160a01b0316816101e001516001600160a01b0316145b80610791575080608001516001600160a01b0316816101e001516001600160a01b0316145b8061079f5750610240810151155b806107b3575061026081015163ffffffff16155b806107c95750602081610260015163ffffffff16115b156107e75760405163c52a9bd360e01b815260040160405180910390fd5b5f816020015190505f8260800151905082606001516001600160a01b0316826001600160a01b031663f2f4eb266040518163ffffffff1660e01b8152600401602060405180830381865afa158015610841573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108659190610fd0565b6001600160a01b03161415806108ef5750825f01516001600160a01b0316826001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e39190610fd0565b6001600160a01b031614155b8061096f575082604001516001600160a01b0316826001600160a01b031663c7f7fb906040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109639190610fd0565b6001600160a01b031614155b806109ef575082608001516001600160a01b0316826001600160a01b031663d7b96d4e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e39190610fd0565b6001600160a01b031614155b80610a6f575082602001516001600160a01b0316816001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a639190610fd0565b6001600160a01b031614155b80610aee5750825f01516001600160a01b0316816001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae29190610fd0565b6001600160a01b031614155b15610b0c5760405163c52a9bd360e01b815260040160405180910390fd5b505050565b5f5f60c0516001600160a01b031663deee4135846040518263ffffffff1660e01b8152600401610b4391815260200190565b6040805180830381865afa158015610b5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b819190610ff2565b909250905062ffffff82161580610b9f5750620d89e862ffffff8316115b80610bae575060028161ffff16105b80610bbe575061100061ffff8216115b15610bdc5760405163c52a9bd360e01b815260040160405180910390fd5b915091565b60405161028081016001600160401b0381118282101715610c1057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114610c2a575f5ffd5b50565b8051610c3881610c16565b919050565b805162ffffff81168114610c38575f5ffd5b8051600281900b8114610c38575f5ffd5b805163ffffffff81168114610c38575f5ffd5b805160ff81168114610c38575f5ffd5b80518015158114610c38575f5ffd5b5f610280828403128015610ca4575f5ffd5b50610cad610be1565b610cb683610c2d565b8152610cc460208401610c2d565b6020820152610cd560408401610c2d565b6040820152610ce660608401610c2d565b6060820152610cf760808401610c2d565b6080820152610d0860a08401610c2d565b60a0820152610d1960c08401610c2d565b60c0820152610d2a60e08401610c3d565b60e0820152610d3c6101008401610c4f565b610100820152610d4f6101208401610c2d565b610120820152610d626101408401610c3d565b610140820152610d756101608401610c3d565b610160820152610d886101808401610c60565b610180820152610d9b6101a08401610c73565b6101a0820152610dae6101c08401610c73565b6101c0820152610dc16101e08401610c2d565b6101e0820152610dd46102008401610c83565b61020082015261022083810151908201526102408084015190820152610dfd6102608401610c60565b6102608201529392505050565b6001600160a01b03169052565b5f61028082019050610e2a828451610e0a565b6020830151610e3c6020840182610e0a565b506040830151610e4f6040840182610e0a565b506060830151610e626060840182610e0a565b506080830151610e756080840182610e0a565b5060a0830151610e8860a0840182610e0a565b5060c0830151610e9b60c0840182610e0a565b5060e0830151610eb260e084018262ffffff169052565b50610100830151610ec961010084018260020b9052565b50610120830151610ede610120840182610e0a565b50610140830151610ef761014084018262ffffff169052565b50610160830151610f1061016084018262ffffff169052565b50610180830151610f2a61018084018263ffffffff169052565b506101a0830151610f416101a084018260ff169052565b506101c0830151610f586101c084018260ff169052565b506101e0830151610f6d6101e0840182610e0a565b50610200830151610f8361020084018215159052565b50610220830151610220830152610240830151610240830152610260830151610fb561026084018263ffffffff169052565b5092915050565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215610fe0575f5ffd5b8151610feb81610c16565b9392505050565b5f5f60408385031215611003575f5ffd5b61100c83610c3d565b9150602083015161ffff81168114611022575f5ffd5b809150509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051615de361132f5f395f81816113d80152613e3401525f81816122c0015281816123a801528181612eb6015261300f01525f818161227d0152818161236d01528181612e600152612fd301525f818161044d015261056d01525f818161052b0152612a4601525f818161049c015261134501525f61067401525f6103bf01525f8181610324015281816108e301528181610d3b015281816110cf01528181611479015281816116cc01528181611b0701528181611f440152818161200e015281816121b2015281816123420152818161290c0152818161299601528181612c1a01528181612ca901528181612d3501528181612dc6015281816134890152818161360e0152818161368901526139dc01525f8181610803015281816130c901528181613fc5015261413001525f818161050401528181610d0301528181610fa10152818161111d0152818161205c015281816120c901528181612133015281816123ee0152818161259e0152818161266e015281816127f401528181612f5b015281816134af0152818161355501526135eb01525f81816107bb015281816131640152613e9f01525f818161062d015261119f01525f818161029e0152818161086d01528181610bda0152818161130801528181612b7201528181613f490152613f8701525f81816106b701528181610a5801528181610aee01528181610e98015281816110ae0152818161127301528181611505015281816116ab0152818161173f015281816119f101528181611c5e01528181611e7f015281816121d70152818161224b01528181612321015281816126050152818161275901528181612ad601528181612f97015281816136ae015281816136e1015281816138100152818161389f0152818161391c0152818161402301528181614267015281816147d401528181614863015281816148e0015281816149a8015281816149f30152614a600152615de35ff3fe608060405234801561000f575f5ffd5b5060043610610218575f3560e01c80630268e2931461021c5780630885f7321461023157806321d0ee701461025a578063259982e5146102865780632b20e39714610299578063359b4f30146102d85780633e451d6a146102f957806342ea83e01461030c57806347f8496c1461031f57806350fb3a3a146103465780635524d54814610359578063575e24b41461037c5780635955d09a146103ba57806360f89f2e146103e1578063654f631c146103f45780636fe7e6eb14610425578063747a68cd146104385780637dbeb94e1461044b578063847211a6146104845780638bc801c11461049757806391dd7346146104be578063921b0bed146104de5780639759164a146104ff5780639e5fe06214610526578063a3f4bac714610562578063a86911141461056b578063aae49d7014610591578063ac4e40541461059b578063ac5555aa146105a4578063b47b2fb1146105b7578063b6a8b0fa146105ed578063c5c51dca14610600578063c5fbb29814610615578063c7f7fb9014610628578063ca266dfe1461064f578063ce1b8e4f1461066f578063d2be662514610696578063dc4c90d3146106b2578063dd71cea8146106d9578063e1b4af6914610726578063e2e65ec114610739578063f11457c71461074c578063f2f4eb26146107b6578063f399150c146107dd578063fc0c546a146107fe578063fd5b6d5b14610825575b5f5ffd5b61022f61022a36600461507a565b610838565b005b61024461023f366004615094565b610937565b60405161025191906150ec565b60405180910390f35b61026d6102683660046151e7565b610a4c565b6040516001600160e01b03199091168152602001610251565b61026d6102943660046151e7565b610ae2565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610251565b6102eb6102e6366004615267565b610b77565b604051908152602001610251565b6102eb610307366004615295565b610b94565b61022f61031a3660046152b0565b610ba5565b6102eb7f000000000000000000000000000000000000000000000000000000000000000081565b61022f6103543660046152fe565b610d98565b61036c610367366004615094565b610e73565b6040519015158152602001610251565b61038f61038a366004615331565b610e8a565b604080516001600160e01b03199094168452602084019290925262ffffff1690820152606001610251565b6102eb7f000000000000000000000000000000000000000000000000000000000000000081565b61022f6103ef36600461538a565b61109f565b610407610402366004615094565b61117d565b6040805162ffffff909316835261ffff909116602083015201610251565b61026d6104333660046153df565b611267565b6102eb610446366004615295565b6114d0565b7f000000000000000000000000000000000000000000000000000000000000000060201c5b60405162ffffff9091168152602001610251565b6102eb610492366004615094565b6114e4565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b6104d16104cc366004615438565b6114f8565b6040516102519190615476565b6104f16104ec3660046154ab565b611625565b604051610251929190615523565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b61054d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610251565b6102c0613fff81565b7f000000000000000000000000000000000000000000000000000000000000000061054d565b610470620f424081565b6102c0611afc81565b61036c6105b2366004615094565b611716565b6105ca6105c53660046155af565b611732565b604080516001600160e01b03199093168352600f9190910b602083015201610251565b61026d6105fb36600461562f565b6119e5565b610608611a99565b6040516102519190615688565b6102eb610623366004615094565b611b48565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b61066261065d366004615094565b611b6a565b60405161025191906156ca565b6102eb7f000000000000000000000000000000000000000000000000000000000000000081565b61069f61100081565b60405161ffff9091168152602001610251565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b6106ec6106e7366004615715565b611bf4565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091169183019190915215156060820152608001610251565b61026d61073436600461562f565b611c52565b6102eb610747366004615267565b611d06565b61075f61075a366004615094565b611d24565b6040805161ffff998a168152978916602089015295881695870195909552600293840b60608701526001600160401b039283166080870152911660a0850152900b60c083015290911660e082015261010001610251565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b6107f06107eb36600461507a565b611d99565b604051610251929190615735565b6102c07f000000000000000000000000000000000000000000000000000000000000000081565b6102eb610833366004615267565b611fad565b3068929eee149b4bd2126854036108565763ab143c065f526004601cfd5b3068929eee149b4bd2126855336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108aa576040516282b42960e81b815260040160405180910390fd5b6108b381611fcb565b6201001154156108d6576040516304c7cf6760e51b815260040160405180910390fd5b42620100118190556040517f0000000000000000000000000000000000000000000000000000000000000000907ff1bac50d2c6f6c83cb8ff6fac488b03adc5fb0cc9fae30db2077588d5d9e5fbd905f90a33868929eee149b4bd212685550565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091526109888261200c565b6040805161012081018252600380546001600160a01b039081168352600454811660208401526005549081169383019390935290916060830190600160a01b900460ff1660018111156109dd576109dd6150b8565b60018111156109ee576109ee6150b8565b8152600282015462ffffff600160a81b820416602083015260ff600160c01b9091048116604083015260038301546001600160a01b0381166060840152600160a01b9004161515608082015260049091015460a09091015292915050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a95576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610ab35763ab143c065f526004601cfd5b610abc85611fcb565b610ac6868561204b565b610acf84612186565b5063021d0ee760e41b5b95945050505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b2b576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610b495763ab143c065f526004601cfd5b610b5285611fcb565b610b5c868561204b565b610b6584612186565b5063259982e560e01b95945050505050565b5f610b818361200c565b610b8a8261227a565b5490505b92915050565b5f610b9e8261227a565b5492915050565b3068929eee149b4bd212685403610bc35763ab143c065f526004601cfd5b3068929eee149b4bd2126855336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c17576040516282b42960e81b815260040160405180910390fd5b610c38610c33610c2c368590038501856157bf565b60a0902090565b61200c565b620100105460ff1615610c5e57604051630ea075bf60e21b815260040160405180910390fd5b610c6781612319565b5f5f610c7783610100013561117d565b6008549193509150600283810b600160c81b909204900b141580610cab575060085461ffff828116600160e01b9092041614155b15610cc95760405163c52a9bd360e01b815260040160405180910390fd5b610cd66020840184615295565b600380546001600160a01b0319166001600160a01b0392831617905562010010805460ff191660011790557f000000000000000000000000000000000000000000000000000000000000000016610d306020850185615295565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007ffafdbdd88ac30f0aa936e576be61816ea751908540523fa81b80c4a406ad7bec60405160405180910390a450503868929eee149b4bd21268555050565b3068929eee149b4bd212685403610db65763ab143c065f526004601cfd5b610dbf8261200c565b6008805461ffff600160e01b90910481169083161115610de9578054600160e01b900461ffff1691505b8054600160201b900461ffff165f610e036009838661328f565b835461ffff60201b1916600160201b61ffff838116918202929092178655919250831614610e6c576040805161ffff80851682528316602082015286917f04f592d3848fffa22f73de92a2fd8da837e6d597f468af77c6fc619b478362ae910160405180910390a25b5050505050565b5f610e7d8261200c565b5050620100105460ff1690565b5f8080336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed5576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610ef35763ab143c065f526004601cfd5b620100135460ff1615610f195760405163558a1e0360e11b815260040160405180910390fd5b610f2287611fcb565b60035f610f2f8989613322565b60028301549091505f90600160a81b900462ffffff1615801590610f5a5750610f5a828b8b86613360565b15610f8857610f85610f6f8a602001356133e4565b6002850154600160a81b900462ffffff1661341f565b90505b6040516364b3357d60e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c9666afa90610fda908e908e9087906004016158ca565b602060405180830381865afa158015610ff5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190615921565b90506110558b61102c60208d018d615938565b611036575f611038565b825b61104560208e018e615938565b61104f578361347b565b5f61347b565b61105d61366c565b811561107f5761107f83838660020160189054906101000a900460ff16613706565b506315d7892d60e21b955060801b93505f92505050955095509592505050565b6110a883611fcb565b5f6110f37f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613a4b565b5050600354919250506001600160a01b0384811691161415806111485750816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b8061115a57506001600160a01b038116155b156111775760405162820f3560e61b815260040160405180910390fd5b50505050565b60405163deee413560e01b8152600481018290525f9081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063deee4135906024016040805180830381865afa1580156111e3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112079190615953565b909250905062ffffff821615806112255750620d89e862ffffff8316115b80611234575060028161ffff16105b80611244575061100061ffff8216115b156112625760405163c52a9bd360e01b815260040160405180910390fd5b915091565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112b0576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd2126854036112ce5763ab143c065f526004601cfd5b6112e3610c33610c2c368790038701876157bf565b620100105460ff16158061130057506201001054610100900460ff165b8061133d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b8061137a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156113975760405162820f3560e61b815260040160405180910390fd5b60086113a4600942613afd565b825465ffffffff00001916600160201b61ffff9283160263ffff00001916176201000092909116919091021781556113fc837f0000000000000000000000000000000000000000000000000000000000000000613b3d565b8154426001600160401b03908116600160881b02600160881b600160c81b03194392909216600160481b02600160481b600160881b031962ffffff95909516600160301b0294909416600160301b600160881b031990931692909217929092179190911617815562010010805461ff0019166101001790556040517f0000000000000000000000000000000000000000000000000000000000000000907febcc9ffea17e08841d7588f2ecd87720e1cfb444bb3b5e662c4a5005c3c94ab2905f90a250636fe7e6eb60e01b95945050505050565b5f6114da8261227a565b6003015492915050565b5f6114ee8261200c565b5050620100115490565b6060336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611542576040516282b42960e81b815260040160405180910390fd5b6201001254158061156e575062010012548383604051611563929190615980565b604051809103902014155b1561158c5760405163f7a632f560e01b815260040160405180910390fd5b5f620100128190556115a0838501856157bf565b90506115b0610c338260a0902090565b6201001054610100900460ff166115d95760405162820f3560e61b815260040160405180910390fd5b5f6115e6825f0151613b52565b90505f6115f68360200151613b52565b9050818160405160200161160b929190615735565b604051602081830303815290604052935050505092915050565b6060806116318561200c565b6008805462010000900461ffff165f0361165e576040516329d9e10560e01b815260040160405180910390fd5b611709428686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508554600160301b810460020b925061ffff1690506116f07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613beb565b8654600995949392919062010000900461ffff16613c6e565b9250925050935093915050565b5f6117208261200c565b50506201001054610100900460ff1690565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461177c576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd21268540361179a5763ab143c065f526004601cfd5b620100135460ff16156117c05760405163558a1e0360e11b815260040160405180910390fd5b6117c987611fcb565b6117d4875f5f61347b565b60035f6117e18989613322565b90505f6117f160208b018b615295565b6001600160a01b0316826001600160a01b03161461181b5761181660208b018b615295565b61182b565b61182b60408b0160208c01615295565b6002840154909150600160a81b900462ffffff16158015906118545750611854828b8b86613360565b156118fd575f61188061186a8b602001356133e4565b6002860154600160a81b900462ffffff1661341f565b905080156118fb575f61189660208d018d615295565b6001600160a01b0316846001600160a01b0316146118bd576118b88a600f0b90565b6118c7565b6118c78a60801d90565b90506118d78260208d01356159a3565b81600f0b146118f95760405163161b48a960e21b815260040160405180910390fd5b505b505b6002830154600160a81b900462ffffff1615806119235750611921818b8b86613360565b155b1561193e575063b47b2fb160e01b93505f92506119da915050565b5f61194c60208c018c615295565b6001600160a01b0316826001600160a01b0316146119735761196e89600f0b90565b61197d565b61197d8960801d90565b90505f6119a561198f83600f0b6133e4565b6002870154600160a81b900462ffffff1661341f565b905080156119c9576119c983828760020160189054906101000a900460ff16613706565b63b47b2fb160e01b96509450505050505b965096945050505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a2e576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403611a4c5763ab143c065f526004601cfd5b620100135460ff1615611a725760405163558a1e0360e11b815260040160405180910390fd5b611a7b86611fcb565b611a8686868661347b565b50635b54587d60e11b9695505050505050565b620100105460609060ff16611aae575f611ab1565b60015b60ff166001600160401b03811115611acb57611acb615743565b604051908082528060200260200182016040528015611af4578160200160208202803683370190505b50620100105490915060ff1615611b45577f0000000000000000000000000000000000000000000000000000000000000000815f81518110611b3857611b386159ca565b6020026020010181815250505b90565b5f611b528261200c565b5050600854600160881b90046001600160401b031690565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152611b9d8261200c565b50506040805160a0810182525f546001600160a01b039081168252600154808216602084015262ffffff600160a01b82041693830193909352600160b81b909204600290810b606083015254909116608082015290565b5f5f5f5f611c018661200c565b5f60098661ffff8110611c1657611c166159ca565b015463ffffffff811698600160201b820460060b9850600160581b82046001600160a01b03169750600160f81b90910460ff1695509350505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611c9b576040516282b42960e81b815260040160405180910390fd5b620100135460ff1615611cc15760405163558a1e0360e11b815260040160405180910390fd5b3068929eee149b4bd212685403611cdf5763ab143c065f526004601cfd5b611ce886611fcb565b611cf3865f5f61347b565b5063e1b4af6960e01b9695505050505050565b5f611d108361200c565b611d198261227a565b600101549392505050565b5f5f5f5f5f5f5f5f611d358961200c565b505060085461ffff8082169962010000830482169950600160201b830482169850600160301b8304600290810b98506001600160401b03600160481b850481169850600160881b8504169650600160c81b8404900b9450600160e01b909204169150565b5f5f3068929eee149b4bd212685403611db95763ab143c065f526004601cfd5b3068929eee149b4bd2126855620100135460ff1615611deb5760405163558a1e0360e11b815260040160405180910390fd5b611df483611fcb565b6003546001600160a01b03163314611e1e576040516282b42960e81b815260040160405180910390fd5b6201000854151580611e3357506201000c5415155b15611f38575f83604051602001611e4a91906159de565b60408051601f19818403018152908290528051602082012062010012556348c8949160e01b825291505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906348c8949190611eb4908590600401615476565b5f604051808303815f875af1158015611ecf573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ef691908101906159ec565b620100125490915015611f1c5760405163f7a632f560e01b815260040160405180910390fd5b80806020019051810190611f309190615a7e565b909450925050505b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007f4a93be8d0a356d70b54fdf016f78a2ed8b8a3c420952848eb4f4b2c4546405b68484604051611f94929190615735565b60405180910390a33868929eee149b4bd2126855915091565b5f611fb78361200c565b611fc08261227a565b600201549392505050565b611fe0610c33610c2c368490038401846157bf565b6201001054610100900460ff166120095760405162820f3560e61b815260040160405180910390fd5b50565b7f000000000000000000000000000000000000000000000000000000000000000081146120095760405162820f3560e61b815260040160405180910390fd5b620100135460ff16801561209e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614158061209e5750604081013515155b156120bc5760405163558a1e0360e11b815260040160405180910390fd5b62010011545f0361211d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161461211957604051637cd5a0ad60e01b815260040160405180910390fd5b5050565b600654600160a01b900460ff16801561216857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b1561211957604051630af9fb3360e21b815260040160405180910390fd5b604081013515806121a85750600854600160481b90046001600160401b031643145b156121b05750565b7f00000000000000000000000000000000000000000000000000000000000000005f6121fc7f000000000000000000000000000000000000000000000000000000000000000083613a4b565b509092506122109150506020840184615aa0565b60020b8160020b1280612238575061222e6040840160208501615aa0565b60020b8160020b12155b1561224257505050565b612275816122707f000000000000000000000000000000000000000000000000000000000000000085613beb565b613dbe565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036122be575062010008919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361230157506201000c919050565b60405162820f3560e61b815260040160405180910390fd5b60035f6123667f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613a4b565b50505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b5f14806123cb57506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163b155b806123de57506001600160a01b03811615155b8061242a57506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661241e6040850160208601615295565b6001600160a01b031614155b8061245a575060028201546001600160a01b031661244e6060850160408601615295565b6001600160a01b031614155b806124a457506002820154600160a01b900460ff166001811115612480576124806150b8565b6124906080850160608601615abb565b60018111156124a1576124a16150b8565b14155b806124d357506002820154600160a81b900462ffffff166124cb60a0850160808601615ad9565b62ffffff1614155b806124fe57506002820154600160c01b900460ff166124f860c0850160a08601615af4565b60ff1614155b8061252e575060038201546001600160a01b031661252260e0850160c08601615295565b6001600160a01b031614155b8061255b57506003820154600160a01b900460ff161515612556610100850160e08601615938565b151514155b8061256f5750816004015483610100013514155b8061258e57506125826020840184615295565b6001600160a01b03163b155b806125d657506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166125cb6020850185615295565b6001600160a01b0316145b806125f55750306125ea6020850185615295565b6001600160a01b0316145b8061263d57506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166126326020850185615295565b6001600160a01b0316145b1561265b5760405163c52a9bd360e01b815260040160405180910390fd5b5f6126696020850185615295565b90505f7f000000000000000000000000000000000000000000000000000000000000000090505f826001600160a01b031663365a86fc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126f09190615b14565b90505f836001600160a01b03166371a973056040518163ffffffff1660e01b81526004015f60405180830381865afa15801561272e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526127559190810190615b2f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e19190615b14565b6001600160a01b031614158061288857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031663d7b96d4e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612858573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061287c9190615b14565b6001600160a01b031614155b806129045750306001600160a01b0316846001600160a01b031663cc41ddce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f89190615b14565b6001600160a01b031614155b8061298e57507f0000000000000000000000000000000000000000000000000000000000000000846001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612967573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298b9190615921565b14155b80612a3e57507f0000000000000000000000000000000000000000000000000000000000000000846001600160a01b031663182148ef6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156129f1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a159190615bd6565b604051602001612a2591906156ca565b6040516020818303038152906040528051906020012014155b80612ace57507f000000000000000000000000000000000000000000000000000000000000000063ffffffff16846001600160a01b0316639e5fe0626040518163ffffffff1660e01b8152600401602060405180830381865afa158015612aa7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb9190615921565b14155b80612b6a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b3a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b5e9190615b14565b6001600160a01b031614155b80612c0657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bd6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bfa9190615b14565b6001600160a01b031614155b80612c94575060405162e568cf60e71b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038416906372b4678090602401602060405180830381865afa158015612c6d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c919190615921565b15155b80612d205750604051630323715f60e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03841690630646e2be90602401602060405180830381865afa158015612cfc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d209190615c44565b80612db15750604051635c0af38360e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f906001600160a01b03851690635c0af38390602401602060405180830381865afa158015612d8a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dae9190615921565b14155b80612e4b5750604051630961712f60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f906001600160a01b03851690630961712f90602401602060405180830381865afa158015612e1b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e3f9190615b14565b6001600160a01b031614155b80612e5857508051600214155b80612eae57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815f81518110612e9a57612e9a6159ca565b60200260200101516001600160a01b031614155b80612f0557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681600181518110612ef157612ef16159ca565b60200260200101516001600160a01b031614155b80612f1857506001600160a01b0382163b155b80612f2b57506001600160a01b03821630145b80612f535750612f3e6020880188615295565b6001600160a01b0316826001600160a01b0316145b80612f8f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80612fcb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061300757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061304357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061306e57506001600160a01b03821661306360e0890160c08a01615295565b6001600160a01b0316145b806130a557506130816020880188615295565b6001600160a01b031661309a60e0890160c08a01615295565b6001600160a01b0316145b156130c35760405163c52a9bd360e01b815260040160405180910390fd5b5f8290507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031663a28a4d866040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131519190615b14565b6001600160a01b03161415806131f857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316632b507df86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ec9190615b14565b6001600160a01b031614155b8061325e5750806001600160a01b031663b3f05b976040518163ffffffff1660e01b8152600401602060405180830381865afa15801561323a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061325e9190615c44565b1561327c5760405163c52a9bd360e01b815260040160405180910390fd5b61328583613e9d565b5050505050505050565b5f8261ffff165f036132b4576040516329d9e10560e01b815260040160405180910390fd5b8261ffff168261ffff16116132ca57508161331b565b825b8261ffff168161ffff161015613316576001858261ffff1661ffff81106132f5576132f56159ca565b01805463ffffffff191663ffffffff929092169190911790556001016132cc565b508190505b9392505050565b5f6133306020830183615938565b15155f602084013512146133535761334e6040840160208501615295565b61331b565b61331b6020840184615295565b5f8060016002840154600160a01b900460ff166001811115613384576133846150b8565b146133bc576133966020850185615938565b6133af576133aa6040860160208701615295565b6133cb565b6133aa6020860186615295565b60028301546001600160a01b03165b6001600160a01b03878116911614915050949350505050565b5f600160ff1b820361340957604051637e2df70960e11b815260040160405180910390fd5b5f82126134165781610b8e565b610b8e82615c5f565b5f806134348462ffffff8516620f42406141b1565b9050613440848461423f565b915080821180613456575060016001607f1b0382115b1561347457604051637e2df70960e11b815260040160405180910390fd5b5092915050565b60405162e568cf60e71b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906372b4678090602401602060405180830381865afa1580156134fc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135209190615921565b5f0361352b57505050565b62010013805460ff191660011790556040516381f8a9d160e01b81525f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381f8a9d19061358e90889088908890600401615c79565b60408051808303815f875af11580156135a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135cd9190615a7e565b62010013805460ff1916905560405191935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016907f0000000000000000000000000000000000000000000000000000000000000000907fa30ca6140dfb2cac1c1021c5303d8dc7de0cd4db47221fb3ad068fac7ef8185e9061365d9086908690615735565b60405180910390a35050505050565b600854600160481b90046001600160401b0316430361368757565b7f00000000000000000000000000000000000000000000000000000000000000005f6136d37f000000000000000000000000000000000000000000000000000000000000000083613a4b565b5050915050612119816122707f000000000000000000000000000000000000000000000000000000000000000085613beb565b3068929eee149b4bd2126854036137245763ab143c065f526004601cfd5b3068929eee149b4bd2126855825f61373b8261227a565b90505f8160020154825f01546137519190615c98565b90506137648160016001607f1b03615c98565b85111561377657613776868383614253565b5f60ff8516156137a957606461378f60ff871688615cbf565b61379a90607d615cd2565b6137a49190615cbf565b6137ab565b5f5b905085835f015f8282546137bf9190615ce9565b9250508190555080836001015f8282546137d99190615ce9565b9250508190555085836003015f8282546137f39190615ce9565b9091555050604051627eeac760e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e906138469030908990600401615cfc565b602060405180830381865afa158015613861573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138859190615921565b604051630ab714fb60e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063156e29f6906138d890309089908c90600401615d16565b5f604051808303815f87803b1580156138ef575f5ffd5b505af1158015613901573d5f5f3e3d5ffd5b5050604051627eeac760e11b81525f92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915062fdd58e906139539030908a90600401615cfc565b602060405180830381865afa15801561396e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139929190615921565b9050818110806139a457508782820314155b806139b25750846003015481105b156139d05760405163104eed1d60e31b815260040160405180910390fd5b856001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007f2616e25de5abcc9e6a698b140fb6c92f55ace21b7a57f76172f195dbbf693af68a86604051613a2c929190615735565b60405180910390a35050505050503868929eee149b4bd2126855505050565b5f5f5f5f5f613a59866142f7565b604051631e2eaeaf60e01b8152600481018290529091505f906001600160a01b03891690631e2eaeaf90602401602060405180830381865afa158015613aa1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ac59190615921565b90506001600160a01b03811695508060a01c60020b945062ffffff8160b81c16935062ffffff8160d01c169250505092959194509250565b6040805160808101825263ffffffff83168082525f602083018190529282019290925260016060909101819052600160f81b9091178355805b9250929050565b5f81613b49578261331b565b61331b83615d3a565b5f8181613b5e8261227a565b80549091505f819003613b7557505f949350505050565b613b8f8583846002015484613b8a9190615c98565b614253565b6001820180545f808555918290556002840191909155613baf8183615c98565b600654909550613bca9085906001600160a01b031683614333565b600354613be29085906001600160a01b031687614333565b50505050919050565b5f5f613bf6836142f7565b90505f613c04600383615ce9565b604051631e2eaeaf60e01b8152600481018290529091506001600160a01b03861690631e2eaeaf90602401602060405180830381865afa158015613c4a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad99190615921565b6060808261ffff165f03613c95576040516329d9e10560e01b815260040160405180910390fd5b86516001600160401b03811115613cae57613cae615743565b604051908082528060200260200182016040528015613cd7578160200160208202803683370190505b50915086516001600160401b03811115613cf357613cf3615743565b604051908082528060200260200182016040528015613d1c578160200160208202803683370190505b5090505f5b8751811015613db157613d528a8a8a8481518110613d4157613d416159ca565b60200260200101518a8a8a8a6143cc565b848381518110613d6457613d646159ca565b60200260200101848481518110613d7d57613d7d6159ca565b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b8152505050806001019050613d21565b5097509795505050505050565b60088054613df59060099061ffff808216914291600160301b820460020b918891620100008204811691600160201b900416614578565b825463ffffffff19166201000061ffff9283160261ffff191617911617808255613e5890600160301b8104600290810b918691600160c81b909104900b7f00000000000000000000000000000000000000000000000000000000000000006146f4565b8154600160301b600160881b031916600160301b62ffffff9290921691909102600160481b600160881b03191617600160481b436001600160401b0316021790555050565b7f00000000000000000000000000000000000000000000000000000000000000005f613ed68263086fce0d60e11b83600461016061475d565b90505f80806005905080604085015111602085015160201c1715613ef8575f5ffd5b6101408401606085015b81811015613f2057805160a01c15613f18575f5ffd5b602001613f02565b505083516020850151909350915050811580613f4157506001604084015114155b80613f7f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613f7c846060015190565b14155b80613fbd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613fba846080015190565b14155b80613ffb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316613ff88460a0015190565b14155b8061401b57506005546001600160a01b03166140188460c0015190565b14155b8061405957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166140568460e0015190565b14155b15614076576040516282b42960e81b815260040160405180910390fd5b61408d84636373dff160e11b8460246101c061475d565b92505f600190505f600590508060a0860151118260808701511117604086015160a01c17156140ba575f5ffd5b610120850160c086015b818110156140e257805160a01c156140da575f5ffd5b6020016140c4565b50506101a0850161012086015b8181101561410d57805160201c15614105575f5ffd5b6020016140ef565b5050845184925090501415806141285750600160a084015114155b8061416657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166141638460c0015190565b14155b806141845750846001600160a01b03166141818460e0015190565b14155b8061419457506101408301518110155b15610e6c576040516282b42960e81b815260040160405180910390fd5b82820281838583041485151702614238575f198385098181108201900382848609835f0384168285116141eb5763ae47f7025f526004601cfd5b93849004938382119092035f83900383900460010102920304176002600383028118808402820302808402820302808402820302808402820302808402820302808402909103020261331b565b0492915050565b5f61331b8362ffffff8416620f42406141b1565b805f0361425f57505050565b828161428b827f0000000000000000000000000000000000000000000000000000000000000000614792565b10156142aa576040516365169c1d60e01b815260040160405180910390fd5b81836003015f8282546142bd9190615c98565b909155506142ce90508184846147bc565b6142d9843084614994565b81836002015f8282546142ec9190615ce9565b909155505050505050565b6040515f90614316908390600690602001918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b805f0361433f57505050565b5f61434a8430614792565b90505f6143578585614792565b9050614364858585614ad8565b5f61436f8630614792565b90505f61437c8787614792565b90508382118061438e57508482850314155b8061439857508281105b806143a557508483820314155b156143c357604051631dc418c360e31b815260040160405180910390fd5b50505050505050565b5f5f8663ffffffff165f03614472575f898661ffff1661ffff81106143f3576143f36159ca565b60408051608081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461445e5761445b818a8988614b22565b90505b80602001518160400151925092505061456c565b8688035f806144868c8c858c8c8c8c614bc8565b91509150815f015163ffffffff168363ffffffff16036144b657816020015182604001519450945050505061456c565b805f015163ffffffff168363ffffffff16036144e257806020015181604001519450945050505061456c565b5f825f0151825f01510390505f835f0151850390508063ffffffff168263ffffffff1660060b856020015185602001510360060b8161452357614523615cab565b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b0316028161455b5761455b615cab565b048560400151019650965050505050505b97509795505050505050565b5f5f5f898961ffff1661ffff8110614592576145926159ca565b60408051608081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff1615156060830152909250891690036145fb578885925092505061456c565b8461ffff168461ffff161180156146235750614618600186615d5a565b61ffff168961ffff16145b61462d578461462f565b835b91508161463d8a6001615d74565b6146479190615d8e565b925061465581898989614b22565b8a8461ffff1661ffff811061466c5761466c6159ca565b825191018054602084015160408501516060909501511515600160f81b026001600160f81b036001600160a01b03909616600160581b02959095166001600160581b0366ffffffffffffff909216600160201b026001600160581b031990931663ffffffff909516949094179190911716919091179190911790555097509795505050505050565b5f5f8560020b6147048685613b3d565b60020b6147119190615db1565b9050600284900b8082131561472857809150614744565b61473181615c5f565b8212156147445761474181615c5f565b91505b61475282600289900b6159a3565b979650505050505050565b6040518481526023198301614773578360048201525b81818483895afa614786573d5f823e3d81fd5b813d1015610ad9575f5ffd5b5f816014526370a0823160601b5f5260208060246010865afa601f3d111660205102905092915050565b604051627eeac760e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9061480a9030908890600401615cfc565b602060405180830381865afa158015614825573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148499190615921565b604051637a94c56560e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f5298aca9061489c90309088908790600401615d16565b5f604051808303815f87803b1580156148b3575f5ffd5b505af11580156148c5573d5f5f3e3d5ffd5b5050604051627eeac760e11b81525f92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915062fdd58e906149179030908990600401615cfc565b602060405180830381865afa158015614932573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906149569190615921565b90508181118061496857508281830314155b806149765750836003015481105b15610e6c5760405163104eed1d60e31b815260040160405180910390fd5b805f036149a057505050565b825f6149cc827f0000000000000000000000000000000000000000000000000000000000000000614792565b90505f6149d98386614792565b604051630b0d9c0960e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630b0d9c0990614a2c90899089908990600401615d16565b5f604051808303815f87803b158015614a43575f5ffd5b505af1158015614a55573d5f5f3e3d5ffd5b505050505f614a84847f0000000000000000000000000000000000000000000000000000000000000000614792565b90505f614a918588614792565b905083821180614aa357508582850314155b80614aad57508281105b80614aba57508583820314155b1561328557604051631dc418c360e31b815260040160405180910390fd5b816014528060345263a9059cbb60601b5f5260205f604460105f875af18060015f511416614b1857803d853b151710614b18576390b8ec185f526004601cfd5b505f603452505050565b614b2a61503e565b5f855f01518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020015f856001600160801b031611614b7b576001614b7d565b845b6001600160801b031663ffffffff60801b608085901b1681614ba157614ba1615cab565b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b614bd061503e565b614bd861503e565b888561ffff1661ffff8110614bef57614bef6159ca565b60408051608081018252919092015463ffffffff8116808352600160201b820460060b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff16151560608201529250614c4d90899089614da3565b15614c86578663ffffffff16825f015163ffffffff1614614c7a5781614c7583898988614b22565b614c7d565b81815b9150915061456c565b8883614c93876001615d74565b614c9d9190615d8e565b61ffff1661ffff8110614cb257614cb26159ca565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614d5b57604080516080810182528a5463ffffffff81168252600160201b810460060b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614d6988835f015189614da3565b614d8657604051636ffbbccd60e11b815260040160405180910390fd5b614d938989898887614e61565b9150915097509795505050505050565b5f8363ffffffff168363ffffffff1611158015614dcc57508363ffffffff168263ffffffff1611155b15614de8578163ffffffff168363ffffffff161115905061331b565b5f8463ffffffff168463ffffffff1611614e1557614e1063ffffffff8516600160201b615ce9565b614e1d565b8363ffffffff165b90505f8563ffffffff168463ffffffff1611614e4c57614e4763ffffffff8516600160201b615ce9565b614e54565b8363ffffffff165b9091111595945050505050565b614e6961503e565b614e7161503e565b5f83614e7e866001615d74565b614e889190615d8e565b61ffff1690505f60018561ffff1683614ea19190615ce9565b614eab9190615c98565b90505b5f6002614ebb8385615ce9565b614ec59190615cbf565b905089614ed661ffff881683615dd0565b61ffff8110614ee757614ee76159ca565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909550614f5357614f4b816001615ce9565b925050614eae565b8961ffff8716614f64836001615ce9565b614f6e9190615dd0565b61ffff8110614f7f57614f7f6159ca565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094505f90614fe2908b908b614da3565b9050808015614ffa5750614ffa8a8a875f0151614da3565b15615006575050615032565b8061501d57615016600183615c98565b925061502b565b615028826001615ce9565b93505b5050614eae565b50509550959350505050565b604080516080810182525f80825260208201819052918101829052606081019190915290565b5f60a08284031215615074575f5ffd5b50919050565b5f60a0828403121561508a575f5ffd5b61331b8383615064565b5f602082840312156150a4575f5ffd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b5f52602160045260245ffd5b600281106150e857634e487b7160e01b5f52602160045260245ffd5b9052565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191615120908401826150ab565b50606083015161513360608401826150cc565b50608083015161514a608084018262ffffff169052565b5060a083015161515f60a084018260ff169052565b5060c083015161517260c08401826150ab565b5060e083015161518660e084018215159052565b5061010092830151919092015290565b6001600160a01b0381168114612009575f5ffd5b5f5f83601f8401126151ba575f5ffd5b5081356001600160401b038111156151d0575f5ffd5b602083019150836020828501011115613b36575f5ffd5b5f5f5f5f5f8587036101608112156151fd575f5ffd5b863561520881615196565b95506152178860208901615064565b9450608060bf198201121561522a575f5ffd5b5060c0860192506101408601356001600160401b0381111561524a575f5ffd5b615256888289016151aa565b969995985093965092949392505050565b5f5f60408385031215615278575f5ffd5b82359150602083013561528a81615196565b809150509250929050565b5f602082840312156152a5575f5ffd5b813561331b81615196565b5f5f8284036101c08112156152c3575f5ffd5b6152cd8585615064565b9250610120609f19820112156152e1575f5ffd5b5060a0830190509250929050565b61ffff81168114612009575f5ffd5b5f5f6040838503121561530f575f5ffd5b82359150602083013561528a816152ef565b5f60608284031215615074575f5ffd5b5f5f5f5f5f6101408688031215615346575f5ffd5b853561535181615196565b94506153608760208801615064565b935061536f8760c08801615321565b92506101208601356001600160401b0381111561524a575f5ffd5b5f5f5f60e0848603121561539c575f5ffd5b6153a68585615064565b925060a08401356153b681615196565b915060c08401356153c681615196565b809150509250925092565b8060020b8114612009575f5ffd5b5f5f5f5f61010085870312156153f3575f5ffd5b84356153fe81615196565b935061540d8660208701615064565b925060c085013561541d81615196565b915060e085013561542d816153d1565b939692955090935050565b5f5f60208385031215615449575f5ffd5b82356001600160401b0381111561545e575f5ffd5b61546a858286016151aa565b90969095509350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f604084860312156154bd575f5ffd5b8335925060208401356001600160401b038111156154d9575f5ffd5b8401601f810186136154e9575f5ffd5b80356001600160401b038111156154fe575f5ffd5b8660208260051b8401011115615512575f5ffd5b939660209190910195509293505050565b604080825283519082018190525f9060208501906060840190835b8181101561555f57835160060b83526020938401939092019160010161553e565b5050838103602080860191909152855180835291810192508501905f5b818110156155a35782516001600160a01b031684526020938401939092019160010161557c565b50919695505050505050565b5f5f5f5f5f5f61016087890312156155c5575f5ffd5b86356155d081615196565b95506155df8860208901615064565b94506155ee8860c08901615321565b935061012087013592506101408701356001600160401b03811115615611575f5ffd5b61561d89828a016151aa565b979a9699509497509295939492505050565b5f5f5f5f5f5f6101208789031215615645575f5ffd5b863561565081615196565b955061565f8860208901615064565b945060c0870135935060e087013592506101008701356001600160401b03811115615611575f5ffd5b602080825282518282018190525f918401906040840190835b818110156156bf5783518352602093840193909201916001016156a1565b509095945050505050565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff169083015260608084015160020b90830152608092830151169181019190915260a00190565b5f5f60408385031215615726575f5ffd5b50508035926020909101359150565b918252602082015260400190565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b038111828210171561577957615779615743565b60405290565b604051601f8201601f191681016001600160401b03811182821017156157a7576157a7615743565b604052919050565b62ffffff81168114612009575f5ffd5b5f60a08284031280156157d0575f5ffd5b506157d9615757565b82356157e481615196565b815260208301356157f481615196565b60208201526040830135615807816157af565b6040820152606083013561581a816153d1565b6060820152608083013561582d81615196565b60808201529392505050565b803561584481615196565b6001600160a01b03168252602081013561585d81615196565b6001600160a01b031660208301526040810135615879816157af565b62ffffff1660408301526060810135615891816153d1565b60020b606083015260808101356158a781615196565b6001600160a01b03166080929092019190915250565b8015158114612009575f5ffd5b61012081016158d98286615839565b83356158e4816158bd565b151560a0830152602084013560c0830152604084013561590381615196565b6001600160a01b031660e08301526101009091019190915292915050565b5f60208284031215615931575f5ffd5b5051919050565b5f60208284031215615948575f5ffd5b813561331b816158bd565b5f5f60408385031215615964575f5ffd5b825161596f816157af565b602084015190925061528a816152ef565b818382375f9101908152919050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f8312801582168215821617156159c2576159c261598f565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b60a08101610b8e8284615839565b5f602082840312156159fc575f5ffd5b81516001600160401b03811115615a11575f5ffd5b8201601f81018413615a21575f5ffd5b80516001600160401b03811115615a3a57615a3a615743565b615a4d601f8201601f191660200161577f565b818152856020838501011115615a61575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f60408385031215615a8f575f5ffd5b505080516020909101519092909150565b5f60208284031215615ab0575f5ffd5b813561331b816153d1565b5f60208284031215615acb575f5ffd5b81356002811061331b575f5ffd5b5f60208284031215615ae9575f5ffd5b813561331b816157af565b5f60208284031215615b04575f5ffd5b813560ff8116811461331b575f5ffd5b5f60208284031215615b24575f5ffd5b815161331b81615196565b5f60208284031215615b3f575f5ffd5b81516001600160401b03811115615b54575f5ffd5b8201601f81018413615b64575f5ffd5b80516001600160401b03811115615b7d57615b7d615743565b8060051b615b8d6020820161577f565b91825260208184018101929081019087841115615ba8575f5ffd5b6020850194505b838510156147525784519250615bc483615196565b82825260209485019490910190615baf565b5f60a0828403128015615be7575f5ffd5b50615bf0615757565b8251615bfb81615196565b81526020830151615c0b81615196565b60208201526040830151615c1e816157af565b60408201526060830151615c31816153d1565b6060820152608083015161582d81615196565b5f60208284031215615c54575f5ffd5b815161331b816158bd565b5f600160ff1b8201615c7357615c7361598f565b505f0390565b60e08101615c878286615839565b60a082019390935260c00152919050565b81810381811115610b8e57610b8e61598f565b634e487b7160e01b5f52601260045260245ffd5b5f82615ccd57615ccd615cab565b500490565b8082028115828204841417610b8e57610b8e61598f565b80820180821115610b8e57610b8e61598f565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f8160020b627fffff198103615d5257615d5261598f565b5f0392915050565b61ffff8281168282160390811115610b8e57610b8e61598f565b61ffff8181168382160190811115610b8e57610b8e61598f565b5f61ffff831680615da157615da1615cab565b8061ffff84160691505092915050565b8181035f8312801583831316838312821617156134745761347461598f565b5f82615dde57615dde615cab565b50069056";
10
+ //# sourceMappingURL=fixed-fee-pool-hook-v1-20261008.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixed-fee-pool-hook-v1-20261008.js","sourceRoot":"","sources":["../../../src/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAQ,wixDAAwixD,CAAC"}
@@ -1,4 +1,4 @@
1
- /** Explicit versioned launch stack. Importing this entry never selects a deployed address. */
1
+ /** Versioned construction metadata and live launch execution calibration. */
2
2
  export * from "./schema.js";
3
3
  export * from "./types.js";
4
4
  export * from "./abi.js";
@@ -6,5 +6,7 @@ export * from "./markets.js";
6
6
  export * from "./progress.js";
7
7
  export * from "./fork.js";
8
8
  export * from "./authors.js";
9
- export { planLaunch, simulateLaunchPlan, buildNextTransaction, preparePoolBoundLifecyclePlan } from "./planner.js";
9
+ export * from "./presets.js";
10
+ export * from "./transactions.js";
11
+ export { planLaunch, simulateLaunchPlan, buildNextTransaction, prepareAndPlanLifecycleLaunch } from "./planner.js";
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- /** Explicit versioned launch stack. Importing this entry never selects a deployed address. */
1
+ /** Versioned construction metadata and live launch execution calibration. */
2
2
  export * from "./schema.js";
3
3
  export * from "./types.js";
4
4
  export * from "./abi.js";
@@ -6,5 +6,7 @@ export * from "./markets.js";
6
6
  export * from "./progress.js";
7
7
  export * from "./fork.js";
8
8
  export * from "./authors.js";
9
- export { planLaunch, simulateLaunchPlan, buildNextTransaction, preparePoolBoundLifecyclePlan } from "./planner.js";
9
+ export * from "./presets.js";
10
+ export * from "./transactions.js";
11
+ export { planLaunch, simulateLaunchPlan, buildNextTransaction, prepareAndPlanLifecycleLaunch } from "./planner.js";
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC"}
@@ -105,16 +105,27 @@ export declare const v4LifecycleMarketComponents: readonly [{
105
105
  }];
106
106
  export declare function encodeV4LifecycleMarketConfig(config: V4LifecycleMarketConfig): Hex;
107
107
  export declare function decodeV4LifecycleMarketConfig(encoded: Hex): V4LifecycleMarketConfig;
108
- export type V4PoolBoundLifecycleMarketConfig = Omit<V4LifecycleMarketConfig, "version"> & {
108
+ export type PoolBoundLifecycleConfigVersion = 5 | 6;
109
+ export type V4PoolBoundLifecycleMarketConfigV5 = Omit<V4LifecycleMarketConfig, "version"> & {
109
110
  version: 5;
110
111
  hookSalt: Hex;
112
+ minimumHookFeePips?: never;
113
+ feeSensitivityPipsSecondsPerTick?: never;
111
114
  };
115
+ export type V4PoolBoundLifecycleMarketConfigV6 = Omit<V4LifecycleMarketConfig, "version"> & {
116
+ version: 6;
117
+ minimumHookFeePips: number;
118
+ feeSensitivityPipsSecondsPerTick: number;
119
+ hookSalt: Hex;
120
+ };
121
+ export type V4PoolBoundLifecycleMarketConfig = V4PoolBoundLifecycleMarketConfigV5 | V4PoolBoundLifecycleMarketConfigV6;
112
122
  export declare const V4_LIFECYCLE_CONFIG_SCHEMA: `0x${string}`;
113
- export declare const V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA: `0x${string}`;
123
+ export declare const V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA_V5: `0x${string}`;
124
+ export declare const V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA_V6: `0x${string}`;
114
125
  export declare const V4_POOL_BOUND_MARKET_ECONOMICS_DOMAIN: `0x${string}`;
115
126
  export declare const V4_LIFECYCLE_HOOK_PERMISSION_MASK = 16383n;
116
127
  export declare const V4_LIFECYCLE_HOOK_PERMISSIONS = 6908n;
117
- export declare const poolBoundV4LifecycleMarketComponents: readonly [{
128
+ export declare const poolBoundV4LifecycleMarketComponentsV5: readonly [{
118
129
  readonly name: "version";
119
130
  readonly type: "uint16";
120
131
  }, {
@@ -179,8 +190,83 @@ export declare const poolBoundV4LifecycleMarketComponents: readonly [{
179
190
  readonly type: "uint256";
180
191
  }];
181
192
  }];
193
+ export declare const poolBoundV4LifecycleMarketComponentsV6: readonly [{
194
+ readonly name: "version";
195
+ readonly type: "uint16";
196
+ }, {
197
+ readonly name: "lpFeePips";
198
+ readonly type: "uint24";
199
+ }, {
200
+ readonly name: "tickSpacing";
201
+ readonly type: "int24";
202
+ }, {
203
+ readonly name: "sqrtPriceX96";
204
+ readonly type: "uint160";
205
+ }, {
206
+ readonly name: "hookFeePips";
207
+ readonly type: "uint24";
208
+ }, {
209
+ readonly name: "minimumHookFeePips";
210
+ readonly type: "uint24";
211
+ }, {
212
+ readonly name: "feeSensitivityPipsSecondsPerTick";
213
+ readonly type: "uint32";
214
+ }, {
215
+ readonly name: "feeMode";
216
+ readonly type: "uint8";
217
+ }, {
218
+ readonly name: "protocolFeeDenominator";
219
+ readonly type: "uint8";
220
+ }, {
221
+ readonly name: "treasury";
222
+ readonly type: "address";
223
+ }, {
224
+ readonly name: "externalLiquidityDisabled";
225
+ readonly type: "bool";
226
+ }, {
227
+ readonly name: "oracleConfigId";
228
+ readonly type: "bytes32";
229
+ }, {
230
+ readonly name: "hookSalt";
231
+ readonly type: "bytes32";
232
+ }, {
233
+ readonly name: "profileId";
234
+ readonly type: "bytes32";
235
+ }, {
236
+ readonly name: "termsDigest";
237
+ readonly type: "bytes32";
238
+ }, {
239
+ readonly name: "developerBeneficiary";
240
+ readonly type: "address";
241
+ }, {
242
+ readonly name: "developerFeeBps";
243
+ readonly type: "uint16";
244
+ }, {
245
+ readonly name: "positions";
246
+ readonly type: "tuple[]";
247
+ readonly components: readonly [{
248
+ readonly name: "tickLower";
249
+ readonly type: "int24";
250
+ }, {
251
+ readonly name: "tickUpper";
252
+ readonly type: "int24";
253
+ }, {
254
+ readonly name: "liquidity";
255
+ readonly type: "uint128";
256
+ }, {
257
+ readonly name: "salt";
258
+ readonly type: "bytes32";
259
+ }, {
260
+ readonly name: "maxTokenAmount";
261
+ readonly type: "uint256";
262
+ }];
263
+ }];
264
+ export declare function isPoolBoundV4ConfigVersion(version: number): version is PoolBoundLifecycleConfigVersion;
265
+ export declare function poolBoundV4LifecycleConfigSchema(version: PoolBoundLifecycleConfigVersion): Hex;
182
266
  export declare function encodePoolBoundV4LifecycleMarketConfig(config: V4PoolBoundLifecycleMarketConfig): Hex;
183
- export declare function decodePoolBoundV4LifecycleMarketConfig(encoded: Hex): V4PoolBoundLifecycleMarketConfig;
267
+ export declare function decodePoolBoundV4LifecycleMarketConfig(encoded: Hex, expectedVersion?: PoolBoundLifecycleConfigVersion): V4PoolBoundLifecycleMarketConfig;
268
+ /** Immutable per-pool fee policy: pips, and fee-pips * seconds per observed tick. */
269
+ export declare function validatePoolBoundHookFees(config: Pick<PoolBoundHookParametersV2, "hookFeePips" | "minimumHookFeePips" | "feeSensitivityPipsSecondsPerTick">): void;
184
270
  /** Exact pending-source admission terms; author identity is never the live payout address. */
185
271
  export declare function validateV4LifecycleMarket(options: {
186
272
  market: MarketConfigV1;
@@ -208,6 +294,11 @@ export type PoolBoundHookParametersV1 = {
208
294
  marketCommitment: Hex;
209
295
  expectedPositionCount: number;
210
296
  };
297
+ export type PoolBoundHookParametersV2 = PoolBoundHookParametersV1 & {
298
+ minimumHookFeePips: number;
299
+ feeSensitivityPipsSecondsPerTick: number;
300
+ };
301
+ export type PoolBoundHookParameters = PoolBoundHookParametersV1 | PoolBoundHookParametersV2;
211
302
  export declare const poolBoundHookParametersV1Components: readonly [{
212
303
  readonly name: "poolManager";
213
304
  readonly type: "address";
@@ -263,7 +354,80 @@ export declare const poolBoundHookParametersV1Components: readonly [{
263
354
  readonly name: "expectedPositionCount";
264
355
  readonly type: "uint32";
265
356
  }];
266
- export declare function encodePoolBoundHookParameters(parameters: PoolBoundHookParametersV1): Hex;
357
+ export declare const poolBoundHookParametersV2Components: readonly [{
358
+ readonly name: "poolManager";
359
+ readonly type: "address";
360
+ }, {
361
+ readonly name: "registrar";
362
+ readonly type: "address";
363
+ }, {
364
+ readonly name: "oracleFactory";
365
+ readonly type: "address";
366
+ }, {
367
+ readonly name: "core";
368
+ readonly type: "address";
369
+ }, {
370
+ readonly name: "liquidityLocker";
371
+ readonly type: "address";
372
+ }, {
373
+ readonly name: "token";
374
+ readonly type: "address";
375
+ }, {
376
+ readonly name: "quoteCurrency";
377
+ readonly type: "address";
378
+ }, {
379
+ readonly name: "lpFeePips";
380
+ readonly type: "uint24";
381
+ }, {
382
+ readonly name: "tickSpacing";
383
+ readonly type: "int24";
384
+ }, {
385
+ readonly name: "sqrtPriceX96";
386
+ readonly type: "uint160";
387
+ }, {
388
+ readonly name: "hookFeePips";
389
+ readonly type: "uint24";
390
+ }, {
391
+ readonly name: "minimumHookFeePips";
392
+ readonly type: "uint24";
393
+ }, {
394
+ readonly name: "feeSensitivityPipsSecondsPerTick";
395
+ readonly type: "uint32";
396
+ }, {
397
+ readonly name: "feeMode";
398
+ readonly type: "uint8";
399
+ }, {
400
+ readonly name: "protocolFeeDenominator";
401
+ readonly type: "uint8";
402
+ }, {
403
+ readonly name: "treasury";
404
+ readonly type: "address";
405
+ }, {
406
+ readonly name: "externalLiquidityDisabled";
407
+ readonly type: "bool";
408
+ }, {
409
+ readonly name: "oracleConfigId";
410
+ readonly type: "bytes32";
411
+ }, {
412
+ readonly name: "marketCommitment";
413
+ readonly type: "bytes32";
414
+ }, {
415
+ readonly name: "expectedPositionCount";
416
+ readonly type: "uint32";
417
+ }];
418
+ export declare function encodePoolBoundHookParameters(parameters: PoolBoundHookParameters, configVersion: PoolBoundLifecycleConfigVersion): Hex;
419
+ /** The explicit market version selects constructor economics, never missing-field defaults. */
420
+ export declare function buildPoolBoundHookParameters(options: {
421
+ chainId: bigint;
422
+ core: Address;
423
+ poolManager: Address;
424
+ registrar: Address;
425
+ oracleFactory: Address;
426
+ liquidityLocker: Address;
427
+ token: Address;
428
+ market: MarketConfigV1;
429
+ config: V4PoolBoundLifecycleMarketConfig;
430
+ }): PoolBoundHookParameters;
267
431
  export declare function hashPoolBoundV4MarketCommitment(options: {
268
432
  chainId: bigint;
269
433
  core: Address;
@@ -277,7 +441,7 @@ export declare function predictPoolBoundHookAddress(options: {
277
441
  initCodeHash: Hex;
278
442
  salt: Hex;
279
443
  }): Address;
280
- export declare function poolBoundHookInitCodeHash(creationCode: Hex, parameters: PoolBoundHookParametersV1): Hex;
444
+ export declare function poolBoundHookInitCodeHash(creationCode: Hex, parameters: PoolBoundHookParameters, configVersion: PoolBoundLifecycleConfigVersion): Hex;
281
445
  /** Deterministic CREATE2 search with a macrotask boundary before work and between bounded batches. */
282
446
  export declare function minePoolBoundHookSalt(options: {
283
447
  deployer: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}