@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
@@ -1,4 +1,4 @@
1
- import { concatHex, decodeAbiParameters, encodeAbiParameters, getCreate2Address, keccak256, stringToHex, toHex, zeroHash } from "viem";
1
+ import { concatHex, decodeAbiParameters, encodeAbiParameters, getAddress, hexToBytes, keccak256, pad, stringToHex, toHex, zeroHash } from "viem";
2
2
  import { LifecyclePlanningError } from "./types.js";
3
3
  export const v4LifecyclePositionComponents = [
4
4
  { name: "tickLower", type: "int24" }, { name: "tickUpper", type: "int24" },
@@ -28,43 +28,98 @@ export function decodeV4LifecycleMarketConfig(encoded) {
28
28
  return config;
29
29
  }
30
30
  export const V4_LIFECYCLE_CONFIG_SCHEMA = keccak256(stringToHex("(uint16,uint24,int24,uint160,uint24,uint8,uint8,address,bool,bytes32,bytes32,bytes32,address,uint16,(int24,int24,uint128,bytes32,uint256)[])"));
31
- export const V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA = keccak256(stringToHex("(uint16,uint24,int24,uint160,uint24,uint8,uint8,address,bool,bytes32,bytes32,bytes32,bytes32,address,uint16,(int24,int24,uint128,bytes32,uint256)[])"));
31
+ export const V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA_V5 = keccak256(stringToHex("(uint16,uint24,int24,uint160,uint24,uint8,uint8,address,bool,bytes32,bytes32,bytes32,bytes32,address,uint16,(int24,int24,uint128,bytes32,uint256)[])"));
32
+ export const V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA_V6 = keccak256(stringToHex("(uint16,uint24,int24,uint160,uint24,uint24,uint32,uint8,uint8,address,bool,bytes32,bytes32,bytes32,bytes32,address,uint16,(int24,int24,uint128,bytes32,uint256)[])"));
32
33
  export const V4_POOL_BOUND_MARKET_ECONOMICS_DOMAIN = keccak256(stringToHex("black-market.pool-bound-market-economics.v1"));
33
34
  export const V4_LIFECYCLE_HOOK_PERMISSION_MASK = 0x3fffn;
34
35
  export const V4_LIFECYCLE_HOOK_PERMISSIONS = 0x1afcn;
35
- export const poolBoundV4LifecycleMarketComponents = [
36
+ export const poolBoundV4LifecycleMarketComponentsV5 = [
36
37
  { name: "version", type: "uint16" }, { name: "lpFeePips", type: "uint24" }, { name: "tickSpacing", type: "int24" },
37
38
  { name: "sqrtPriceX96", type: "uint160" }, { name: "hookFeePips", type: "uint24" }, { name: "feeMode", type: "uint8" },
38
39
  { name: "protocolFeeDenominator", type: "uint8" }, { name: "treasury", type: "address" },
39
40
  { name: "externalLiquidityDisabled", type: "bool" }, { name: "oracleConfigId", type: "bytes32" },
41
+ { name: "hookSalt", type: "bytes32" }, { name: "profileId", type: "bytes32" }, { name: "termsDigest", type: "bytes32" },
42
+ { name: "developerBeneficiary", type: "address" }, { name: "developerFeeBps", type: "uint16" },
43
+ { name: "positions", type: "tuple[]", components: v4LifecyclePositionComponents },
44
+ ];
45
+ export const poolBoundV4LifecycleMarketComponentsV6 = [
46
+ { name: "version", type: "uint16" }, { name: "lpFeePips", type: "uint24" }, { name: "tickSpacing", type: "int24" },
47
+ { name: "sqrtPriceX96", type: "uint160" }, { name: "hookFeePips", type: "uint24" },
48
+ { name: "minimumHookFeePips", type: "uint24" }, { name: "feeSensitivityPipsSecondsPerTick", type: "uint32" },
49
+ { name: "feeMode", type: "uint8" },
50
+ { name: "protocolFeeDenominator", type: "uint8" }, { name: "treasury", type: "address" },
51
+ { name: "externalLiquidityDisabled", type: "bool" }, { name: "oracleConfigId", type: "bytes32" },
40
52
  { name: "hookSalt", type: "bytes32" },
41
53
  { name: "profileId", type: "bytes32" }, { name: "termsDigest", type: "bytes32" },
42
54
  { name: "developerBeneficiary", type: "address" }, { name: "developerFeeBps", type: "uint16" },
43
55
  { name: "positions", type: "tuple[]", components: v4LifecyclePositionComponents },
44
56
  ];
57
+ export function isPoolBoundV4ConfigVersion(version) {
58
+ return version === 5 || version === 6;
59
+ }
60
+ export function poolBoundV4LifecycleConfigSchema(version) {
61
+ if (version === 5)
62
+ return V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA_V5;
63
+ if (version === 6)
64
+ return V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA_V6;
65
+ throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Pool-bound V4 config version must be explicitly 5 or 6");
66
+ }
67
+ function assertV1HookFeeShape(config) {
68
+ if ("minimumHookFeePips" in config || "feeSensitivityPipsSecondsPerTick" in config) {
69
+ throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Config5/V1 cannot encode config6/V2 fee-policy fields");
70
+ }
71
+ }
45
72
  export function encodePoolBoundV4LifecycleMarketConfig(config) {
46
- if (config.version !== 5)
47
- throw new Error("Pool-bound V4 lifecycle market config version must be 5");
73
+ if (!isPoolBoundV4ConfigVersion(config.version))
74
+ throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Pool-bound V4 config version must be explicitly 5 or 6");
75
+ if (config.version === 6)
76
+ validatePoolBoundHookFees(config);
77
+ else
78
+ assertV1HookFeeShape(config);
48
79
  if (!Number.isInteger(config.developerFeeBps) || config.developerFeeBps < 0 || config.developerFeeBps > 65535)
49
80
  throw new Error("developerFeeBps must be an explicit uint16");
50
- return encodeAbiParameters([{ type: "tuple", components: poolBoundV4LifecycleMarketComponents }], [config]);
81
+ return config.version === 5
82
+ ? encodeAbiParameters([{ type: "tuple", components: poolBoundV4LifecycleMarketComponentsV5 }], [config])
83
+ : encodeAbiParameters([{ type: "tuple", components: poolBoundV4LifecycleMarketComponentsV6 }], [config]);
51
84
  }
52
- export function decodePoolBoundV4LifecycleMarketConfig(encoded) {
53
- const config = decodeAbiParameters([{ type: "tuple", components: poolBoundV4LifecycleMarketComponents }], encoded)[0];
54
- if (config.version !== 5)
55
- throw new Error("Pool-bound V4 lifecycle market config version must be 5");
85
+ export function decodePoolBoundV4LifecycleMarketConfig(encoded, expectedVersion) {
86
+ // Both dynamic config tuples begin with their ABI offset and explicit uint16 version.
87
+ // The selected schema must re-encode byte-for-byte; relabelled or padded tuples are not another version.
88
+ const [offset, version] = decodeAbiParameters([{ type: "uint256" }, { type: "uint16" }], encoded);
89
+ if (!isPoolBoundV4ConfigVersion(version))
90
+ throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Pool-bound V4 config version must be explicitly 5 or 6");
91
+ if (offset !== 32n || expectedVersion !== undefined && version !== expectedVersion)
92
+ throw new LifecyclePlanningError("INVALID_BOUND_MARKET", "Pool-bound wire config does not match its committed version");
93
+ const config = version === 5
94
+ ? decodeAbiParameters([{ type: "tuple", components: poolBoundV4LifecycleMarketComponentsV5 }], encoded)[0]
95
+ : decodeAbiParameters([{ type: "tuple", components: poolBoundV4LifecycleMarketComponentsV6 }], encoded)[0];
96
+ if (encodePoolBoundV4LifecycleMarketConfig(config).toLowerCase() !== encoded.toLowerCase())
97
+ throw new LifecyclePlanningError("INVALID_BOUND_MARKET", "Pool-bound config is not canonical for its explicit schema");
56
98
  return config;
57
99
  }
100
+ /** Immutable per-pool fee policy: pips, and fee-pips * seconds per observed tick. */
101
+ export function validatePoolBoundHookFees(config) {
102
+ if (!Number.isInteger(config.hookFeePips) || config.hookFeePips < 0 || config.hookFeePips > 1000000 ||
103
+ !Number.isInteger(config.minimumHookFeePips) || config.minimumHookFeePips < 0 || config.minimumHookFeePips > config.hookFeePips ||
104
+ !Number.isInteger(config.feeSensitivityPipsSecondsPerTick) || config.feeSensitivityPipsSecondsPerTick < 0 || config.feeSensitivityPipsSecondsPerTick > 0xffffffff) {
105
+ throw new LifecyclePlanningError("INVALID_HOOK_FEES", "Pool-bound fees require integer 0 <= minimum <= maximum <= 1000000 pips and sensitivity between 0 and 4294967295 fee-pips * seconds/tick");
106
+ }
107
+ }
58
108
  /** Exact pending-source admission terms; author identity is never the live payout address. */
59
109
  export function validateV4LifecycleMarket(options) {
60
110
  const { market, config, profile, token } = options;
61
- if (config.version !== 4 && config.version !== 5)
62
- throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Reviewed V4 config version must be 4 or 5");
111
+ if (config.version !== 4 && !isPoolBoundV4ConfigVersion(config.version))
112
+ throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Reviewed V4 config version must be 4, 5 or 6");
113
+ if (config.version === 6)
114
+ validatePoolBoundHookFees(config);
115
+ else if (config.version === 5)
116
+ assertV1HookFeeShape(config);
63
117
  const { envelope, developerTerms: terms, protocolMaximumDeveloperFeeBps: protocolCeiling } = profile;
64
118
  if (envelope === undefined || terms === undefined || protocolCeiling === undefined || !terms.enabled ||
65
119
  profile.topology.hookTopology !== (config.version === 4 ? 1 : 2) || market.configVersion !== config.version ||
66
120
  profile.topology.configVersion !== config.version || profile.adapter.configVersion !== config.version ||
67
121
  envelope.topology !== profile.topology.hookTopology || envelope.configVersion !== config.version || envelope.economicVersion !== 3 ||
122
+ profile.registration.configSchema.toLowerCase() !== (config.version === 4 ? V4_LIFECYCLE_CONFIG_SCHEMA : poolBoundV4LifecycleConfigSchema(config.version)).toLowerCase() ||
68
123
  market.adapterId.toLowerCase() !== profile.registration.adapterId.toLowerCase() ||
69
124
  market.profileId.toLowerCase() !== profile.id.toLowerCase() || config.profileId.toLowerCase() !== profile.id.toLowerCase() ||
70
125
  terms.adapter.toLowerCase() !== profile.adapter.implementation.toLowerCase() ||
@@ -83,7 +138,7 @@ export function validateV4LifecycleMarket(options) {
83
138
  if (config.oracleConfigId.toLowerCase() === zeroHash)
84
139
  throw new LifecyclePlanningError("INVALID_ORACLE_CONFIG", "Market oracle configuration must be nonzero");
85
140
  if (config.treasury.toLowerCase() !== envelope.protocolTreasury.toLowerCase() ||
86
- config.protocolFeeDenominator !== envelope.protocolFeeDenominator || !Number.isInteger(config.hookFeePips) || config.hookFeePips < 0 || config.hookFeePips >= 1000000 ||
141
+ config.protocolFeeDenominator !== envelope.protocolFeeDenominator || !Number.isInteger(config.hookFeePips) || config.hookFeePips < 0 || (config.version === 6 ? config.hookFeePips > 1000000 : config.hookFeePips >= 1000000) ||
87
142
  !Number.isInteger(config.lpFeePips) || config.lpFeePips < 0 || config.lpFeePips >= 1000000 ||
88
143
  !Number.isInteger(config.feeMode) || config.feeMode < 0 || config.feeMode > 1 || (b.feeModeFlags & (1 << config.feeMode)) === 0 ||
89
144
  config.tickSpacing < b.minimumTickSpacing || config.tickSpacing > b.maximumTickSpacing ||
@@ -102,14 +157,50 @@ export const poolBoundHookParametersV1Components = [
102
157
  { name: "externalLiquidityDisabled", type: "bool" }, { name: "oracleConfigId", type: "bytes32" },
103
158
  { name: "marketCommitment", type: "bytes32" }, { name: "expectedPositionCount", type: "uint32" },
104
159
  ];
105
- export function encodePoolBoundHookParameters(parameters) {
106
- return encodeAbiParameters([{ type: "tuple", components: poolBoundHookParametersV1Components }], [parameters]);
160
+ export const poolBoundHookParametersV2Components = [
161
+ { name: "poolManager", type: "address" }, { name: "registrar", type: "address" },
162
+ { name: "oracleFactory", type: "address" }, { name: "core", type: "address" },
163
+ { name: "liquidityLocker", type: "address" }, { name: "token", type: "address" },
164
+ { name: "quoteCurrency", type: "address" }, { name: "lpFeePips", type: "uint24" },
165
+ { name: "tickSpacing", type: "int24" }, { name: "sqrtPriceX96", type: "uint160" },
166
+ { name: "hookFeePips", type: "uint24" },
167
+ { name: "minimumHookFeePips", type: "uint24" }, { name: "feeSensitivityPipsSecondsPerTick", type: "uint32" },
168
+ { name: "feeMode", type: "uint8" },
169
+ { name: "protocolFeeDenominator", type: "uint8" }, { name: "treasury", type: "address" },
170
+ { name: "externalLiquidityDisabled", type: "bool" }, { name: "oracleConfigId", type: "bytes32" },
171
+ { name: "marketCommitment", type: "bytes32" }, { name: "expectedPositionCount", type: "uint32" },
172
+ ];
173
+ export function encodePoolBoundHookParameters(parameters, configVersion) {
174
+ if (configVersion === 5) {
175
+ assertV1HookFeeShape(parameters);
176
+ return encodeAbiParameters([{ type: "tuple", components: poolBoundHookParametersV1Components }], [parameters]);
177
+ }
178
+ if (configVersion !== 6)
179
+ throw new LifecyclePlanningError("UNSUPPORTED_CONFIG_VERSION", "Constructor encoding requires explicit config5/V1 or config6/V2 context");
180
+ const v2 = parameters;
181
+ validatePoolBoundHookFees(v2);
182
+ return encodeAbiParameters([{ type: "tuple", components: poolBoundHookParametersV2Components }], [v2]);
183
+ }
184
+ /** The explicit market version selects constructor economics, never missing-field defaults. */
185
+ export function buildPoolBoundHookParameters(options) {
186
+ const { config, market } = options;
187
+ if (config.version !== market.configVersion)
188
+ throw new LifecyclePlanningError("INVALID_BOUND_MARKET", "Constructor config differs from the committed market version");
189
+ return {
190
+ poolManager: options.poolManager, registrar: options.registrar, oracleFactory: options.oracleFactory, core: options.core,
191
+ liquidityLocker: options.liquidityLocker, token: options.token, quoteCurrency: market.quoteAsset,
192
+ lpFeePips: config.lpFeePips, tickSpacing: config.tickSpacing, sqrtPriceX96: config.sqrtPriceX96, hookFeePips: config.hookFeePips,
193
+ ...(config.version === 6 ? { minimumHookFeePips: config.minimumHookFeePips, feeSensitivityPipsSecondsPerTick: config.feeSensitivityPipsSecondsPerTick } : {}),
194
+ feeMode: config.feeMode, protocolFeeDenominator: config.protocolFeeDenominator, treasury: config.treasury,
195
+ externalLiquidityDisabled: config.externalLiquidityDisabled, oracleConfigId: config.oracleConfigId,
196
+ marketCommitment: hashPoolBoundV4MarketCommitment(options), expectedPositionCount: config.positions.length,
197
+ };
107
198
  }
108
199
  export function hashPoolBoundV4MarketCommitment(options) {
109
200
  const { chainId, core, registrar, token, market } = options;
110
- if (market.configVersion !== 5)
111
- throw new LifecyclePlanningError("INVALID_BOUND_MARKET", "Pool-bound V4 market requires reviewed config version 5");
112
- const config = decodePoolBoundV4LifecycleMarketConfig(market.config);
201
+ if (!isPoolBoundV4ConfigVersion(market.configVersion))
202
+ throw new LifecyclePlanningError("INVALID_BOUND_MARKET", "Pool-bound V4 market requires explicit config version 5 or 6");
203
+ const config = decodePoolBoundV4LifecycleMarketConfig(market.config, market.configVersion);
113
204
  if (config.profileId.toLowerCase() !== market.profileId.toLowerCase())
114
205
  throw new LifecyclePlanningError("INVALID_BOUND_MARKET", "Config profile differs from the committed market profile");
115
206
  const configHash = keccak256(encodePoolBoundV4LifecycleMarketConfig({ ...config, hookSalt: zeroHash }));
@@ -121,16 +212,29 @@ export function hashPoolBoundV4MarketCommitment(options) {
121
212
  export function hasLifecycleV4HookPermissions(hook) {
122
213
  return (BigInt(hook) & V4_LIFECYCLE_HOOK_PERMISSION_MASK) === V4_LIFECYCLE_HOOK_PERMISSIONS;
123
214
  }
215
+ function poolBoundHookPreimage(deployer, initCodeHash) {
216
+ const codeHash = hexToBytes(initCodeHash);
217
+ const preimage = new Uint8Array(53 + codeHash.length);
218
+ preimage[0] = 0xff;
219
+ preimage.set(hexToBytes(getAddress(deployer)), 1);
220
+ preimage.set(codeHash, 53);
221
+ return preimage;
222
+ }
223
+ function poolBoundHookAddress(digest) {
224
+ return getAddress(toHex(digest.subarray(12)));
225
+ }
124
226
  export function predictPoolBoundHookAddress(options) {
125
- return getCreate2Address({ from: options.deployer, bytecodeHash: options.initCodeHash, salt: options.salt });
227
+ const preimage = poolBoundHookPreimage(options.deployer, options.initCodeHash);
228
+ preimage.set(pad(hexToBytes(options.salt), { size: 32 }), 21);
229
+ return poolBoundHookAddress(keccak256(preimage, "bytes"));
126
230
  }
127
- export function poolBoundHookInitCodeHash(creationCode, parameters) {
128
- return keccak256(concatHex([creationCode, encodePoolBoundHookParameters(parameters)]));
231
+ export function poolBoundHookInitCodeHash(creationCode, parameters, configVersion) {
232
+ return keccak256(concatHex([creationCode, encodePoolBoundHookParameters(parameters, configVersion)]));
129
233
  }
130
234
  /** Deterministic CREATE2 search with a macrotask boundary before work and between bounded batches. */
131
235
  export async function minePoolBoundHookSalt(options) {
132
236
  const { signal, onProgress } = options;
133
- let candidate = options.startSalt ?? 0n;
237
+ const candidate = options.startSalt ?? 0n;
134
238
  if (candidate < 0n || candidate >= 1n << 256n)
135
239
  throw new LifecyclePlanningError("INVALID_HOOK_SALT", "Starting hook salt must fit uint256");
136
240
  const checkCancelled = () => {
@@ -139,31 +243,54 @@ export async function minePoolBoundHookSalt(options) {
139
243
  };
140
244
  let attempts = 0n;
141
245
  checkCancelled();
142
- const initialSalt = toHex(candidate, { size: 32 });
143
- onProgress?.({ attempts, salt: initialSalt, predictedHook: predictPoolBoundHookAddress({ deployer: options.deployer, initCodeHash: options.initCodeHash, salt: initialSalt }) });
246
+ // The same EIP-1014 owner as the public predictor freezes immutable prefix/
247
+ // suffix once. Only uint256 salt bytes change; viem still owns exact Keccak.
248
+ const preimage = poolBoundHookPreimage(options.deployer, options.initCodeHash);
249
+ const saltBytes = preimage.subarray(21, 53);
250
+ saltBytes.set(hexToBytes(toHex(candidate, { size: 32 })));
251
+ const mask = Number(V4_LIFECYCLE_HOOK_PERMISSION_MASK);
252
+ const permissions = Number(V4_LIFECYCLE_HOOK_PERMISSIONS);
253
+ let firstDigest = onProgress === undefined ? undefined : keccak256(preimage, "bytes");
254
+ if (onProgress !== undefined)
255
+ onProgress({ attempts, salt: toHex(saltBytes), predictedHook: poolBoundHookAddress(firstDigest) });
256
+ let advanceSalt = false;
144
257
  for (;;) {
145
258
  checkCancelled();
146
259
  await new Promise((resolve) => globalThis.setTimeout(resolve, 0));
147
260
  checkCancelled();
148
261
  const deadline = Date.now() + 8;
149
- let last;
262
+ let lastDigest;
263
+ let batchAttempts = 0;
150
264
  for (let batch = 0; batch < 256 && (batch === 0 || Date.now() < deadline); batch += 1) {
151
265
  checkCancelled();
152
- if (candidate >= 1n << 256n)
153
- throw new LifecyclePlanningError("HOOK_SALT_EXHAUSTED", "No valid hook address remains in the uint256 salt range");
154
- const salt = toHex(candidate, { size: 32 });
155
- const predictedHook = predictPoolBoundHookAddress({ deployer: options.deployer, initCodeHash: options.initCodeHash, salt });
156
- attempts += 1n;
157
- last = { attempts, salt, predictedHook };
158
- if (hasLifecycleV4HookPermissions(predictedHook)) {
159
- onProgress?.(last);
266
+ if (advanceSalt) {
267
+ let byte = saltBytes.length - 1;
268
+ while (byte >= 0 && saltBytes[byte] === 0xff) {
269
+ saltBytes[byte] = 0;
270
+ byte -= 1;
271
+ }
272
+ if (byte < 0)
273
+ throw new LifecyclePlanningError("HOOK_SALT_EXHAUSTED", "No valid hook address remains in the uint256 salt range");
274
+ saltBytes[byte] = saltBytes[byte] + 1;
275
+ }
276
+ const digest = firstDigest ?? keccak256(preimage, "bytes");
277
+ firstDigest = undefined;
278
+ batchAttempts += 1;
279
+ // Check all fourteen permission bits without checksumming/materializing
280
+ // every rejected address or allocating a progress object per attempt.
281
+ if ((((digest[30] << 8) | digest[31]) & mask) === permissions) {
282
+ attempts += BigInt(batchAttempts);
283
+ const result = { salt: toHex(saltBytes), predictedHook: poolBoundHookAddress(digest) };
284
+ onProgress?.({ attempts, ...result });
160
285
  checkCancelled();
161
- return { salt, predictedHook };
286
+ return result;
162
287
  }
163
- candidate += 1n;
288
+ lastDigest = digest;
289
+ advanceSalt = true;
164
290
  }
165
- if (last !== undefined)
166
- onProgress?.(last);
291
+ attempts += BigInt(batchAttempts);
292
+ if (onProgress !== undefined && lastDigest !== undefined)
293
+ onProgress({ attempts, salt: toHex(saltBytes), predictedHook: poolBoundHookAddress(lastDigest) });
167
294
  }
168
295
  }
169
296
  export const abyssLifecyclePositionComponents = [
@@ -1 +1 @@
1
- {"version":3,"file":"markets.js","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markets.js","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,11 @@
1
- import { type LaunchPlanV1 } from "./schema.js";
2
- import { type BuildNextTransactionOptions, type LifecyclePoolBoundHookDeployment, type LifecycleRpcClient, type LifecycleSimulation, type LifecycleTransaction, type PlannedLaunch, type PlanLaunchOptions, type PoolBoundLifecyclePreparationProgress, type SimulateLaunchPlanOptions } from "./types.js";
3
- /** Mines only certified bound markets, then re-reads the exact final economics and derived identities. */
4
- export declare function preparePoolBoundLifecyclePlan(options: {
5
- client: LifecycleRpcClient;
6
- plan: LaunchPlanV1;
7
- signal?: AbortSignal;
8
- onProgress?: (progress: PoolBoundLifecyclePreparationProgress) => void;
9
- }): Promise<{
10
- plan: LaunchPlanV1;
11
- deployments: readonly LifecyclePoolBoundHookDeployment[];
12
- }>;
13
- /** Exact economic commitment with explicit execution mode and current-state admission. No broadcasts. */
1
+ import { type BuildNextTransactionOptions, type LifecycleSimulation, type LifecycleTransaction, type PlannedLaunch, type PlanLaunchOptions, type PrepareAndPlanLifecycleLaunchOptions, type SimulateLaunchPlanOptions } from "./types.js";
2
+ /** One owner constructs and mines, optionally measures actual ordered buy outputs,
3
+ * then proves only the final protected commitment. No certificates or skip flags. */
4
+ export declare function prepareAndPlanLifecycleLaunch(options: PrepareAndPlanLifecycleLaunchOptions): Promise<PlannedLaunch>;
5
+ /** Independently fresh current-state admission of an already finalized commitment. No broadcasts. */
14
6
  export declare function planLaunch(options: PlanLaunchOptions): Promise<PlannedLaunch>;
15
- /** Re-reads canonical state, revalidates all prerequisites, and proves the remaining sequence afresh. */
7
+ /** Recovery observes real canonical receipts/nonces, then proves only unfinished
8
+ * execution; known construction metadata is not recertified through getter mirrors. */
16
9
  export declare function buildNextTransaction(options: BuildNextTransactionOptions): Promise<LifecycleTransaction | undefined>;
17
10
  /** Re-simulates only canonical unfinished work with the same submitted receipt
18
11
  * evidence and confirmation depth as build-next, never silently dropping context. */
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/lifecycle/planner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyX,KAAK,YAAY,EAAyB,MAAM,aAAa,CAAC;AAK9b,OAAO,EAA0B,KAAK,2BAA2B,EAAwF,KAAK,gCAAgC,EAAyB,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,qCAAqC,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAqQhb,0GAA0G;AAC1G,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,MAAM,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qCAAqC,KAAK,IAAI,CAAC;CACxE,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,SAAS,gCAAgC,EAAE,CAAA;CAAE,CAAC,CAiD5F;AAED,yGAAyG;AACzG,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAMnF;AAkHD,yGAAyG;AACzG,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CA4B1H;AAED;qFACqF;AACrF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUzG"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/lifecycle/planner.ts"],"names":[],"mappings":"AAOA,OAAO,EAA0B,KAAK,2BAA2B,EAAkN,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,oCAAoC,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAmNld;qFACqF;AACrF,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC,aAAa,CAAC,CA8DzH;AAED,qGAAqG;AACrG,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAMnF;AA0ID;uFACuF;AACvF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAsC1H;AAED;qFACqF;AACrF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUzG"}