@aephia/atlas-kit 0.6.0-next.2 → 0.6.0-next.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/cargo/actions/deposit.d.ts +1 -9
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +54 -42
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +1 -0
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +1 -0
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +14 -0
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-context.js +12 -0
- package/dist/cargo/actions/wallet-context.js.map +1 -0
- package/dist/cargo/actions/wallet-token.d.ts +1 -1
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +1 -9
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts +46 -0
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -0
- package/dist/cargo/actions/withdrawal.js +269 -0
- package/dist/cargo/actions/withdrawal.js.map +1 -0
- package/dist/client/errors.d.ts +4 -0
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/dist/factions/actions/index.d.ts +36 -0
- package/dist/factions/actions/index.d.ts.map +1 -0
- package/dist/factions/actions/index.js +136 -0
- package/dist/factions/actions/index.js.map +1 -0
- package/dist/factions/index.d.ts +1 -0
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +1 -0
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +46 -0
- package/dist/factions/profile-faction.d.ts.map +1 -0
- package/dist/factions/profile-faction.js +51 -0
- package/dist/factions/profile-faction.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +1 -0
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +1 -0
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts +48 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -0
- package/dist/fleets/actions/ship-import.js +309 -0
- package/dist/fleets/actions/ship-import.js.map +1 -0
- package/dist/identity/actions/create-profile.d.ts +56 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -0
- package/dist/identity/actions/create-profile.js +139 -0
- package/dist/identity/actions/create-profile.js.map +1 -0
- package/dist/identity/actions/index.d.ts +38 -0
- package/dist/identity/actions/index.d.ts.map +1 -0
- package/dist/identity/actions/index.js +109 -0
- package/dist/identity/actions/index.js.map +1 -0
- package/dist/identity/index.d.ts +15 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +15 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +124 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +171 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-registration.d.ts +9 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -0
- package/dist/internal/c4/character-registration.js +21 -0
- package/dist/internal/c4/character-registration.js.map +1 -0
- package/dist/internal/c4/faction-enrollment.d.ts +6 -0
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/c4/faction-enrollment.js +8 -0
- package/dist/internal/c4/faction-enrollment.js.map +1 -0
- package/dist/internal/c4/game.d.ts +16 -2
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +38 -4
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -7
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +2 -23
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/legacy-cargo-config.d.ts +21 -0
- package/dist/internal/c4/legacy-cargo-config.d.ts.map +1 -0
- package/dist/internal/c4/legacy-cargo-config.js +27 -0
- package/dist/internal/c4/legacy-cargo-config.js.map +1 -0
- package/dist/internal/c4/profile-creation.d.ts +17 -0
- package/dist/internal/c4/profile-creation.d.ts.map +1 -0
- package/dist/internal/c4/profile-creation.js +36 -0
- package/dist/internal/c4/profile-creation.js.map +1 -0
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +2 -0
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +14 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +80 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.d.ts +3 -0
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +24 -0
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -0
- package/dist/internal/planning/account-state.d.ts +4 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -0
- package/dist/internal/planning/account-state.js +11 -0
- package/dist/internal/planning/account-state.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +21 -0
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +67 -0
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/faction-enrollment.d.ts +12 -0
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/planning/faction-enrollment.js +67 -0
- package/dist/internal/planning/faction-enrollment.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +10 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -0
- package/dist/internal/planning/ship-token.js +47 -0
- package/dist/internal/planning/ship-token.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- package/dist/mining/actions/index.d.ts +84 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +292 -0
- package/dist/mining/actions/index.js.map +1 -0
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +113 -9
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +210 -5
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +271 -36
- package/dist/planning/index.js.map +1 -1
- package/dist/registry/cargo.d.ts +18 -2
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +48 -7
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/onboarding.d.ts +6 -0
- package/dist/registry/onboarding.d.ts.map +1 -0
- package/dist/registry/onboarding.js +24 -0
- package/dist/registry/onboarding.js.map +1 -0
- package/dist/registry/ships.d.ts +10 -0
- package/dist/registry/ships.d.ts.map +1 -0
- package/dist/registry/ships.js +35 -0
- package/dist/registry/ships.js.map +1 -0
- package/package.json +13 -1
package/dist/planning/index.js
CHANGED
|
@@ -159,9 +159,151 @@ function normalizeSemanticFact(value, field) {
|
|
|
159
159
|
}
|
|
160
160
|
return invalid(`${field}.kind`, semantic.kind, 'one of exclusive, requires, invalidates, or transition');
|
|
161
161
|
}
|
|
162
|
-
function normalizePrecondition(value, field,
|
|
162
|
+
function normalizePrecondition(value, field, version = 9) {
|
|
163
163
|
const precondition = readRecord(value, field);
|
|
164
|
-
if (precondition.kind === 'account-absent'
|
|
164
|
+
if (version >= 8 && precondition.kind === 'system-account-or-absent') {
|
|
165
|
+
assertKeys(precondition, field, ['kind', 'address', 'describes']);
|
|
166
|
+
return Object.freeze({
|
|
167
|
+
kind: 'system-account-or-absent',
|
|
168
|
+
address: readAddress(precondition.address, `${field}.address`),
|
|
169
|
+
describes: readString(precondition.describes, `${field}.describes`),
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
if (version >= 7 && precondition.kind === 'token-mint') {
|
|
173
|
+
assertKeys(precondition, field, [
|
|
174
|
+
'kind',
|
|
175
|
+
'address',
|
|
176
|
+
'decimals',
|
|
177
|
+
'describes',
|
|
178
|
+
]);
|
|
179
|
+
const decimals = precondition.decimals;
|
|
180
|
+
if (typeof decimals !== 'number' ||
|
|
181
|
+
!Number.isInteger(decimals) ||
|
|
182
|
+
decimals < 0 ||
|
|
183
|
+
decimals > 255)
|
|
184
|
+
invalid(`${field}.decimals`, decimals, 'an unsigned u8 mint decimals value');
|
|
185
|
+
return Object.freeze({
|
|
186
|
+
kind: 'token-mint',
|
|
187
|
+
address: readAddress(precondition.address, `${field}.address`),
|
|
188
|
+
decimals,
|
|
189
|
+
describes: readString(precondition.describes, `${field}.describes`),
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (version >= 6 && precondition.kind === 'game-ship-config') {
|
|
193
|
+
assertKeys(precondition, field, [
|
|
194
|
+
'kind',
|
|
195
|
+
'address',
|
|
196
|
+
'shipId',
|
|
197
|
+
'configHash',
|
|
198
|
+
'describes',
|
|
199
|
+
]);
|
|
200
|
+
const id = precondition.shipId;
|
|
201
|
+
if (typeof id !== 'number' || !Number.isInteger(id) || id < 0 || id > 65535)
|
|
202
|
+
invalid(`${field}.shipId`, id, 'a u16 ship configuration ID');
|
|
203
|
+
return Object.freeze({
|
|
204
|
+
kind: 'game-ship-config',
|
|
205
|
+
address: readAddress(precondition.address, `${field}.address`),
|
|
206
|
+
shipId: id,
|
|
207
|
+
configHash: readDataHash(precondition.configHash, `${field}.configHash`),
|
|
208
|
+
describes: readString(precondition.describes, `${field}.describes`),
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
if (version >= 5 && precondition.kind === 'game-account') {
|
|
212
|
+
assertKeys(precondition, field, ['kind', 'address', 'describes']);
|
|
213
|
+
return Object.freeze({
|
|
214
|
+
kind: 'game-account',
|
|
215
|
+
address: readAddress(precondition.address, `${field}.address`),
|
|
216
|
+
describes: readString(precondition.describes, `${field}.describes`),
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
if ((version >= 9 && precondition.kind === 'game-cargo-bytes-config') ||
|
|
220
|
+
(version >= 4 &&
|
|
221
|
+
['token-account', 'game-cargo-config', 'cargo-cache'].includes(String(precondition.kind)))) {
|
|
222
|
+
const base = {
|
|
223
|
+
address: readAddress(precondition.address, `${field}.address`),
|
|
224
|
+
describes: readString(precondition.describes, `${field}.describes`),
|
|
225
|
+
};
|
|
226
|
+
if (precondition.kind === 'token-account') {
|
|
227
|
+
assertKeys(precondition, field, [
|
|
228
|
+
'kind',
|
|
229
|
+
'address',
|
|
230
|
+
'mint',
|
|
231
|
+
'owner',
|
|
232
|
+
'minimumBalance',
|
|
233
|
+
'describes',
|
|
234
|
+
]);
|
|
235
|
+
const amount = precondition.minimumBalance;
|
|
236
|
+
if (typeof amount !== 'bigint' ||
|
|
237
|
+
amount < 0n ||
|
|
238
|
+
amount > (1n << 64n) - 1n)
|
|
239
|
+
invalid(`${field}.minimumBalance`, amount, 'an unsigned u64 bigint');
|
|
240
|
+
return Object.freeze({
|
|
241
|
+
...base,
|
|
242
|
+
kind: 'token-account',
|
|
243
|
+
mint: readAddress(precondition.mint, `${field}.mint`),
|
|
244
|
+
owner: readAddress(precondition.owner, `${field}.owner`),
|
|
245
|
+
minimumBalance: amount,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
if (precondition.kind === 'game-cargo-config' ||
|
|
249
|
+
precondition.kind === 'game-cargo-bytes-config') {
|
|
250
|
+
assertKeys(precondition, field, [
|
|
251
|
+
'kind',
|
|
252
|
+
'address',
|
|
253
|
+
'cargoId',
|
|
254
|
+
'configHash',
|
|
255
|
+
'describes',
|
|
256
|
+
]);
|
|
257
|
+
const id = precondition.cargoId;
|
|
258
|
+
if (typeof id !== 'number' ||
|
|
259
|
+
!Number.isInteger(id) ||
|
|
260
|
+
id < 0 ||
|
|
261
|
+
id > 65535)
|
|
262
|
+
invalid(`${field}.cargoId`, id, 'a u16 cargo ID');
|
|
263
|
+
return Object.freeze({
|
|
264
|
+
...base,
|
|
265
|
+
kind: precondition.kind,
|
|
266
|
+
cargoId: id,
|
|
267
|
+
configHash: readDataHash(precondition.configHash, `${field}.configHash`),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
assertKeys(precondition, field, [
|
|
271
|
+
'kind',
|
|
272
|
+
'address',
|
|
273
|
+
'game',
|
|
274
|
+
'bump',
|
|
275
|
+
'describes',
|
|
276
|
+
]);
|
|
277
|
+
const bump = precondition.bump;
|
|
278
|
+
if (typeof bump !== 'number' ||
|
|
279
|
+
!Number.isInteger(bump) ||
|
|
280
|
+
bump < 0 ||
|
|
281
|
+
bump > 255)
|
|
282
|
+
invalid(`${field}.bump`, bump, 'a u8 PDA bump');
|
|
283
|
+
return Object.freeze({
|
|
284
|
+
...base,
|
|
285
|
+
kind: 'cargo-cache',
|
|
286
|
+
game: readAddress(precondition.game, `${field}.game`),
|
|
287
|
+
bump,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
if (precondition.kind === 'token-account-or-absent' && version >= 3) {
|
|
291
|
+
assertKeys(precondition, field, [
|
|
292
|
+
'kind',
|
|
293
|
+
'address',
|
|
294
|
+
'mint',
|
|
295
|
+
'owner',
|
|
296
|
+
'describes',
|
|
297
|
+
]);
|
|
298
|
+
return Object.freeze({
|
|
299
|
+
kind: 'token-account-or-absent',
|
|
300
|
+
address: readAddress(precondition.address, `${field}.address`),
|
|
301
|
+
mint: readAddress(precondition.mint, `${field}.mint`),
|
|
302
|
+
owner: readAddress(precondition.owner, `${field}.owner`),
|
|
303
|
+
describes: readString(precondition.describes, `${field}.describes`),
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
if (precondition.kind === 'account-absent' && version !== 1) {
|
|
165
307
|
assertKeys(precondition, field, ['kind', 'address', 'describes']);
|
|
166
308
|
return Object.freeze({
|
|
167
309
|
kind: 'account-absent',
|
|
@@ -170,9 +312,23 @@ function normalizePrecondition(value, field, allowAbsent = true) {
|
|
|
170
312
|
});
|
|
171
313
|
}
|
|
172
314
|
if (precondition.kind !== 'account-state') {
|
|
173
|
-
invalid(`${field}.kind`, precondition.kind,
|
|
174
|
-
? 'one of account-state or account-absent'
|
|
175
|
-
:
|
|
315
|
+
invalid(`${field}.kind`, precondition.kind, version === 9
|
|
316
|
+
? 'one of account-state, account-absent, system-account-or-absent, token-account-or-absent, token-account, token-mint, game-cargo-config, game-cargo-bytes-config, cargo-cache, game-account, or game-ship-config'
|
|
317
|
+
: version === 8
|
|
318
|
+
? 'one of account-state, account-absent, system-account-or-absent, token-account-or-absent, token-account, token-mint, game-cargo-config, cargo-cache, game-account, or game-ship-config'
|
|
319
|
+
: version === 7
|
|
320
|
+
? 'one of account-state, account-absent, token-account-or-absent, token-account, token-mint, game-cargo-config, cargo-cache, game-account, or game-ship-config'
|
|
321
|
+
: version === 6
|
|
322
|
+
? 'one of account-state, account-absent, token-account-or-absent, token-account, game-cargo-config, cargo-cache, game-account, or game-ship-config'
|
|
323
|
+
: version === 5
|
|
324
|
+
? 'one of account-state, account-absent, token-account-or-absent, token-account, game-cargo-config, cargo-cache, or game-account'
|
|
325
|
+
: version === 4
|
|
326
|
+
? 'one of account-state, account-absent, token-account-or-absent, token-account, game-cargo-config, or cargo-cache'
|
|
327
|
+
: version === 3
|
|
328
|
+
? 'one of account-state, account-absent, or token-account-or-absent'
|
|
329
|
+
: version === 2
|
|
330
|
+
? 'one of account-state or account-absent'
|
|
331
|
+
: 'the value account-state');
|
|
176
332
|
}
|
|
177
333
|
assertKeys(precondition, field, ['kind', 'address', 'dataHash', 'describes']);
|
|
178
334
|
return Object.freeze({
|
|
@@ -216,40 +372,100 @@ function planToJSON(plan) {
|
|
|
216
372
|
affected: [...plan.affected],
|
|
217
373
|
requiredSigners: [...plan.requiredSigners],
|
|
218
374
|
};
|
|
375
|
+
const steps = plan.steps.map((step) => ({
|
|
376
|
+
instruction: instructionToJSON(step.instruction),
|
|
377
|
+
describes: step.describes,
|
|
378
|
+
...((step.semantics?.length ?? 0) > 0
|
|
379
|
+
? { semantics: step.semantics.map((semantic) => ({ ...semantic })) }
|
|
380
|
+
: {}),
|
|
381
|
+
signers: [...step.signers],
|
|
382
|
+
}));
|
|
383
|
+
if (plan.preconditions.some(({ kind }) => kind === 'game-cargo-bytes-config')) {
|
|
384
|
+
return deepFreeze({
|
|
385
|
+
v: 9,
|
|
386
|
+
...common,
|
|
387
|
+
steps,
|
|
388
|
+
preconditions: plan.preconditions.map((guard) => guard.kind === 'token-account'
|
|
389
|
+
? { ...guard, minimumBalance: String(guard.minimumBalance) }
|
|
390
|
+
: { ...guard }),
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
if (plan.preconditions.some(({ kind }) => kind === 'system-account-or-absent')) {
|
|
394
|
+
return deepFreeze({
|
|
395
|
+
v: 8,
|
|
396
|
+
...common,
|
|
397
|
+
steps,
|
|
398
|
+
preconditions: plan.preconditions.map((guard) => guard.kind === 'token-account'
|
|
399
|
+
? { ...guard, minimumBalance: String(guard.minimumBalance) }
|
|
400
|
+
: { ...guard }),
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
if (plan.preconditions.some(({ kind }) => kind === 'token-mint')) {
|
|
404
|
+
return deepFreeze({
|
|
405
|
+
v: 7,
|
|
406
|
+
...common,
|
|
407
|
+
steps,
|
|
408
|
+
preconditions: plan.preconditions.map((guard) => guard.kind === 'token-account'
|
|
409
|
+
? { ...guard, minimumBalance: String(guard.minimumBalance) }
|
|
410
|
+
: { ...guard }),
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
if (plan.preconditions.some(({ kind }) => kind === 'game-ship-config')) {
|
|
414
|
+
return deepFreeze({
|
|
415
|
+
v: 6,
|
|
416
|
+
...common,
|
|
417
|
+
steps,
|
|
418
|
+
preconditions: plan.preconditions.map((guard) => guard.kind === 'token-account'
|
|
419
|
+
? { ...guard, minimumBalance: String(guard.minimumBalance) }
|
|
420
|
+
: { ...guard }),
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
if (plan.preconditions.some(({ kind }) => kind === 'game-account')) {
|
|
424
|
+
return deepFreeze({
|
|
425
|
+
v: 5,
|
|
426
|
+
...common,
|
|
427
|
+
steps,
|
|
428
|
+
preconditions: plan.preconditions.map((guard) => guard.kind === 'token-account'
|
|
429
|
+
? { ...guard, minimumBalance: String(guard.minimumBalance) }
|
|
430
|
+
: { ...guard }),
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
if (plan.preconditions.some(({ kind }) => kind === 'token-account' ||
|
|
434
|
+
kind === 'game-cargo-config' ||
|
|
435
|
+
kind === 'cargo-cache')) {
|
|
436
|
+
return deepFreeze({
|
|
437
|
+
v: 4,
|
|
438
|
+
...common,
|
|
439
|
+
steps,
|
|
440
|
+
preconditions: plan.preconditions.map((guard) => guard.kind === 'token-account'
|
|
441
|
+
? { ...guard, minimumBalance: String(guard.minimumBalance) }
|
|
442
|
+
: { ...guard }),
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
if (plan.preconditions.some(({ kind }) => kind === 'token-account-or-absent')) {
|
|
446
|
+
return deepFreeze({
|
|
447
|
+
v: 3,
|
|
448
|
+
...common,
|
|
449
|
+
steps,
|
|
450
|
+
preconditions: plan.preconditions.map((guard) => ({
|
|
451
|
+
...guard,
|
|
452
|
+
})),
|
|
453
|
+
});
|
|
454
|
+
}
|
|
219
455
|
if (hasSemantics || hasAbsentPrecondition) {
|
|
220
456
|
return deepFreeze({
|
|
221
457
|
v: 2,
|
|
222
458
|
...common,
|
|
223
|
-
steps
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
...((step.semantics?.length ?? 0) > 0
|
|
227
|
-
? { semantics: step.semantics.map((semantic) => ({ ...semantic })) }
|
|
228
|
-
: {}),
|
|
229
|
-
signers: [...step.signers],
|
|
459
|
+
steps,
|
|
460
|
+
preconditions: plan.preconditions.map((guard) => ({
|
|
461
|
+
...guard,
|
|
230
462
|
})),
|
|
231
|
-
preconditions: plan.preconditions.map((precondition) => precondition.kind === 'account-state'
|
|
232
|
-
? {
|
|
233
|
-
kind: precondition.kind,
|
|
234
|
-
address: precondition.address,
|
|
235
|
-
dataHash: precondition.dataHash,
|
|
236
|
-
describes: precondition.describes,
|
|
237
|
-
}
|
|
238
|
-
: {
|
|
239
|
-
kind: precondition.kind,
|
|
240
|
-
address: precondition.address,
|
|
241
|
-
describes: precondition.describes,
|
|
242
|
-
}),
|
|
243
463
|
});
|
|
244
464
|
}
|
|
245
465
|
return deepFreeze({
|
|
246
466
|
v: 1,
|
|
247
467
|
...common,
|
|
248
|
-
steps
|
|
249
|
-
instruction: instructionToJSON(step.instruction),
|
|
250
|
-
describes: step.describes,
|
|
251
|
-
signers: [...step.signers],
|
|
252
|
-
})),
|
|
468
|
+
steps,
|
|
253
469
|
preconditions: plan.preconditions.map((precondition) => ({
|
|
254
470
|
kind: 'account-state',
|
|
255
471
|
address: precondition.address,
|
|
@@ -323,13 +539,13 @@ function sameAddresses(actual, encoded) {
|
|
|
323
539
|
*
|
|
324
540
|
* @example
|
|
325
541
|
* ```ts
|
|
326
|
-
* declare const wire: PlanJsonV1 | PlanJsonV2;
|
|
542
|
+
* declare const wire: PlanJsonV1 | PlanJsonV2 | PlanJsonV3 | PlanJsonV4 | PlanJsonV5 | PlanJsonV6 | PlanJsonV7 | PlanJsonV8 | PlanJsonV9;
|
|
327
543
|
* const plan = planFromJSON(wire);
|
|
328
544
|
* console.log(plan.describe());
|
|
329
545
|
* ```
|
|
330
546
|
*/
|
|
331
547
|
export function planFromJSON(json) {
|
|
332
|
-
const value = readRecord(json, 'planJson');
|
|
548
|
+
const value = { ...readRecord(json, 'planJson') };
|
|
333
549
|
assertKeys(value, 'planJson', [
|
|
334
550
|
'v',
|
|
335
551
|
'kind',
|
|
@@ -339,18 +555,37 @@ export function planFromJSON(json) {
|
|
|
339
555
|
'affected',
|
|
340
556
|
'requiredSigners',
|
|
341
557
|
]);
|
|
342
|
-
if (value.v !== 1 &&
|
|
343
|
-
|
|
558
|
+
if (value.v !== 1 &&
|
|
559
|
+
value.v !== 2 &&
|
|
560
|
+
value.v !== 3 &&
|
|
561
|
+
value.v !== 4 &&
|
|
562
|
+
value.v !== 5 &&
|
|
563
|
+
value.v !== 6 &&
|
|
564
|
+
value.v !== 7 &&
|
|
565
|
+
value.v !== 8 &&
|
|
566
|
+
value.v !== 9) {
|
|
567
|
+
invalid('planJson.v', value.v, 'the Plan wire version 1, 2, 3, 4, 5, 6, 7, 8, or 9');
|
|
344
568
|
}
|
|
345
569
|
const version = value.v;
|
|
570
|
+
if (version >= 4 && Array.isArray(value.preconditions)) {
|
|
571
|
+
value.preconditions = value.preconditions.map((entry) => {
|
|
572
|
+
const guard = readRecord(entry, 'precondition');
|
|
573
|
+
if (guard.kind !== 'token-account')
|
|
574
|
+
return guard;
|
|
575
|
+
if (typeof guard.minimumBalance !== 'string' ||
|
|
576
|
+
!/^(0|[1-9][0-9]*)$/.test(guard.minimumBalance))
|
|
577
|
+
invalid('minimumBalance', guard.minimumBalance, 'a canonical unsigned decimal string');
|
|
578
|
+
return { ...guard, minimumBalance: BigInt(guard.minimumBalance) };
|
|
579
|
+
});
|
|
580
|
+
}
|
|
346
581
|
const steps = readArray(value.steps, 'planJson.steps').map((candidate, index) => {
|
|
347
582
|
const field = `planJson.steps[${String(index)}]`;
|
|
348
583
|
const step = readRecord(candidate, field);
|
|
349
|
-
assertKeys(step, field, ['instruction', 'describes', 'signers'], version
|
|
584
|
+
assertKeys(step, field, ['instruction', 'describes', 'signers'], version !== 1 ? ['semantics'] : []);
|
|
350
585
|
return {
|
|
351
586
|
instruction: readWireInstruction(step.instruction, `${field}.instruction`),
|
|
352
587
|
describes: readString(step.describes, `${field}.describes`),
|
|
353
|
-
...(version
|
|
588
|
+
...(version !== 1 && step.semantics !== undefined
|
|
354
589
|
? {
|
|
355
590
|
semantics: readArray(step.semantics, `${field}.semantics`).map((semantic, semanticIndex) => normalizeSemanticFact(semantic, `${field}.semantics[${String(semanticIndex)}]`)),
|
|
356
591
|
}
|
|
@@ -358,7 +593,7 @@ export function planFromJSON(json) {
|
|
|
358
593
|
signers: readArray(step.signers, `${field}.signers`).map((signer, signerIndex) => readAddress(signer, `${field}.signers[${String(signerIndex)}]`)),
|
|
359
594
|
};
|
|
360
595
|
});
|
|
361
|
-
const preconditions = readArray(value.preconditions, 'planJson.preconditions').map((candidate, index) => normalizePrecondition(candidate, `planJson.preconditions[${String(index)}]`, version
|
|
596
|
+
const preconditions = readArray(value.preconditions, 'planJson.preconditions').map((candidate, index) => normalizePrecondition(candidate, `planJson.preconditions[${String(index)}]`, version));
|
|
362
597
|
const affected = readArray(value.affected, 'planJson.affected').map((candidate, index) => readAddress(candidate, `planJson.affected[${String(index)}]`));
|
|
363
598
|
const requiredSigners = readArray(value.requiredSigners, 'planJson.requiredSigners').map((candidate, index) => readAddress(candidate, `planJson.requiredSigners[${String(index)}]`));
|
|
364
599
|
const plan = createPlan({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/cargo.d.ts
CHANGED
|
@@ -7,11 +7,27 @@ export interface FreshGameCargoDefinitions {
|
|
|
7
7
|
}
|
|
8
8
|
/** Reads and decodes the configured Game cargo section without consulting its cache. */
|
|
9
9
|
export declare function readFreshGameCargoDefinitions(context: SageContext): Promise<FreshGameCargoDefinitions | undefined>;
|
|
10
|
-
/**
|
|
10
|
+
/** Historical JSON guard preparation retained for saved-Plan compatibility. */
|
|
11
11
|
export declare function readFreshGameCargoConfiguration(context: SageContext, cargoId: number): Promise<Readonly<{
|
|
12
|
+
cargo: import("../internal/c4/legacy-cargo-config.js").LegacyCargoConfiguration;
|
|
13
|
+
configHash: string;
|
|
12
14
|
rawAccount: RawAccount;
|
|
13
|
-
cargo: import("../internal/c4/game.js").GameCargoDefinitionData;
|
|
14
15
|
cache: import("../client/contracts.js").Address;
|
|
15
16
|
sequenceId: number;
|
|
16
17
|
}>>;
|
|
18
|
+
/** New wallet Plans hash the full decoded row's pinned encoding and cache identity. */
|
|
19
|
+
export declare function readFreshGameCargoBytesConfiguration(context: SageContext, cargoId: number): Promise<Readonly<{
|
|
20
|
+
cargo: import("../internal/c4/legacy-cargo-config.js").LegacyCargoConfiguration;
|
|
21
|
+
configHash: string;
|
|
22
|
+
rawAccount: RawAccount;
|
|
23
|
+
cache: import("../client/contracts.js").Address;
|
|
24
|
+
sequenceId: number;
|
|
25
|
+
}>>;
|
|
26
|
+
/** Historical-only hashing retains the old digest and missing-ID behavior. */
|
|
27
|
+
export declare function hashGameCargoConfigurations(account: RawAccount, cargoIds: readonly number[]): Promise<ReadonlyMap<number, string>>;
|
|
28
|
+
/** One validated decode per Game supplies separate old/new digests, local to this check. */
|
|
29
|
+
export declare function hashGameCargoConfigurationGuards(account: RawAccount, legacyIds: readonly number[], byteIds: readonly number[]): Promise<{
|
|
30
|
+
readonly legacy: ReadonlyMap<number, string>;
|
|
31
|
+
readonly bytes: ReadonlyMap<number, string>;
|
|
32
|
+
}>;
|
|
17
33
|
//# sourceMappingURL=cargo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,wBAAwB,CAAC;AAIhC,yEAAyE;AACzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAChD;AAED,wFAAwF;AACxF,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAQhD;AAmCD,+EAA+E;AAC/E,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM;;;;;;IAYhB;AAED,uFAAuF;AACvF,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM;;;;;;IAWhB;AAED,8EAA8E;AAC9E,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEtC;AAED,4FAA4F;AAC5F,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC;IACT,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,CAAC,CAoBD"}
|
package/dist/registry/cargo.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { hashCargoBytesConfiguration } from '../internal/c4/cargo-bytes-config.js';
|
|
2
|
+
import { translateLegacyCargoConfiguration, hashLegacyCargoConfiguration, } from '../internal/c4/legacy-cargo-config.js';
|
|
1
3
|
import { readContextRawAccounts } from '../client/reconciliation.js';
|
|
2
|
-
import {
|
|
4
|
+
import { decodeGameCargoConfigurationRows, decodeGameRegistrySections, } from '../internal/c4/game.js';
|
|
3
5
|
import { requireGameAddress } from '../internal/game-context.js';
|
|
4
6
|
import { InvalidActionInputError } from '../client/errors.js';
|
|
5
7
|
/** Reads and decodes the configured Game cargo section without consulting its cache. */
|
|
@@ -13,17 +15,17 @@ export async function readFreshGameCargoDefinitions(context) {
|
|
|
13
15
|
data: decodeGameRegistrySections(account, ['cargo']).cargo,
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
|
-
/** Resolves one
|
|
17
|
-
|
|
18
|
+
/** Resolves one wallet cargo and its configured cache from one fresh registry-owned Game read. */
|
|
19
|
+
async function readFreshSelectedCargoConfiguration(context, cargoId) {
|
|
18
20
|
const game = requireGameAddress(context);
|
|
19
21
|
const [rawAccount] = await readContextRawAccounts(context, [game]);
|
|
20
22
|
if (rawAccount === undefined) {
|
|
21
|
-
throw new InvalidActionInputError('game', game, 'an existing Game in the configured deployment', 'Verify the deployment and refresh its Game before
|
|
23
|
+
throw new InvalidActionInputError('game', game, 'an existing Game in the configured deployment', 'Verify the deployment and refresh its Game before transferring wallet cargo.');
|
|
22
24
|
}
|
|
23
|
-
const data =
|
|
24
|
-
const cargo = data.
|
|
25
|
+
const data = decodeGameCargoConfigurationRows(rawAccount);
|
|
26
|
+
const cargo = data.rows.find((definition) => definition.id === cargoId);
|
|
25
27
|
if (cargo === undefined) {
|
|
26
|
-
throw new InvalidActionInputError('cargoId', cargoId, 'a cargo ID defined in the configured Game', 'Select a cargo ID from this deployment before
|
|
28
|
+
throw new InvalidActionInputError('cargoId', cargoId, 'a cargo ID defined in the configured Game', 'Select a cargo ID from this deployment before transferring wallet cargo.');
|
|
27
29
|
}
|
|
28
30
|
return Object.freeze({
|
|
29
31
|
rawAccount,
|
|
@@ -32,4 +34,43 @@ export async function readFreshGameCargoConfiguration(context, cargoId) {
|
|
|
32
34
|
sequenceId: data.sequenceId,
|
|
33
35
|
});
|
|
34
36
|
}
|
|
37
|
+
/** Historical JSON guard preparation retained for saved-Plan compatibility. */
|
|
38
|
+
export async function readFreshGameCargoConfiguration(context, cargoId) {
|
|
39
|
+
const selected = await readFreshSelectedCargoConfiguration(context, cargoId);
|
|
40
|
+
const cargo = translateLegacyCargoConfiguration(selected.cargo.id, selected.cargo);
|
|
41
|
+
return Object.freeze({
|
|
42
|
+
...selected,
|
|
43
|
+
cargo,
|
|
44
|
+
configHash: await hashLegacyCargoConfiguration(selected.cache, cargo),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/** New wallet Plans hash the full decoded row's pinned encoding and cache identity. */
|
|
48
|
+
export async function readFreshGameCargoBytesConfiguration(context, cargoId) {
|
|
49
|
+
const selected = await readFreshSelectedCargoConfiguration(context, cargoId);
|
|
50
|
+
return Object.freeze({
|
|
51
|
+
...selected,
|
|
52
|
+
cargo: translateLegacyCargoConfiguration(selected.cargo.id, selected.cargo),
|
|
53
|
+
configHash: await hashCargoBytesConfiguration(selected.cache, selected.cargo),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/** Historical-only hashing retains the old digest and missing-ID behavior. */
|
|
57
|
+
export async function hashGameCargoConfigurations(account, cargoIds) {
|
|
58
|
+
return (await hashGameCargoConfigurationGuards(account, cargoIds, [])).legacy;
|
|
59
|
+
}
|
|
60
|
+
/** One validated decode per Game supplies separate old/new digests, local to this check. */
|
|
61
|
+
export async function hashGameCargoConfigurationGuards(account, legacyIds, byteIds) {
|
|
62
|
+
const data = decodeGameCargoConfigurationRows(account);
|
|
63
|
+
const legacySelected = new Set(legacyIds);
|
|
64
|
+
const bytesSelected = new Set(byteIds);
|
|
65
|
+
const legacy = new Map();
|
|
66
|
+
const bytes = new Map();
|
|
67
|
+
for (const cargo of data.rows) {
|
|
68
|
+
if (legacySelected.has(cargo.id))
|
|
69
|
+
legacy.set(cargo.id, await hashLegacyCargoConfiguration(data.cache, translateLegacyCargoConfiguration(cargo.id, cargo)));
|
|
70
|
+
if (bytesSelected.has(cargo.id))
|
|
71
|
+
bytes.set(cargo.id, await hashCargoBytesConfiguration(data.cache, cargo));
|
|
72
|
+
}
|
|
73
|
+
// Missing IDs deliberately have no digest, so their corresponding guard fails.
|
|
74
|
+
return { legacy, bytes };
|
|
75
|
+
}
|
|
35
76
|
//# sourceMappingURL=cargo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RawAccount, SageContext } from '../client/contracts.js';
|
|
2
|
+
/** Fresh Game validation for Character creation, without loading retained catalogs. */
|
|
3
|
+
export declare function readFreshGameForCharacterRegistration(ctx: SageContext): Promise<RawAccount>;
|
|
4
|
+
/** Validates fresh Game identity and the full pinned layout without retaining catalogs or hashing definitions. */
|
|
5
|
+
export declare function validateGameForCharacterRegistration(account: RawAccount): void;
|
|
6
|
+
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMtE,uFAAuF;AACvF,wBAAsB,qCAAqC,CACzD,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED,kHAAkH;AAClH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,UAAU,GAClB,IAAI,CAYN"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SageSdkError } from '../client/errors.js';
|
|
2
|
+
import { readContextRawAccounts } from '../client/reconciliation.js';
|
|
3
|
+
import { validateGameAccountLayout } from '../internal/c4/game.js';
|
|
4
|
+
import { requireGameAddress } from '../internal/game-context.js';
|
|
5
|
+
/** Fresh Game validation for Character creation, without loading retained catalogs. */
|
|
6
|
+
export async function readFreshGameForCharacterRegistration(ctx) {
|
|
7
|
+
const game = requireGameAddress(ctx);
|
|
8
|
+
const [account] = await readContextRawAccounts(ctx, [game]);
|
|
9
|
+
if (!account)
|
|
10
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is missing. Select an existing C4 Game before registering this Profile's Character.`, { address: game });
|
|
11
|
+
validateGameForCharacterRegistration(account);
|
|
12
|
+
return account;
|
|
13
|
+
}
|
|
14
|
+
/** Validates fresh Game identity and the full pinned layout without retaining catalogs or hashing definitions. */
|
|
15
|
+
export function validateGameForCharacterRegistration(account) {
|
|
16
|
+
const game = account.address;
|
|
17
|
+
if (account.executable)
|
|
18
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is executable instead of Game state. Select a valid C4 Game account and retry registration.`, { address: game });
|
|
19
|
+
// Prefix validation alone cannot detect truncated variable-length Game data.
|
|
20
|
+
// The registry's pinned exact codec validates the whole account transiently;
|
|
21
|
+
// the validation-only entry retains no catalog translation dispatcher.
|
|
22
|
+
validateGameAccountLayout(account);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=onboarding.js.map
|