@black-market/sdk 0.6.2 → 0.6.4

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.
@@ -1,5 +1,5 @@
1
1
  import { concatHex, decodeFunctionData, encodeAbiParameters, encodeFunctionData, keccak256, stringToHex, toHex, zeroAddress, zeroHash } from "viem";
2
- import { abyssLifecycleAdapterAbi, launchLifecycleAbi, lifecycleAdapterAbi, lifecycleDirectoryAbi, lifecycleErc20Abi, lifecycleOracleFactoryAbi, lifecycleRegistryAbi, poolFeeCollectorFactoryV1Abi, lifecycleV4HookAbi, lifecycleV4LockerAbi, poolHookDeployerV1Abi, sharedHookDeployerV1Abi, fixedFeePoolHookV1Abi, poolMarketAdapterV1Abi, sharedMarketAdapterV1Abi } from "./abi.js";
2
+ import { launchLifecycleAbi, lifecycleAdapterAbi, lifecycleDirectoryAbi, lifecycleErc20Abi, lifecycleOracleFactoryAbi, lifecycleRegistryAbi, poolFeeCollectorFactoryV1Abi, lifecycleV4HookAbi, lifecycleV4LockerAbi, poolHookDeployerV1Abi, sharedHookDeployerV1Abi, fixedFeePoolHookV1Abi, poolMarketAdapterV1Abi, sharedMarketAdapterV1Abi } from "./abi.js";
3
3
  import { decodePoolBoundV4LifecycleMarketConfig, encodePoolBoundHookParameters, hasLifecycleV4HookPermissions, hashPoolBoundV4MarketCommitment, poolBoundHookInitCodeHash, predictPoolBoundHookAddress, validateV4LifecycleMarket, V4_LIFECYCLE_CONFIG_SCHEMA, V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA } from "./markets.js";
4
4
  import { hashLaunchIdentity, hashLaunchPlan, hashLaunchBounds, hashLaunchDependencies, hashLifecycleProfile, launchProgressV1Components, LifecycleMode, LifecyclePhase, LifecycleVenue, LIFECYCLE_REQUIRED_CAPABILITIES, LIFECYCLE_ERC404_CAPABILITY, LIFECYCLE_MULTI_POSITION_CAPABILITY } from "./schema.js";
5
5
  import { assertLifecycleBlock, lifecyclePinnedRpc, lifecycleRpc, lifecycleStage, readLifecycleBlock, readLifecycleContract, readLifecycleProfileTopology, rpcHex, rpcObject, rpcQuantity, withLifecycleReadClient } from "./rpc.js";
@@ -26,28 +26,19 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
26
26
  const version = shared ? 4 : bound ? 5 : 1;
27
27
  if (adapter.configVersion !== version || topology.configVersion !== version || topology.hookTopology !== (shared ? 1 : bound ? 2 : 0))
28
28
  throw new LifecyclePlanningError("UNCERTIFIED_TOPOLOGY", "Registry topology/version differs from the supported config schema");
29
- const [implementationCode, authority, digest] = await Promise.all([
30
- readDependencyCode(client, adapter.implementation, block),
31
- readLifecycleContract(client, adapter.implementation, lifecycleAdapterAbi, "core", [], block),
32
- readLifecycleContract(client, adapter.implementation, lifecycleAdapterAbi, "dependencyDigest", [], block),
33
- ]);
34
- if (keccak256(implementationCode).toLowerCase() !== adapter.codeHash.toLowerCase())
35
- throw new LifecyclePlanningError("PROFILE_CODE_HASH", "Adapter code hash differs from immutable registry approval");
36
- if (authority.toLowerCase() !== orchestrator.toLowerCase() || digest.toLowerCase() !== registration.dependencyDigest.toLowerCase())
37
- throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Adapter authority or dependency digest differs from immutable registry approval");
38
29
  if (abyss) {
39
30
  if (topology.hookDeployer !== zeroAddress || topology.hookCreationCodeHash !== zeroHash)
40
31
  throw new LifecyclePlanningError("UNCERTIFIED_TOPOLOGY", "Abyss does not admit a V4 hook deployment graph");
41
- const [factory, schema, actualVersion] = await Promise.all([
42
- readLifecycleContract(client, adapter.implementation, abyssLifecycleAdapterAbi, "factory", [], block),
43
- readLifecycleContract(client, adapter.implementation, abyssLifecycleAdapterAbi, "CONFIG_SCHEMA", [], block),
44
- readLifecycleContract(client, adapter.implementation, abyssLifecycleAdapterAbi, "CONFIG_VERSION", [], block),
45
- ]);
32
+ // certifyAbyss fixes schema/version/factory at registration; requireEligible
33
+ // rechecks that approved runtime and the live graph digest at this block.
34
+ const factory = registration.factory;
46
35
  const domain = keccak256(stringToHex("BLACK_MARKET_ABYSS_CANONICAL_PROFILE_V1"));
47
36
  const known = [0, 1, 2, 3].some((variant) => keccak256(encodeAbiParameters([{ type: "bytes32" }, { type: "uint256" }, { type: "address" }, { type: "uint8" }], [domain, chainId, factory, variant])).toLowerCase() === id.toLowerCase());
48
- if (!known || schema.toLowerCase() !== ABYSS_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() || actualVersion !== 1 || registration.factory.toLowerCase() !== factory.toLowerCase() || registration.venue.toLowerCase() !== factory.toLowerCase() || registration.hook !== zeroAddress)
37
+ if (!known || registration.venue.toLowerCase() !== factory.toLowerCase() || registration.hook !== zeroAddress)
49
38
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Abyss profile is not the exact canonical factory/variant/schema binding");
50
- await readDependencyCode(client, factory, block);
39
+ const eligible = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "requireEligible", [registration.adapterId, id, version, LIFECYCLE_REQUIRED_CAPABILITIES], block);
40
+ if (eligible.toLowerCase() !== adapter.implementation.toLowerCase())
41
+ throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
51
42
  return { topology };
52
43
  }
53
44
  if (envelope === undefined || envelope.topology !== topology.hookTopology || envelope.configVersion !== version || envelope.economicVersion !== 3 ||
@@ -66,16 +57,6 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
66
57
  envelope.protocolTreasury === zeroAddress || (envelope.protocolFeeDenominator !== 0 && (envelope.protocolFeeDenominator < 4 || envelope.protocolFeeDenominator > 10)))
67
58
  throw new LifecyclePlanningError("PROFILE_BOUNDS", "Registry envelope has unsupported executable bounds");
68
59
  const abi = bound ? poolMarketAdapterV1Abi : sharedMarketAdapterV1Abi;
69
- const [metadata, actualVersion] = await Promise.all([
70
- Promise.all(["PROFILE_ID", "CONFIG_SCHEMA", "implementationRegistry"].map((getter) => readLifecycleContract(client, adapter.implementation, abi, getter, [], block))),
71
- readLifecycleContract(client, adapter.implementation, abi, "CONFIG_VERSION", [], block),
72
- ]);
73
- for (const [index, expected] of [id, registration.configSchema, registry].entries()) {
74
- if (metadata[index]?.toLowerCase() !== expected.toLowerCase())
75
- throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter metadata differs from registry certification");
76
- }
77
- if (actualVersion !== version)
78
- throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter config version differs from certification");
79
60
  const g = envelope.graph;
80
61
  if (registration.factory !== zeroAddress || registration.venue.toLowerCase() !== g.manager.toLowerCase() || registration.hook.toLowerCase() !== g.hookRoot.toLowerCase() ||
81
62
  topology.hookDeployer.toLowerCase() !== g.hookDeployer.toLowerCase() || topology.hookCreationCodeHash.toLowerCase() !== g.hookCreationCodeHash.toLowerCase())
@@ -84,7 +65,12 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
84
65
  const codeBindings = [[orchestrator, g.coreCodeHash], [g.manager, g.managerCodeHash], [g.oracleFactory, g.oracleFactoryCodeHash],
85
66
  [g.locker, g.lockerCodeHash], [g.collectorFactory, g.collectorFactoryCodeHash], [g.collectorDeployer, g.collectorDeployerCodeHash],
86
67
  [g.hookDeployer, g.hookDeployerCodeHash]];
87
- const [dependencies, dependencyCodes, collectorDeployer, launcher, lockerManager, creationCodeHash, chunk0, chunk1] = await Promise.all([
68
+ // Frozen graph addresses permit independent evidence reads. Getter results
69
+ // still have to match that graph; none of these observations is caller authority.
70
+ const [eligible, metadata, actualVersion, dependencies, dependencyCodes, collectorDeployer, launcher, lockerManager, creationCodeHash, chunk0, chunk1, chunkCodes, sharedRoot] = await Promise.all([
71
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "requireEligible", [registration.adapterId, id, version, LIFECYCLE_REQUIRED_CAPABILITIES], block),
72
+ Promise.all(["PROFILE_ID", "CONFIG_SCHEMA", "implementationRegistry"].map((getter) => readLifecycleContract(client, adapter.implementation, abi, getter, [], block))),
73
+ readLifecycleContract(client, adapter.implementation, abi, "CONFIG_VERSION", [], block),
88
74
  Promise.all(["poolManager", "hookRoot", "oracleFactory", "locker", "collectorFactory", "hookDeployer"].map((getter) => readLifecycleContract(client, adapter.implementation, abi, getter, [], block))),
89
75
  Promise.all(codeBindings.map(([address]) => readDependencyCode(client, address, block))),
90
76
  readLifecycleContract(client, g.collectorFactory, poolFeeCollectorFactoryV1Abi, "collectorDeployer", [], block),
@@ -93,7 +79,27 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
93
79
  readLifecycleContract(client, g.hookDeployer, deployerAbi, "creationCodeHash", [], block),
94
80
  readLifecycleContract(client, g.hookDeployer, deployerAbi, "codeChunk0", [], block),
95
81
  readLifecycleContract(client, g.hookDeployer, deployerAbi, "codeChunk1", [], block),
82
+ Promise.all([
83
+ readDependencyCode(client, g.codeChunk0, block),
84
+ g.codeChunk1 === zeroAddress ? Promise.resolve("0x") : readDependencyCode(client, g.codeChunk1, block),
85
+ ]),
86
+ shared ? Promise.all([
87
+ readDependencyCode(client, g.hookRoot, block),
88
+ readLifecycleContract(client, g.hookDeployer, deployerAbi, "deployedCodeHash", [g.hookRoot], block),
89
+ readLifecycleContract(client, g.hookDeployer, sharedHookDeployerV1Abi, "predict", [g.manager, adapter.implementation, g.oracleFactory, g.sharedHookSalt], block),
90
+ Promise.all(["registrar", "poolManager", "oracleFactory"].map((getter) => readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, getter, [], block))),
91
+ readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "REQUIRED_HOOK_FLAGS", [], block),
92
+ readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "ALL_HOOK_MASK", [], block),
93
+ ]) : undefined,
96
94
  ]);
95
+ if (eligible.toLowerCase() !== adapter.implementation.toLowerCase())
96
+ throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
97
+ for (const [index, expected] of [id, registration.configSchema, registry].entries()) {
98
+ if (metadata[index]?.toLowerCase() !== expected.toLowerCase())
99
+ throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter metadata differs from registry certification");
100
+ }
101
+ if (actualVersion !== version)
102
+ throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter config version differs from certification");
97
103
  for (const [index, expected] of [g.manager, g.hookRoot, g.oracleFactory, g.locker, g.collectorFactory, g.hookDeployer].entries()) {
98
104
  if (dependencies[index]?.toLowerCase() !== expected.toLowerCase())
99
105
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Live adapter dependency differs from the frozen reviewed graph");
@@ -105,10 +111,7 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
105
111
  if (collectorDeployer.toLowerCase() !== g.collectorDeployer.toLowerCase() || launcher.toLowerCase() !== adapter.implementation.toLowerCase() ||
106
112
  lockerManager.toLowerCase() !== g.manager.toLowerCase() || g.locker.toLowerCase() === g.manager.toLowerCase() || g.locker.toLowerCase() === g.hookRoot.toLowerCase())
107
113
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed collector or locker authority differs from the frozen graph");
108
- const [chunk0Code, chunk1Code] = await Promise.all([
109
- readDependencyCode(client, chunk0, block),
110
- chunk1 === zeroAddress ? Promise.resolve("0x") : readDependencyCode(client, chunk1, block),
111
- ]);
114
+ const [chunk0Code, chunk1Code] = chunkCodes;
112
115
  if (chunk0.toLowerCase() !== g.codeChunk0.toLowerCase() || chunk1.toLowerCase() !== g.codeChunk1.toLowerCase() || chunk0.toLowerCase() === chunk1.toLowerCase() ||
113
116
  !chunk0Code.startsWith("0x00") || chunk0Code.length <= 4 || (chunk0Code.length - 2) / 2 > 24576 ||
114
117
  (chunk1 !== zeroAddress && (!chunk1Code.startsWith("0x00") || chunk1Code.length <= 4 || (chunk1Code.length - 2) / 2 > 24576 || (chunk0Code.length - 2) / 2 !== 24576)) ||
@@ -117,17 +120,10 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
117
120
  const creationCode = concatHex([`0x${chunk0Code.slice(4)}`, chunk1 === zeroAddress ? "0x" : `0x${chunk1Code.slice(4)}`]);
118
121
  if ((creationCode.length - 2) / 2 + (shared ? 96 : 576) > 49152 || creationCodeHash === zeroHash ||
119
122
  creationCodeHash.toLowerCase() !== g.hookCreationCodeHash.toLowerCase() || keccak256(creationCode).toLowerCase() !== creationCodeHash.toLowerCase() ||
120
- hashLaunchDependencies({ chainId, core: orchestrator, registry, registrar: adapter.implementation, graph: g }).toLowerCase() !== digest.toLowerCase())
123
+ hashLaunchDependencies({ chainId, core: orchestrator, registry, registrar: adapter.implementation, graph: g }).toLowerCase() !== registration.dependencyDigest.toLowerCase())
121
124
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed creation artifact, constructor bound or graph digest differs from admission");
122
- if (shared) {
123
- const [rootCode, recordedHash, remotePrediction, dependencies, requiredFlags, allFlags] = await Promise.all([
124
- readDependencyCode(client, g.hookRoot, block),
125
- readLifecycleContract(client, g.hookDeployer, deployerAbi, "deployedCodeHash", [g.hookRoot], block),
126
- readLifecycleContract(client, g.hookDeployer, sharedHookDeployerV1Abi, "predict", [g.manager, adapter.implementation, g.oracleFactory, g.sharedHookSalt], block),
127
- Promise.all(["registrar", "poolManager", "oracleFactory"].map((getter) => readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, getter, [], block))),
128
- readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "REQUIRED_HOOK_FLAGS", [], block),
129
- readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "ALL_HOOK_MASK", [], block),
130
- ]);
125
+ if (sharedRoot !== undefined) {
126
+ const [rootCode, recordedHash, remotePrediction, dependencies, requiredFlags, allFlags] = sharedRoot;
131
127
  const initCodeHash = keccak256(concatHex([creationCode, encodeAbiParameters([{ type: "address" }, { type: "address" }, { type: "address" }], [g.manager, adapter.implementation, g.oracleFactory])]));
132
128
  const prediction = predictPoolBoundHookAddress({ deployer: g.hookDeployer, initCodeHash, salt: g.sharedHookSalt });
133
129
  if (recordedHash === zeroHash || recordedHash.toLowerCase() !== g.hookRuntimeCodeHash.toLowerCase() || keccak256(rootCode).toLowerCase() !== recordedHash.toLowerCase() ||
@@ -158,72 +154,82 @@ export async function validateV4LifecycleOracle(options) {
158
154
  }
159
155
  export async function readLifecycleProfiles(options, pinnedBlock) {
160
156
  return withLifecycleReadClient(options.client, (client) => lifecycleStage(client, "profile.certification", async () => {
161
- const [block, chainIdValue] = await Promise.all([
162
- pinnedBlock ?? readLifecycleBlock(client),
163
- lifecycleRpc(client, "eth_chainId"),
164
- ]);
165
- const chainId = rpcQuantity(chainIdValue, "chain ID");
166
- const registry = await readLifecycleContract(client, options.orchestrator, launchLifecycleAbi, "registry", [], block);
167
- const offset = options.offset ?? 0n;
168
- const limit = options.limit ?? 100n;
169
- if (offset < 0n || limit < 0n || limit > 100n)
170
- throw new LifecyclePlanningError("INVALID_PROFILE_PAGE", "Registry profile pages require unsigned offset and limit at most 100");
171
- const [authority, ids] = await Promise.all([
172
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "core", [], block),
173
- options.profileIds ?? readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileIds", [offset, limit], block),
174
- ]);
175
- if (authority.toLowerCase() !== options.orchestrator.toLowerCase())
176
- throw new LifecyclePlanningError("REGISTRY_BINDING", "Registry is not bound to the selected lifecycle orchestrator");
177
- let protocolMaximumDeveloperFeeBpsPromise;
178
- const readProtocolMaximumDeveloperFeeBps = () => protocolMaximumDeveloperFeeBpsPromise ??=
179
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "protocolMaximumDeveloperFeeBps", [], block);
180
- const profiles = await Promise.all(ids.map(async (id) => {
181
- const registration = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "profile", [id], block);
182
- const adapter = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "adapter", [registration.adapterId], block);
183
- const schema = registration.configSchema.toLowerCase();
184
- const venueKind = schema === V4_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() || schema === V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() ? "uniswap-v4" : schema === ABYSS_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() ? "abyss" : "unknown";
185
- let topology = { hookTopology: 0, configVersion: adapter.configVersion, hookDeployer: zeroAddress, hookCreationCodeHash: zeroHash };
186
- let envelope;
187
- let developerTerms;
188
- let protocolMaximumDeveloperFeeBps;
189
- let admitted = false;
190
- let reason;
191
- try {
192
- if (venueKind === "unknown")
193
- throw new LifecyclePlanningError("UNSUPPORTED_SCHEMA", `Unsupported lifecycle config schema ${registration.configSchema}`);
194
- const [recordedTopology, reviewed] = await Promise.all([
195
- readLifecycleProfileTopology(client, registry, id, block),
196
- venueKind === "uniswap-v4" ? Promise.all([
197
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileEnvelope", [id], block),
198
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "developerTerms", [id], block),
199
- readProtocolMaximumDeveloperFeeBps(),
200
- ]) : undefined,
157
+ const chainIdPromise = lifecycleRpc(client, "eth_chainId").then((value) => rpcQuantity(value, "chain ID"));
158
+ // Block-bound discovery does not depend on chain identity. Join both branches
159
+ // immediately so a failed chain read cannot become detached or a profile refusal.
160
+ const [chainId, { block, profiles }] = await Promise.all([
161
+ chainIdPromise,
162
+ (async () => {
163
+ const block = pinnedBlock ?? await readLifecycleBlock(client);
164
+ const registry = await readLifecycleContract(client, options.orchestrator, launchLifecycleAbi, "registry", [], block);
165
+ const offset = options.offset ?? 0n;
166
+ const limit = options.limit ?? 100n;
167
+ if (offset < 0n || limit < 0n || limit > 100n)
168
+ throw new LifecyclePlanningError("INVALID_PROFILE_PAGE", "Registry profile pages require unsigned offset and limit at most 100");
169
+ let protocolMaximumDeveloperFeeBpsPromise;
170
+ const readProtocolMaximumDeveloperFeeBps = () => protocolMaximumDeveloperFeeBpsPromise ??=
171
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "protocolMaximumDeveloperFeeBps", [], block);
172
+ const readProfile = async (id) => {
173
+ const registration = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "profile", [id], block);
174
+ const schema = registration.configSchema.toLowerCase();
175
+ const venueKind = schema === V4_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() || schema === V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() ? "uniswap-v4" : schema === ABYSS_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() ? "abyss" : "unknown";
176
+ const [adapter, certification] = await Promise.all([
177
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "adapter", [registration.adapterId], block),
178
+ venueKind === "unknown" ? undefined : Promise.all([
179
+ readLifecycleProfileTopology(client, registry, id, block),
180
+ venueKind === "uniswap-v4" ? Promise.all([
181
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileEnvelope", [id], block),
182
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "developerTerms", [id], block),
183
+ readProtocolMaximumDeveloperFeeBps(),
184
+ ]) : undefined,
185
+ ]).then((values) => ({ values }), (failure) => ({ failure })),
186
+ ]);
187
+ const chainId = await chainIdPromise;
188
+ let topology = { hookTopology: 0, configVersion: adapter.configVersion, hookDeployer: zeroAddress, hookCreationCodeHash: zeroHash };
189
+ let envelope;
190
+ let developerTerms;
191
+ let protocolMaximumDeveloperFeeBps;
192
+ let admitted = false;
193
+ let reason;
194
+ try {
195
+ if (certification === undefined)
196
+ throw new LifecyclePlanningError("UNSUPPORTED_SCHEMA", `Unsupported lifecycle config schema ${registration.configSchema}`);
197
+ if ("failure" in certification)
198
+ throw certification.failure;
199
+ const [recordedTopology, reviewed] = certification.values;
200
+ topology = recordedTopology;
201
+ if (reviewed !== undefined) {
202
+ envelope = reviewed[0];
203
+ protocolMaximumDeveloperFeeBps = reviewed[2];
204
+ const [implementation, beneficiary, maximumDeveloperFeeBps, termsDigest, enabled] = reviewed[1];
205
+ developerTerms = { adapter: implementation, beneficiary, maximumDeveloperFeeBps, termsDigest, enabled };
206
+ if (implementation.toLowerCase() !== adapter.implementation.toLowerCase() || beneficiary.toLowerCase() !== envelope.beneficiary.toLowerCase() ||
207
+ termsDigest.toLowerCase() !== envelope.termsDigest.toLowerCase() || maximumDeveloperFeeBps !== envelope.maximumDeveloperFeeBps ||
208
+ maximumDeveloperFeeBps > reviewed[2])
209
+ throw new LifecyclePlanningError("PROFILE_TERMS", "Registry developer terms differ from the frozen reviewed envelope");
210
+ }
211
+ await certifyLifecycleProfile(client, options.orchestrator, registry, id, registration, adapter, topology, envelope, block, chainId);
212
+ if (developerTerms !== undefined && !developerTerms.enabled)
213
+ throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
214
+ admitted = true;
215
+ }
216
+ catch (failure) {
217
+ reason = failure instanceof Error ? failure.message : String(failure);
218
+ }
219
+ return { id, registration, adapter, topology, envelope, developerTerms, protocolMaximumDeveloperFeeBps: venueKind === "uniswap-v4" ? protocolMaximumDeveloperFeeBps : undefined, admitted, reason, venueKind };
220
+ };
221
+ const [authority, profiles] = await Promise.all([
222
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "core", [], block),
223
+ Promise.resolve(options.profileIds ?? readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileIds", [offset, limit], block)).then((ids) => Promise.all(ids.map(readProfile))),
201
224
  ]);
202
- topology = recordedTopology;
203
- if (reviewed !== undefined) {
204
- envelope = reviewed[0];
205
- protocolMaximumDeveloperFeeBps = reviewed[2];
206
- const [implementation, beneficiary, maximumDeveloperFeeBps, termsDigest, enabled] = reviewed[1];
207
- developerTerms = { adapter: implementation, beneficiary, maximumDeveloperFeeBps, termsDigest, enabled };
208
- if (implementation.toLowerCase() !== adapter.implementation.toLowerCase() || beneficiary.toLowerCase() !== envelope.beneficiary.toLowerCase() ||
209
- termsDigest.toLowerCase() !== envelope.termsDigest.toLowerCase() || maximumDeveloperFeeBps !== envelope.maximumDeveloperFeeBps ||
210
- maximumDeveloperFeeBps > reviewed[2])
211
- throw new LifecyclePlanningError("PROFILE_TERMS", "Registry developer terms differ from the frozen reviewed envelope");
212
- }
213
- await certifyLifecycleProfile(client, options.orchestrator, registry, id, registration, adapter, topology, envelope, block, chainId);
214
- const eligible = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "requireEligible", [registration.adapterId, id, topology.configVersion, LIFECYCLE_REQUIRED_CAPABILITIES], block);
215
- if (eligible.toLowerCase() !== adapter.implementation.toLowerCase() || (developerTerms !== undefined && !developerTerms.enabled))
216
- throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
217
- admitted = true;
218
- }
219
- catch (failure) {
220
- reason = failure instanceof Error ? failure.message : String(failure);
221
- }
222
- return { id, registration, adapter, topology, envelope, developerTerms, protocolMaximumDeveloperFeeBps: venueKind === "uniswap-v4" ? protocolMaximumDeveloperFeeBps : undefined, admitted, reason, venueKind };
223
- }));
224
- // A required V4 cap read still rejects the invocation on failure; Abyss has no developer-fee terms.
225
- if (protocolMaximumDeveloperFeeBpsPromise !== undefined)
226
- await protocolMaximumDeveloperFeeBpsPromise;
225
+ if (authority.toLowerCase() !== options.orchestrator.toLowerCase())
226
+ throw new LifecyclePlanningError("REGISTRY_BINDING", "Registry is not bound to the selected lifecycle orchestrator");
227
+ // A required V4 cap read still rejects the invocation on failure; Abyss has no developer-fee terms.
228
+ if (protocolMaximumDeveloperFeeBpsPromise !== undefined)
229
+ await protocolMaximumDeveloperFeeBpsPromise;
230
+ return { block, profiles };
231
+ })(),
232
+ ]);
227
233
  if (pinnedBlock === undefined)
228
234
  await assertLifecycleBlock(client, block, chainId);
229
235
  return profiles;
@@ -450,8 +456,11 @@ async function readLaunchProgressAtBlock(options, client, block, checkBlock) {
450
456
  if (!Number.isSafeInteger(confirmationDepth) || confirmationDepth < 1)
451
457
  throw new LifecyclePlanningError("INVALID_CONFIRMATIONS", "Confirmation depth must be a positive integer");
452
458
  const confirmedNumber = block.number >= BigInt(confirmationDepth - 1) ? block.number - BigInt(confirmationDepth - 1) : 0n;
453
- const confirmedBlock = confirmedNumber === block.number ? block : await readLifecycleBlock(client, toHex(confirmedNumber));
454
- const chainId = rpcQuantity(await lifecycleRpc(client, "eth_chainId"), "chain ID");
459
+ const [confirmedBlock, chainIdValue] = await Promise.all([
460
+ confirmedNumber === block.number ? block : readLifecycleBlock(client, toHex(confirmedNumber)),
461
+ lifecycleRpc(client, "eth_chainId"),
462
+ ]);
463
+ const chainId = rpcQuantity(chainIdValue, "chain ID");
455
464
  if (chainId !== planned.plan.chainId)
456
465
  throw new LifecyclePlanningError("CHAIN_MISMATCH", "RPC chain differs from the committed launch");
457
466
  if (planned.account.toLowerCase() !== planned.plan.creator.toLowerCase())
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lifecycle/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lifecycle/progress.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
1
  import { type LifecycleBlock, type LifecycleSimulation, type LifecycleTransaction, type SimulateLaunchPlanOptions } from "./types.js";
2
+ /** Internal one-shot continuation. Only SDK reads can produce its context; callers
3
+ * cannot supply resolved policy or account/chain observations as authority. */
4
+ export declare function prepareLaunchSimulation(options: SimulateLaunchPlanOptions, block: LifecycleBlock, hasTransactions?: boolean): (transactions: readonly LifecycleTransaction[]) => Promise<LifecycleSimulation>;
2
5
  export declare function simulateLaunchTransactions(options: SimulateLaunchPlanOptions, transactions: readonly LifecycleTransaction[], pinnedBlock?: LifecycleBlock): Promise<LifecycleSimulation>;
3
6
  //# sourceMappingURL=simulation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,KAAK,cAAc,EAAwD,KAAK,mBAAmB,EAAgC,KAAK,oBAAoB,EAAoD,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAsOlU,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqK9L"}
1
+ {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,KAAK,cAAc,EAA0G,KAAK,mBAAmB,EAAgC,KAAK,oBAAoB,EAAoD,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAuOpX;+EAC+E;AAC/E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,UAAO,GAAG,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,KAAK,OAAO,CAAC,mBAAmB,CAAC,CA2B1M;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAK9L"}