@thru/programs 0.2.22 → 0.2.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/multicall/index.cjs +2579 -0
- package/dist/multicall/index.cjs.map +1 -0
- package/dist/multicall/index.d.cts +253 -0
- package/dist/multicall/index.d.ts +253 -0
- package/dist/multicall/index.js +2573 -0
- package/dist/multicall/index.js.map +1 -0
- package/dist/passkey-manager/index.cjs +582 -706
- package/dist/passkey-manager/index.cjs.map +1 -1
- package/dist/passkey-manager/index.d.cts +20 -14
- package/dist/passkey-manager/index.d.ts +20 -14
- package/dist/passkey-manager/index.js +551 -673
- package/dist/passkey-manager/index.js.map +1 -1
- package/package.json +7 -2
- package/src/multicall/abi/thru/common/primitives/types.ts +2265 -0
- package/src/multicall/abi/thru/program/multicall/types.ts +1232 -0
- package/src/multicall/index.test.ts +46 -0
- package/src/multicall/index.ts +81 -0
- package/src/passkey-manager/abi/thru/blockchain/state_proof/types.ts +95 -19
- package/src/passkey-manager/abi/thru/common/primitives/types.ts +111 -37
- package/src/passkey-manager/abi/thru/program/passkey_manager/types.ts +248 -660
- package/src/passkey-manager/challenge.ts +52 -12
- package/src/passkey-manager/constants.ts +0 -1
- package/src/passkey-manager/index.ts +4 -4
- package/src/passkey-manager/instructions/add-authority.ts +8 -2
- package/src/passkey-manager/instructions/remove-authority.ts +9 -2
- package/src/passkey-manager/instructions/validate.ts +60 -14
- package/src/passkey-manager/target-instruction.ts +29 -0
- package/src/passkey-manager/types.ts +16 -0
- package/src/passkey-manager/validate.test.ts +173 -0
- package/tsup.config.ts +1 -0
- package/src/passkey-manager/instructions/invoke.ts +0 -25
- package/src/passkey-manager/instructions/shared.ts +0 -12
|
@@ -7,7 +7,6 @@ var PASSKEY_MANAGER_PROGRAM_ADDRESS = "taUDdQyFxvM5i0HFRkEK3W45kWLyblAHSnMg4zplg
|
|
|
7
7
|
var INSTRUCTION_CREATE = 0;
|
|
8
8
|
var INSTRUCTION_VALIDATE = 1;
|
|
9
9
|
var INSTRUCTION_TRANSFER = 2;
|
|
10
|
-
var INSTRUCTION_INVOKE = 3;
|
|
11
10
|
var INSTRUCTION_ADD_AUTHORITY = 4;
|
|
12
11
|
var INSTRUCTION_REMOVE_AUTHORITY = 5;
|
|
13
12
|
var INSTRUCTION_REGISTER_CREDENTIAL = 6;
|
|
@@ -294,12 +293,16 @@ if (typeof DataView !== "undefined" && !__tnHasBigIntDataView) {
|
|
|
294
293
|
}
|
|
295
294
|
var __tnFootprintRegistry = {};
|
|
296
295
|
var __tnValidateRegistry = {};
|
|
296
|
+
var __tnDynamicValidateRegistry = {};
|
|
297
297
|
function __tnRegisterFootprint(typeName, fn) {
|
|
298
298
|
__tnFootprintRegistry[typeName] = fn;
|
|
299
299
|
}
|
|
300
300
|
function __tnRegisterValidate(typeName, fn) {
|
|
301
301
|
__tnValidateRegistry[typeName] = fn;
|
|
302
302
|
}
|
|
303
|
+
function __tnRegisterDynamicValidate(typeName, fn) {
|
|
304
|
+
__tnDynamicValidateRegistry[typeName] = fn;
|
|
305
|
+
}
|
|
303
306
|
function __tnInvokeFootprint(typeName, params) {
|
|
304
307
|
const fn = __tnFootprintRegistry[typeName];
|
|
305
308
|
if (!fn) throw new Error(`IR runtime missing footprint for ${typeName}`);
|
|
@@ -310,12 +313,17 @@ function __tnInvokeValidate(typeName, buffer, params) {
|
|
|
310
313
|
if (!fn) throw new Error(`IR runtime missing validate helper for ${typeName}`);
|
|
311
314
|
return fn(buffer, params);
|
|
312
315
|
}
|
|
316
|
+
function __tnInvokeDynamicValidate(typeName, buffer) {
|
|
317
|
+
const fn = __tnDynamicValidateRegistry[typeName];
|
|
318
|
+
if (!fn) throw new Error(`IR runtime missing dynamic validate helper for ${typeName}`);
|
|
319
|
+
return fn(buffer);
|
|
320
|
+
}
|
|
313
321
|
function __tnEvalFootprint(node, ctx) {
|
|
314
|
-
return __tnEvalIrNode(node, ctx);
|
|
322
|
+
return __tnEvalIrNode(node, ctx, __tnToBigInt(0));
|
|
315
323
|
}
|
|
316
324
|
function __tnTryEvalIr(node, ctx) {
|
|
317
325
|
try {
|
|
318
|
-
return { ok: true, value: __tnEvalIrNode(node, ctx) };
|
|
326
|
+
return { ok: true, value: __tnEvalIrNode(node, ctx, __tnToBigInt(0)) };
|
|
319
327
|
} catch (err) {
|
|
320
328
|
return { ok: false, code: __tnNormalizeIrError(err) };
|
|
321
329
|
}
|
|
@@ -339,7 +347,7 @@ function __tnValidateIrTree(ir, buffer, params) {
|
|
|
339
347
|
}
|
|
340
348
|
return { ok: true, consumed: required };
|
|
341
349
|
}
|
|
342
|
-
function __tnEvalIrNode(node, ctx) {
|
|
350
|
+
function __tnEvalIrNode(node, ctx, baseOffset) {
|
|
343
351
|
switch (node.op) {
|
|
344
352
|
case "zero":
|
|
345
353
|
return __tnToBigInt(0);
|
|
@@ -356,18 +364,22 @@ function __tnEvalIrNode(node, ctx) {
|
|
|
356
364
|
}
|
|
357
365
|
return val;
|
|
358
366
|
}
|
|
359
|
-
case "add":
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
367
|
+
case "add": {
|
|
368
|
+
const left = __tnEvalIrNode(node.left, ctx, baseOffset);
|
|
369
|
+
const right = __tnEvalIrNode(
|
|
370
|
+
node.right,
|
|
371
|
+
ctx,
|
|
372
|
+
__tnCheckedAdd(baseOffset, left)
|
|
363
373
|
);
|
|
374
|
+
return __tnCheckedAdd(left, right);
|
|
375
|
+
}
|
|
364
376
|
case "mul":
|
|
365
377
|
return __tnCheckedMul(
|
|
366
|
-
__tnEvalIrNode(node.left, ctx),
|
|
367
|
-
__tnEvalIrNode(node.right, ctx)
|
|
378
|
+
__tnEvalIrNode(node.left, ctx, baseOffset),
|
|
379
|
+
__tnEvalIrNode(node.right, ctx, baseOffset)
|
|
368
380
|
);
|
|
369
381
|
case "align":
|
|
370
|
-
return __tnAlign(__tnEvalIrNode(node.node, ctx), node.alignment);
|
|
382
|
+
return __tnAlign(__tnEvalIrNode(node.node, ctx, baseOffset), node.alignment);
|
|
371
383
|
case "switch": {
|
|
372
384
|
const tagVal = ctx.params[node.tag];
|
|
373
385
|
if (tagVal === void 0) {
|
|
@@ -380,10 +392,10 @@ function __tnEvalIrNode(node, ctx) {
|
|
|
380
392
|
const tagNumber = Number(tagVal);
|
|
381
393
|
for (const caseNode of node.cases) {
|
|
382
394
|
if (caseNode.value === tagNumber) {
|
|
383
|
-
return __tnEvalIrNode(caseNode.node, ctx);
|
|
395
|
+
return __tnEvalIrNode(caseNode.node, ctx, baseOffset);
|
|
384
396
|
}
|
|
385
397
|
}
|
|
386
|
-
if (node.default) return __tnEvalIrNode(node.default, ctx);
|
|
398
|
+
if (node.default) return __tnEvalIrNode(node.default, ctx, baseOffset);
|
|
387
399
|
__tnRaiseIrError(
|
|
388
400
|
"tn.ir.invalid_tag",
|
|
389
401
|
`Unhandled IR switch value ${tagNumber} for '${node.tag}'`
|
|
@@ -403,9 +415,10 @@ function __tnEvalIrNode(node, ctx) {
|
|
|
403
415
|
nestedParams[arg.name] = val;
|
|
404
416
|
}
|
|
405
417
|
if (ctx.buffer) {
|
|
418
|
+
const nestedOffset = __tnBigIntToNumber(baseOffset, "IR nested offset");
|
|
406
419
|
const nestedResult = __tnInvokeValidate(
|
|
407
420
|
node.typeName,
|
|
408
|
-
ctx.buffer,
|
|
421
|
+
ctx.buffer.subarray(nestedOffset),
|
|
409
422
|
nestedParams
|
|
410
423
|
);
|
|
411
424
|
if (!nestedResult.ok) {
|
|
@@ -422,6 +435,36 @@ function __tnEvalIrNode(node, ctx) {
|
|
|
422
435
|
}
|
|
423
436
|
return __tnInvokeFootprint(node.typeName, nestedParams);
|
|
424
437
|
}
|
|
438
|
+
case "sumOverArray": {
|
|
439
|
+
if (!ctx.buffer) {
|
|
440
|
+
__tnRaiseIrError(
|
|
441
|
+
"tn.ir.missing_buffer",
|
|
442
|
+
`Jagged array '${node.fieldName}' requires buffer-backed validation`
|
|
443
|
+
);
|
|
444
|
+
}
|
|
445
|
+
const count = __tnBigIntToNumber(
|
|
446
|
+
__tnEvalIrNode(node.count, ctx, baseOffset),
|
|
447
|
+
`Jagged array '${node.fieldName}' count`
|
|
448
|
+
);
|
|
449
|
+
let cursor = __tnBigIntToNumber(baseOffset, "IR jagged array offset");
|
|
450
|
+
let total = __tnToBigInt(0);
|
|
451
|
+
for (let i = 0; i < count; i++) {
|
|
452
|
+
const result = __tnInvokeDynamicValidate(
|
|
453
|
+
node.elementTypeName,
|
|
454
|
+
ctx.buffer.subarray(cursor)
|
|
455
|
+
);
|
|
456
|
+
if (!result.ok || result.consumed === void 0) {
|
|
457
|
+
const code = result.code ?? "tn.ir.runtime_error";
|
|
458
|
+
__tnRaiseIrError(
|
|
459
|
+
code,
|
|
460
|
+
`Jagged array '${node.fieldName}' element ${i} failed validation`
|
|
461
|
+
);
|
|
462
|
+
}
|
|
463
|
+
cursor += __tnBigIntToNumber(result.consumed, "IR jagged element size");
|
|
464
|
+
total = __tnCheckedAdd(total, result.consumed);
|
|
465
|
+
}
|
|
466
|
+
return total;
|
|
467
|
+
}
|
|
425
468
|
default:
|
|
426
469
|
__tnRaiseIrError(
|
|
427
470
|
"tn.ir.runtime_error",
|
|
@@ -554,8 +597,6 @@ var Date = class _Date {
|
|
|
554
597
|
return new _Date(buffer);
|
|
555
598
|
}
|
|
556
599
|
};
|
|
557
|
-
__tnRegisterFootprint("Date", (params) => Date.__tnInvokeFootprint(params));
|
|
558
|
-
__tnRegisterValidate("Date", (buffer, params) => Date.__tnInvokeValidate(buffer, params));
|
|
559
600
|
var DateBuilder = class {
|
|
560
601
|
constructor() {
|
|
561
602
|
this.buffer = new Uint8Array(6);
|
|
@@ -587,6 +628,12 @@ var DateBuilder = class {
|
|
|
587
628
|
return view;
|
|
588
629
|
}
|
|
589
630
|
};
|
|
631
|
+
__tnRegisterFootprint("Date", (params) => Date.__tnInvokeFootprint(params));
|
|
632
|
+
__tnRegisterValidate("Date", (buffer, params) => Date.__tnInvokeValidate(buffer, params));
|
|
633
|
+
__tnRegisterDynamicValidate("Date", (buffer) => {
|
|
634
|
+
const result = Date.validate(buffer);
|
|
635
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
636
|
+
});
|
|
590
637
|
var __tn_ir_Duration = {
|
|
591
638
|
typeName: "Duration",
|
|
592
639
|
root: { op: "const", value: 12n }
|
|
@@ -681,8 +728,6 @@ var Duration = class _Duration {
|
|
|
681
728
|
return new _Duration(buffer);
|
|
682
729
|
}
|
|
683
730
|
};
|
|
684
|
-
__tnRegisterFootprint("Duration", (params) => Duration.__tnInvokeFootprint(params));
|
|
685
|
-
__tnRegisterValidate("Duration", (buffer, params) => Duration.__tnInvokeValidate(buffer, params));
|
|
686
731
|
var DurationBuilder = class {
|
|
687
732
|
constructor() {
|
|
688
733
|
this.buffer = new Uint8Array(12);
|
|
@@ -711,6 +756,12 @@ var DurationBuilder = class {
|
|
|
711
756
|
return view;
|
|
712
757
|
}
|
|
713
758
|
};
|
|
759
|
+
__tnRegisterFootprint("Duration", (params) => Duration.__tnInvokeFootprint(params));
|
|
760
|
+
__tnRegisterValidate("Duration", (buffer, params) => Duration.__tnInvokeValidate(buffer, params));
|
|
761
|
+
__tnRegisterDynamicValidate("Duration", (buffer) => {
|
|
762
|
+
const result = Duration.validate(buffer);
|
|
763
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
764
|
+
});
|
|
714
765
|
var __tn_ir_FixedPoint = {
|
|
715
766
|
typeName: "FixedPoint",
|
|
716
767
|
root: { op: "const", value: 9n }
|
|
@@ -805,8 +856,6 @@ var FixedPoint = class _FixedPoint {
|
|
|
805
856
|
return new _FixedPoint(buffer);
|
|
806
857
|
}
|
|
807
858
|
};
|
|
808
|
-
__tnRegisterFootprint("FixedPoint", (params) => FixedPoint.__tnInvokeFootprint(params));
|
|
809
|
-
__tnRegisterValidate("FixedPoint", (buffer, params) => FixedPoint.__tnInvokeValidate(buffer, params));
|
|
810
859
|
var FixedPointBuilder = class {
|
|
811
860
|
constructor() {
|
|
812
861
|
this.buffer = new Uint8Array(9);
|
|
@@ -835,6 +884,12 @@ var FixedPointBuilder = class {
|
|
|
835
884
|
return view;
|
|
836
885
|
}
|
|
837
886
|
};
|
|
887
|
+
__tnRegisterFootprint("FixedPoint", (params) => FixedPoint.__tnInvokeFootprint(params));
|
|
888
|
+
__tnRegisterValidate("FixedPoint", (buffer, params) => FixedPoint.__tnInvokeValidate(buffer, params));
|
|
889
|
+
__tnRegisterDynamicValidate("FixedPoint", (buffer) => {
|
|
890
|
+
const result = FixedPoint.validate(buffer);
|
|
891
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
892
|
+
});
|
|
838
893
|
var __tn_ir_Hash = {
|
|
839
894
|
typeName: "Hash",
|
|
840
895
|
root: { op: "const", value: 32n }
|
|
@@ -917,8 +972,6 @@ var Hash = class _Hash {
|
|
|
917
972
|
return new _Hash(buffer);
|
|
918
973
|
}
|
|
919
974
|
};
|
|
920
|
-
__tnRegisterFootprint("Hash", (params) => Hash.__tnInvokeFootprint(params));
|
|
921
|
-
__tnRegisterValidate("Hash", (buffer, params) => Hash.__tnInvokeValidate(buffer, params));
|
|
922
975
|
var HashBuilder = class {
|
|
923
976
|
constructor() {
|
|
924
977
|
this.buffer = new Uint8Array(32);
|
|
@@ -946,6 +999,12 @@ var HashBuilder = class {
|
|
|
946
999
|
return view;
|
|
947
1000
|
}
|
|
948
1001
|
};
|
|
1002
|
+
__tnRegisterFootprint("Hash", (params) => Hash.__tnInvokeFootprint(params));
|
|
1003
|
+
__tnRegisterValidate("Hash", (buffer, params) => Hash.__tnInvokeValidate(buffer, params));
|
|
1004
|
+
__tnRegisterDynamicValidate("Hash", (buffer) => {
|
|
1005
|
+
const result = Hash.validate(buffer);
|
|
1006
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
1007
|
+
});
|
|
949
1008
|
var __tn_ir_InstructionData = {
|
|
950
1009
|
typeName: "InstructionData",
|
|
951
1010
|
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "add", left: { op: "align", alignment: 2, node: { op: "const", value: 2n } }, right: { op: "align", alignment: 8, node: { op: "const", value: 8n } } }, right: { op: "align", alignment: 1, node: { op: "mul", left: { op: "field", param: "data.data_size" }, right: { op: "const", value: 1n } } } } }
|
|
@@ -1183,8 +1242,6 @@ var InstructionData = _InstructionData;
|
|
|
1183
1242
|
}
|
|
1184
1243
|
InstructionData2.params = params;
|
|
1185
1244
|
})(InstructionData || (InstructionData = {}));
|
|
1186
|
-
__tnRegisterFootprint("InstructionData", (params) => InstructionData.__tnInvokeFootprint(params));
|
|
1187
|
-
__tnRegisterValidate("InstructionData", (buffer, params) => InstructionData.__tnInvokeValidate(buffer, params));
|
|
1188
1245
|
var InstructionDataBuilder = class {
|
|
1189
1246
|
constructor() {
|
|
1190
1247
|
this.__tnCachedParams = null;
|
|
@@ -1282,6 +1339,12 @@ var InstructionDataBuilder = class {
|
|
|
1282
1339
|
this.__tnLastBuffer = buffer;
|
|
1283
1340
|
}
|
|
1284
1341
|
};
|
|
1342
|
+
__tnRegisterFootprint("InstructionData", (params) => InstructionData.__tnInvokeFootprint(params));
|
|
1343
|
+
__tnRegisterValidate("InstructionData", (buffer, params) => InstructionData.__tnInvokeValidate(buffer, params));
|
|
1344
|
+
__tnRegisterDynamicValidate("InstructionData", (buffer) => {
|
|
1345
|
+
const result = InstructionData.validate(buffer);
|
|
1346
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
1347
|
+
});
|
|
1285
1348
|
var __tn_ir_Pubkey = {
|
|
1286
1349
|
typeName: "Pubkey",
|
|
1287
1350
|
root: { op: "const", value: 32n }
|
|
@@ -1364,8 +1427,6 @@ var Pubkey = class _Pubkey {
|
|
|
1364
1427
|
return new _Pubkey(buffer);
|
|
1365
1428
|
}
|
|
1366
1429
|
};
|
|
1367
|
-
__tnRegisterFootprint("Pubkey", (params) => Pubkey.__tnInvokeFootprint(params));
|
|
1368
|
-
__tnRegisterValidate("Pubkey", (buffer, params) => Pubkey.__tnInvokeValidate(buffer, params));
|
|
1369
1430
|
var PubkeyBuilder = class {
|
|
1370
1431
|
constructor() {
|
|
1371
1432
|
this.buffer = new Uint8Array(32);
|
|
@@ -1393,6 +1454,12 @@ var PubkeyBuilder = class {
|
|
|
1393
1454
|
return view;
|
|
1394
1455
|
}
|
|
1395
1456
|
};
|
|
1457
|
+
__tnRegisterFootprint("Pubkey", (params) => Pubkey.__tnInvokeFootprint(params));
|
|
1458
|
+
__tnRegisterValidate("Pubkey", (buffer, params) => Pubkey.__tnInvokeValidate(buffer, params));
|
|
1459
|
+
__tnRegisterDynamicValidate("Pubkey", (buffer) => {
|
|
1460
|
+
const result = Pubkey.validate(buffer);
|
|
1461
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
1462
|
+
});
|
|
1396
1463
|
var __tn_ir_Signature = {
|
|
1397
1464
|
typeName: "Signature",
|
|
1398
1465
|
root: { op: "const", value: 64n }
|
|
@@ -1475,8 +1542,6 @@ var Signature = class _Signature {
|
|
|
1475
1542
|
return new _Signature(buffer);
|
|
1476
1543
|
}
|
|
1477
1544
|
};
|
|
1478
|
-
__tnRegisterFootprint("Signature", (params) => Signature.__tnInvokeFootprint(params));
|
|
1479
|
-
__tnRegisterValidate("Signature", (buffer, params) => Signature.__tnInvokeValidate(buffer, params));
|
|
1480
1545
|
var SignatureBuilder = class {
|
|
1481
1546
|
constructor() {
|
|
1482
1547
|
this.buffer = new Uint8Array(64);
|
|
@@ -1504,6 +1569,12 @@ var SignatureBuilder = class {
|
|
|
1504
1569
|
return view;
|
|
1505
1570
|
}
|
|
1506
1571
|
};
|
|
1572
|
+
__tnRegisterFootprint("Signature", (params) => Signature.__tnInvokeFootprint(params));
|
|
1573
|
+
__tnRegisterValidate("Signature", (buffer, params) => Signature.__tnInvokeValidate(buffer, params));
|
|
1574
|
+
__tnRegisterDynamicValidate("Signature", (buffer) => {
|
|
1575
|
+
const result = Signature.validate(buffer);
|
|
1576
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
1577
|
+
});
|
|
1507
1578
|
var __tn_ir_Timestamp = {
|
|
1508
1579
|
typeName: "Timestamp",
|
|
1509
1580
|
root: { op: "const", value: 8n }
|
|
@@ -1583,8 +1654,6 @@ var Timestamp = class _Timestamp {
|
|
|
1583
1654
|
return new _Timestamp(buffer);
|
|
1584
1655
|
}
|
|
1585
1656
|
};
|
|
1586
|
-
__tnRegisterFootprint("Timestamp", (params) => Timestamp.__tnInvokeFootprint(params));
|
|
1587
|
-
__tnRegisterValidate("Timestamp", (buffer, params) => Timestamp.__tnInvokeValidate(buffer, params));
|
|
1588
1657
|
var TimestampBuilder = class {
|
|
1589
1658
|
constructor() {
|
|
1590
1659
|
this.buffer = new Uint8Array(8);
|
|
@@ -1609,6 +1678,12 @@ var TimestampBuilder = class {
|
|
|
1609
1678
|
return view;
|
|
1610
1679
|
}
|
|
1611
1680
|
};
|
|
1681
|
+
__tnRegisterFootprint("Timestamp", (params) => Timestamp.__tnInvokeFootprint(params));
|
|
1682
|
+
__tnRegisterValidate("Timestamp", (buffer, params) => Timestamp.__tnInvokeValidate(buffer, params));
|
|
1683
|
+
__tnRegisterDynamicValidate("Timestamp", (buffer) => {
|
|
1684
|
+
const result = Timestamp.validate(buffer);
|
|
1685
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt(result.consumed) };
|
|
1686
|
+
});
|
|
1612
1687
|
|
|
1613
1688
|
// src/passkey-manager/abi/thru/blockchain/state_proof/types.ts
|
|
1614
1689
|
var __tnWarnings2 = /* @__PURE__ */ new Set();
|
|
@@ -1901,12 +1976,16 @@ if (typeof DataView !== "undefined" && !__tnHasBigIntDataView2) {
|
|
|
1901
1976
|
}
|
|
1902
1977
|
var __tnFootprintRegistry2 = {};
|
|
1903
1978
|
var __tnValidateRegistry2 = {};
|
|
1979
|
+
var __tnDynamicValidateRegistry2 = {};
|
|
1904
1980
|
function __tnRegisterFootprint2(typeName, fn) {
|
|
1905
1981
|
__tnFootprintRegistry2[typeName] = fn;
|
|
1906
1982
|
}
|
|
1907
1983
|
function __tnRegisterValidate2(typeName, fn) {
|
|
1908
1984
|
__tnValidateRegistry2[typeName] = fn;
|
|
1909
1985
|
}
|
|
1986
|
+
function __tnRegisterDynamicValidate2(typeName, fn) {
|
|
1987
|
+
__tnDynamicValidateRegistry2[typeName] = fn;
|
|
1988
|
+
}
|
|
1910
1989
|
function __tnInvokeFootprint2(typeName, params) {
|
|
1911
1990
|
const fn = __tnFootprintRegistry2[typeName];
|
|
1912
1991
|
if (!fn) throw new Error(`IR runtime missing footprint for ${typeName}`);
|
|
@@ -1917,12 +1996,17 @@ function __tnInvokeValidate2(typeName, buffer, params) {
|
|
|
1917
1996
|
if (!fn) throw new Error(`IR runtime missing validate helper for ${typeName}`);
|
|
1918
1997
|
return fn(buffer, params);
|
|
1919
1998
|
}
|
|
1999
|
+
function __tnInvokeDynamicValidate2(typeName, buffer) {
|
|
2000
|
+
const fn = __tnDynamicValidateRegistry2[typeName];
|
|
2001
|
+
if (!fn) throw new Error(`IR runtime missing dynamic validate helper for ${typeName}`);
|
|
2002
|
+
return fn(buffer);
|
|
2003
|
+
}
|
|
1920
2004
|
function __tnEvalFootprint2(node, ctx) {
|
|
1921
|
-
return __tnEvalIrNode2(node, ctx);
|
|
2005
|
+
return __tnEvalIrNode2(node, ctx, __tnToBigInt2(0));
|
|
1922
2006
|
}
|
|
1923
2007
|
function __tnTryEvalIr2(node, ctx) {
|
|
1924
2008
|
try {
|
|
1925
|
-
return { ok: true, value: __tnEvalIrNode2(node, ctx) };
|
|
2009
|
+
return { ok: true, value: __tnEvalIrNode2(node, ctx, __tnToBigInt2(0)) };
|
|
1926
2010
|
} catch (err) {
|
|
1927
2011
|
return { ok: false, code: __tnNormalizeIrError2(err) };
|
|
1928
2012
|
}
|
|
@@ -1946,7 +2030,7 @@ function __tnValidateIrTree2(ir, buffer, params) {
|
|
|
1946
2030
|
}
|
|
1947
2031
|
return { ok: true, consumed: required };
|
|
1948
2032
|
}
|
|
1949
|
-
function __tnEvalIrNode2(node, ctx) {
|
|
2033
|
+
function __tnEvalIrNode2(node, ctx, baseOffset) {
|
|
1950
2034
|
switch (node.op) {
|
|
1951
2035
|
case "zero":
|
|
1952
2036
|
return __tnToBigInt2(0);
|
|
@@ -1963,18 +2047,22 @@ function __tnEvalIrNode2(node, ctx) {
|
|
|
1963
2047
|
}
|
|
1964
2048
|
return val;
|
|
1965
2049
|
}
|
|
1966
|
-
case "add":
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
2050
|
+
case "add": {
|
|
2051
|
+
const left = __tnEvalIrNode2(node.left, ctx, baseOffset);
|
|
2052
|
+
const right = __tnEvalIrNode2(
|
|
2053
|
+
node.right,
|
|
2054
|
+
ctx,
|
|
2055
|
+
__tnCheckedAdd2(baseOffset, left)
|
|
1970
2056
|
);
|
|
2057
|
+
return __tnCheckedAdd2(left, right);
|
|
2058
|
+
}
|
|
1971
2059
|
case "mul":
|
|
1972
2060
|
return __tnCheckedMul2(
|
|
1973
|
-
__tnEvalIrNode2(node.left, ctx),
|
|
1974
|
-
__tnEvalIrNode2(node.right, ctx)
|
|
2061
|
+
__tnEvalIrNode2(node.left, ctx, baseOffset),
|
|
2062
|
+
__tnEvalIrNode2(node.right, ctx, baseOffset)
|
|
1975
2063
|
);
|
|
1976
2064
|
case "align":
|
|
1977
|
-
return __tnAlign2(__tnEvalIrNode2(node.node, ctx), node.alignment);
|
|
2065
|
+
return __tnAlign2(__tnEvalIrNode2(node.node, ctx, baseOffset), node.alignment);
|
|
1978
2066
|
case "switch": {
|
|
1979
2067
|
const tagVal = ctx.params[node.tag];
|
|
1980
2068
|
if (tagVal === void 0) {
|
|
@@ -1987,10 +2075,10 @@ function __tnEvalIrNode2(node, ctx) {
|
|
|
1987
2075
|
const tagNumber = Number(tagVal);
|
|
1988
2076
|
for (const caseNode of node.cases) {
|
|
1989
2077
|
if (caseNode.value === tagNumber) {
|
|
1990
|
-
return __tnEvalIrNode2(caseNode.node, ctx);
|
|
2078
|
+
return __tnEvalIrNode2(caseNode.node, ctx, baseOffset);
|
|
1991
2079
|
}
|
|
1992
2080
|
}
|
|
1993
|
-
if (node.default) return __tnEvalIrNode2(node.default, ctx);
|
|
2081
|
+
if (node.default) return __tnEvalIrNode2(node.default, ctx, baseOffset);
|
|
1994
2082
|
__tnRaiseIrError2(
|
|
1995
2083
|
"tn.ir.invalid_tag",
|
|
1996
2084
|
`Unhandled IR switch value ${tagNumber} for '${node.tag}'`
|
|
@@ -2010,9 +2098,10 @@ function __tnEvalIrNode2(node, ctx) {
|
|
|
2010
2098
|
nestedParams[arg.name] = val;
|
|
2011
2099
|
}
|
|
2012
2100
|
if (ctx.buffer) {
|
|
2101
|
+
const nestedOffset = __tnBigIntToNumber2(baseOffset, "IR nested offset");
|
|
2013
2102
|
const nestedResult = __tnInvokeValidate2(
|
|
2014
2103
|
node.typeName,
|
|
2015
|
-
ctx.buffer,
|
|
2104
|
+
ctx.buffer.subarray(nestedOffset),
|
|
2016
2105
|
nestedParams
|
|
2017
2106
|
);
|
|
2018
2107
|
if (!nestedResult.ok) {
|
|
@@ -2029,6 +2118,36 @@ function __tnEvalIrNode2(node, ctx) {
|
|
|
2029
2118
|
}
|
|
2030
2119
|
return __tnInvokeFootprint2(node.typeName, nestedParams);
|
|
2031
2120
|
}
|
|
2121
|
+
case "sumOverArray": {
|
|
2122
|
+
if (!ctx.buffer) {
|
|
2123
|
+
__tnRaiseIrError2(
|
|
2124
|
+
"tn.ir.missing_buffer",
|
|
2125
|
+
`Jagged array '${node.fieldName}' requires buffer-backed validation`
|
|
2126
|
+
);
|
|
2127
|
+
}
|
|
2128
|
+
const count = __tnBigIntToNumber2(
|
|
2129
|
+
__tnEvalIrNode2(node.count, ctx, baseOffset),
|
|
2130
|
+
`Jagged array '${node.fieldName}' count`
|
|
2131
|
+
);
|
|
2132
|
+
let cursor = __tnBigIntToNumber2(baseOffset, "IR jagged array offset");
|
|
2133
|
+
let total = __tnToBigInt2(0);
|
|
2134
|
+
for (let i = 0; i < count; i++) {
|
|
2135
|
+
const result = __tnInvokeDynamicValidate2(
|
|
2136
|
+
node.elementTypeName,
|
|
2137
|
+
ctx.buffer.subarray(cursor)
|
|
2138
|
+
);
|
|
2139
|
+
if (!result.ok || result.consumed === void 0) {
|
|
2140
|
+
const code = result.code ?? "tn.ir.runtime_error";
|
|
2141
|
+
__tnRaiseIrError2(
|
|
2142
|
+
code,
|
|
2143
|
+
`Jagged array '${node.fieldName}' element ${i} failed validation`
|
|
2144
|
+
);
|
|
2145
|
+
}
|
|
2146
|
+
cursor += __tnBigIntToNumber2(result.consumed, "IR jagged element size");
|
|
2147
|
+
total = __tnCheckedAdd2(total, result.consumed);
|
|
2148
|
+
}
|
|
2149
|
+
return total;
|
|
2150
|
+
}
|
|
2032
2151
|
default:
|
|
2033
2152
|
__tnRaiseIrError2(
|
|
2034
2153
|
"tn.ir.runtime_error",
|
|
@@ -2052,6 +2171,18 @@ function __tnNormalizeIrError2(err) {
|
|
|
2052
2171
|
if (message.length > 0) return `tn.ir.runtime_error: ${message}`;
|
|
2053
2172
|
return "tn.ir.runtime_error";
|
|
2054
2173
|
}
|
|
2174
|
+
__tnRegisterFootprint2("Hash", (params) => Hash.__tnInvokeFootprint(params));
|
|
2175
|
+
__tnRegisterValidate2("Hash", (buffer, params) => Hash.__tnInvokeValidate(buffer, params));
|
|
2176
|
+
__tnRegisterDynamicValidate2("Hash", (buffer) => {
|
|
2177
|
+
const result = Hash.validate(buffer);
|
|
2178
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt2(result.consumed) };
|
|
2179
|
+
});
|
|
2180
|
+
__tnRegisterFootprint2("Pubkey", (params) => Pubkey.__tnInvokeFootprint(params));
|
|
2181
|
+
__tnRegisterValidate2("Pubkey", (buffer, params) => Pubkey.__tnInvokeValidate(buffer, params));
|
|
2182
|
+
__tnRegisterDynamicValidate2("Pubkey", (buffer) => {
|
|
2183
|
+
const result = Pubkey.validate(buffer);
|
|
2184
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt2(result.consumed) };
|
|
2185
|
+
});
|
|
2055
2186
|
var __tn_ir_StateProofHeader = {
|
|
2056
2187
|
typeName: "StateProofHeader",
|
|
2057
2188
|
root: { op: "const", value: 40n }
|
|
@@ -2141,8 +2272,6 @@ var StateProofHeader = class _StateProofHeader {
|
|
|
2141
2272
|
return new _StateProofHeader(buffer);
|
|
2142
2273
|
}
|
|
2143
2274
|
};
|
|
2144
|
-
__tnRegisterFootprint2("StateProofHeader", (params) => StateProofHeader.__tnInvokeFootprint(params));
|
|
2145
|
-
__tnRegisterValidate2("StateProofHeader", (buffer, params) => StateProofHeader.__tnInvokeValidate(buffer, params));
|
|
2146
2275
|
var StateProofHeaderBuilder = class {
|
|
2147
2276
|
constructor() {
|
|
2148
2277
|
this.buffer = new Uint8Array(40);
|
|
@@ -2172,6 +2301,12 @@ var StateProofHeaderBuilder = class {
|
|
|
2172
2301
|
return view;
|
|
2173
2302
|
}
|
|
2174
2303
|
};
|
|
2304
|
+
__tnRegisterFootprint2("StateProofHeader", (params) => StateProofHeader.__tnInvokeFootprint(params));
|
|
2305
|
+
__tnRegisterValidate2("StateProofHeader", (buffer, params) => StateProofHeader.__tnInvokeValidate(buffer, params));
|
|
2306
|
+
__tnRegisterDynamicValidate2("StateProofHeader", (buffer) => {
|
|
2307
|
+
const result = StateProofHeader.validate(buffer);
|
|
2308
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt2(result.consumed) };
|
|
2309
|
+
});
|
|
2175
2310
|
var __tn_ir_StateProof = {
|
|
2176
2311
|
typeName: "StateProof",
|
|
2177
2312
|
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "align", alignment: 1, node: { op: "const", value: 40n } }, right: { op: "align", alignment: 1, node: { op: "field", param: "proof_body.payload_size" } } } }
|
|
@@ -2743,8 +2878,6 @@ var StateProof = _StateProof;
|
|
|
2743
2878
|
}
|
|
2744
2879
|
StateProof2.params = params;
|
|
2745
2880
|
})(StateProof || (StateProof = {}));
|
|
2746
|
-
__tnRegisterFootprint2("StateProof", (params) => StateProof.__tnInvokeFootprint(params));
|
|
2747
|
-
__tnRegisterValidate2("StateProof", (buffer, params) => StateProof.__tnInvokeValidate(buffer, params));
|
|
2748
2881
|
var StateProofBuilder = class {
|
|
2749
2882
|
constructor() {
|
|
2750
2883
|
this.__tnPayload_proof_body = null;
|
|
@@ -2851,6 +2984,12 @@ var StateProofBuilder = class {
|
|
|
2851
2984
|
this.__tnLastBuffer = buffer;
|
|
2852
2985
|
}
|
|
2853
2986
|
};
|
|
2987
|
+
__tnRegisterFootprint2("StateProof", (params) => StateProof.__tnInvokeFootprint(params));
|
|
2988
|
+
__tnRegisterValidate2("StateProof", (buffer, params) => StateProof.__tnInvokeValidate(buffer, params));
|
|
2989
|
+
__tnRegisterDynamicValidate2("StateProof", (buffer) => {
|
|
2990
|
+
const result = StateProof.validate(buffer);
|
|
2991
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt2(result.consumed) };
|
|
2992
|
+
});
|
|
2854
2993
|
|
|
2855
2994
|
// src/passkey-manager/abi/thru/program/passkey_manager/types.ts
|
|
2856
2995
|
var __tnWarnings3 = /* @__PURE__ */ new Set();
|
|
@@ -2937,33 +3076,6 @@ function __tnCreateVariantSelector2(parent, descriptors, assign) {
|
|
|
2937
3076
|
}
|
|
2938
3077
|
};
|
|
2939
3078
|
}
|
|
2940
|
-
function __tnCreateFamWriter2(parent, fieldName, assign) {
|
|
2941
|
-
let hasWritten = false;
|
|
2942
|
-
return {
|
|
2943
|
-
write(payload) {
|
|
2944
|
-
const bytes = __tnResolveBuilderInput3(
|
|
2945
|
-
payload,
|
|
2946
|
-
`flexible array '${fieldName}'`
|
|
2947
|
-
);
|
|
2948
|
-
const copy = new Uint8Array(bytes);
|
|
2949
|
-
assign(copy);
|
|
2950
|
-
hasWritten = true;
|
|
2951
|
-
return {
|
|
2952
|
-
finish() {
|
|
2953
|
-
return parent;
|
|
2954
|
-
}
|
|
2955
|
-
};
|
|
2956
|
-
},
|
|
2957
|
-
finish() {
|
|
2958
|
-
if (!hasWritten) {
|
|
2959
|
-
throw new Error(
|
|
2960
|
-
`flexible array '${fieldName}' requires write() before finish()`
|
|
2961
|
-
);
|
|
2962
|
-
}
|
|
2963
|
-
return parent;
|
|
2964
|
-
}
|
|
2965
|
-
};
|
|
2966
|
-
}
|
|
2967
3079
|
var __tnMask323 = __tnHasNativeBigInt3 ? (BigInt(1) << BigInt(32)) - BigInt(1) : 4294967295;
|
|
2968
3080
|
var __tnSignBit323 = __tnHasNativeBigInt3 ? BigInt(1) << BigInt(31) : 2147483648;
|
|
2969
3081
|
function __tnToBigInt3(value) {
|
|
@@ -3188,12 +3300,16 @@ if (typeof DataView !== "undefined" && !__tnHasBigIntDataView3) {
|
|
|
3188
3300
|
}
|
|
3189
3301
|
var __tnFootprintRegistry3 = {};
|
|
3190
3302
|
var __tnValidateRegistry3 = {};
|
|
3303
|
+
var __tnDynamicValidateRegistry3 = {};
|
|
3191
3304
|
function __tnRegisterFootprint3(typeName, fn) {
|
|
3192
3305
|
__tnFootprintRegistry3[typeName] = fn;
|
|
3193
3306
|
}
|
|
3194
3307
|
function __tnRegisterValidate3(typeName, fn) {
|
|
3195
3308
|
__tnValidateRegistry3[typeName] = fn;
|
|
3196
3309
|
}
|
|
3310
|
+
function __tnRegisterDynamicValidate3(typeName, fn) {
|
|
3311
|
+
__tnDynamicValidateRegistry3[typeName] = fn;
|
|
3312
|
+
}
|
|
3197
3313
|
function __tnInvokeFootprint3(typeName, params) {
|
|
3198
3314
|
const fn = __tnFootprintRegistry3[typeName];
|
|
3199
3315
|
if (!fn) throw new Error(`IR runtime missing footprint for ${typeName}`);
|
|
@@ -3204,12 +3320,17 @@ function __tnInvokeValidate3(typeName, buffer, params) {
|
|
|
3204
3320
|
if (!fn) throw new Error(`IR runtime missing validate helper for ${typeName}`);
|
|
3205
3321
|
return fn(buffer, params);
|
|
3206
3322
|
}
|
|
3323
|
+
function __tnInvokeDynamicValidate3(typeName, buffer) {
|
|
3324
|
+
const fn = __tnDynamicValidateRegistry3[typeName];
|
|
3325
|
+
if (!fn) throw new Error(`IR runtime missing dynamic validate helper for ${typeName}`);
|
|
3326
|
+
return fn(buffer);
|
|
3327
|
+
}
|
|
3207
3328
|
function __tnEvalFootprint3(node, ctx) {
|
|
3208
|
-
return __tnEvalIrNode3(node, ctx);
|
|
3329
|
+
return __tnEvalIrNode3(node, ctx, __tnToBigInt3(0));
|
|
3209
3330
|
}
|
|
3210
3331
|
function __tnTryEvalIr3(node, ctx) {
|
|
3211
3332
|
try {
|
|
3212
|
-
return { ok: true, value: __tnEvalIrNode3(node, ctx) };
|
|
3333
|
+
return { ok: true, value: __tnEvalIrNode3(node, ctx, __tnToBigInt3(0)) };
|
|
3213
3334
|
} catch (err) {
|
|
3214
3335
|
return { ok: false, code: __tnNormalizeIrError3(err) };
|
|
3215
3336
|
}
|
|
@@ -3233,7 +3354,7 @@ function __tnValidateIrTree3(ir, buffer, params) {
|
|
|
3233
3354
|
}
|
|
3234
3355
|
return { ok: true, consumed: required };
|
|
3235
3356
|
}
|
|
3236
|
-
function __tnEvalIrNode3(node, ctx) {
|
|
3357
|
+
function __tnEvalIrNode3(node, ctx, baseOffset) {
|
|
3237
3358
|
switch (node.op) {
|
|
3238
3359
|
case "zero":
|
|
3239
3360
|
return __tnToBigInt3(0);
|
|
@@ -3250,18 +3371,22 @@ function __tnEvalIrNode3(node, ctx) {
|
|
|
3250
3371
|
}
|
|
3251
3372
|
return val;
|
|
3252
3373
|
}
|
|
3253
|
-
case "add":
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3374
|
+
case "add": {
|
|
3375
|
+
const left = __tnEvalIrNode3(node.left, ctx, baseOffset);
|
|
3376
|
+
const right = __tnEvalIrNode3(
|
|
3377
|
+
node.right,
|
|
3378
|
+
ctx,
|
|
3379
|
+
__tnCheckedAdd3(baseOffset, left)
|
|
3257
3380
|
);
|
|
3381
|
+
return __tnCheckedAdd3(left, right);
|
|
3382
|
+
}
|
|
3258
3383
|
case "mul":
|
|
3259
3384
|
return __tnCheckedMul3(
|
|
3260
|
-
__tnEvalIrNode3(node.left, ctx),
|
|
3261
|
-
__tnEvalIrNode3(node.right, ctx)
|
|
3385
|
+
__tnEvalIrNode3(node.left, ctx, baseOffset),
|
|
3386
|
+
__tnEvalIrNode3(node.right, ctx, baseOffset)
|
|
3262
3387
|
);
|
|
3263
3388
|
case "align":
|
|
3264
|
-
return __tnAlign3(__tnEvalIrNode3(node.node, ctx), node.alignment);
|
|
3389
|
+
return __tnAlign3(__tnEvalIrNode3(node.node, ctx, baseOffset), node.alignment);
|
|
3265
3390
|
case "switch": {
|
|
3266
3391
|
const tagVal = ctx.params[node.tag];
|
|
3267
3392
|
if (tagVal === void 0) {
|
|
@@ -3274,10 +3399,10 @@ function __tnEvalIrNode3(node, ctx) {
|
|
|
3274
3399
|
const tagNumber = Number(tagVal);
|
|
3275
3400
|
for (const caseNode of node.cases) {
|
|
3276
3401
|
if (caseNode.value === tagNumber) {
|
|
3277
|
-
return __tnEvalIrNode3(caseNode.node, ctx);
|
|
3402
|
+
return __tnEvalIrNode3(caseNode.node, ctx, baseOffset);
|
|
3278
3403
|
}
|
|
3279
3404
|
}
|
|
3280
|
-
if (node.default) return __tnEvalIrNode3(node.default, ctx);
|
|
3405
|
+
if (node.default) return __tnEvalIrNode3(node.default, ctx, baseOffset);
|
|
3281
3406
|
__tnRaiseIrError3(
|
|
3282
3407
|
"tn.ir.invalid_tag",
|
|
3283
3408
|
`Unhandled IR switch value ${tagNumber} for '${node.tag}'`
|
|
@@ -3297,9 +3422,10 @@ function __tnEvalIrNode3(node, ctx) {
|
|
|
3297
3422
|
nestedParams[arg.name] = val;
|
|
3298
3423
|
}
|
|
3299
3424
|
if (ctx.buffer) {
|
|
3425
|
+
const nestedOffset = __tnBigIntToNumber3(baseOffset, "IR nested offset");
|
|
3300
3426
|
const nestedResult = __tnInvokeValidate3(
|
|
3301
3427
|
node.typeName,
|
|
3302
|
-
ctx.buffer,
|
|
3428
|
+
ctx.buffer.subarray(nestedOffset),
|
|
3303
3429
|
nestedParams
|
|
3304
3430
|
);
|
|
3305
3431
|
if (!nestedResult.ok) {
|
|
@@ -3316,6 +3442,36 @@ function __tnEvalIrNode3(node, ctx) {
|
|
|
3316
3442
|
}
|
|
3317
3443
|
return __tnInvokeFootprint3(node.typeName, nestedParams);
|
|
3318
3444
|
}
|
|
3445
|
+
case "sumOverArray": {
|
|
3446
|
+
if (!ctx.buffer) {
|
|
3447
|
+
__tnRaiseIrError3(
|
|
3448
|
+
"tn.ir.missing_buffer",
|
|
3449
|
+
`Jagged array '${node.fieldName}' requires buffer-backed validation`
|
|
3450
|
+
);
|
|
3451
|
+
}
|
|
3452
|
+
const count = __tnBigIntToNumber3(
|
|
3453
|
+
__tnEvalIrNode3(node.count, ctx, baseOffset),
|
|
3454
|
+
`Jagged array '${node.fieldName}' count`
|
|
3455
|
+
);
|
|
3456
|
+
let cursor = __tnBigIntToNumber3(baseOffset, "IR jagged array offset");
|
|
3457
|
+
let total = __tnToBigInt3(0);
|
|
3458
|
+
for (let i = 0; i < count; i++) {
|
|
3459
|
+
const result = __tnInvokeDynamicValidate3(
|
|
3460
|
+
node.elementTypeName,
|
|
3461
|
+
ctx.buffer.subarray(cursor)
|
|
3462
|
+
);
|
|
3463
|
+
if (!result.ok || result.consumed === void 0) {
|
|
3464
|
+
const code = result.code ?? "tn.ir.runtime_error";
|
|
3465
|
+
__tnRaiseIrError3(
|
|
3466
|
+
code,
|
|
3467
|
+
`Jagged array '${node.fieldName}' element ${i} failed validation`
|
|
3468
|
+
);
|
|
3469
|
+
}
|
|
3470
|
+
cursor += __tnBigIntToNumber3(result.consumed, "IR jagged element size");
|
|
3471
|
+
total = __tnCheckedAdd3(total, result.consumed);
|
|
3472
|
+
}
|
|
3473
|
+
return total;
|
|
3474
|
+
}
|
|
3319
3475
|
default:
|
|
3320
3476
|
__tnRaiseIrError3(
|
|
3321
3477
|
"tn.ir.runtime_error",
|
|
@@ -3339,6 +3495,24 @@ function __tnNormalizeIrError3(err) {
|
|
|
3339
3495
|
if (message.length > 0) return `tn.ir.runtime_error: ${message}`;
|
|
3340
3496
|
return "tn.ir.runtime_error";
|
|
3341
3497
|
}
|
|
3498
|
+
__tnRegisterFootprint3("InstructionData", (params) => InstructionData.__tnInvokeFootprint(params));
|
|
3499
|
+
__tnRegisterValidate3("InstructionData", (buffer, params) => InstructionData.__tnInvokeValidate(buffer, params));
|
|
3500
|
+
__tnRegisterDynamicValidate3("InstructionData", (buffer) => {
|
|
3501
|
+
const result = InstructionData.validate(buffer);
|
|
3502
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3503
|
+
});
|
|
3504
|
+
__tnRegisterFootprint3("Pubkey", (params) => Pubkey.__tnInvokeFootprint(params));
|
|
3505
|
+
__tnRegisterValidate3("Pubkey", (buffer, params) => Pubkey.__tnInvokeValidate(buffer, params));
|
|
3506
|
+
__tnRegisterDynamicValidate3("Pubkey", (buffer) => {
|
|
3507
|
+
const result = Pubkey.validate(buffer);
|
|
3508
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3509
|
+
});
|
|
3510
|
+
__tnRegisterFootprint3("StateProof", (params) => StateProof.__tnInvokeFootprint(params));
|
|
3511
|
+
__tnRegisterValidate3("StateProof", (buffer, params) => StateProof.__tnInvokeValidate(buffer, params));
|
|
3512
|
+
__tnRegisterDynamicValidate3("StateProof", (buffer) => {
|
|
3513
|
+
const result = StateProof.validate(buffer);
|
|
3514
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3515
|
+
});
|
|
3342
3516
|
var __tn_ir_Authority = {
|
|
3343
3517
|
typeName: "Authority",
|
|
3344
3518
|
root: { op: "const", value: 65n }
|
|
@@ -3435,8 +3609,6 @@ var Authority = class _Authority {
|
|
|
3435
3609
|
return new _Authority(buffer);
|
|
3436
3610
|
}
|
|
3437
3611
|
};
|
|
3438
|
-
__tnRegisterFootprint3("Authority", (params) => Authority.__tnInvokeFootprint(params));
|
|
3439
|
-
__tnRegisterValidate3("Authority", (buffer, params) => Authority.__tnInvokeValidate(buffer, params));
|
|
3440
3612
|
var AuthorityBuilder = class {
|
|
3441
3613
|
constructor() {
|
|
3442
3614
|
this.buffer = new Uint8Array(65);
|
|
@@ -3468,6 +3640,12 @@ var AuthorityBuilder = class {
|
|
|
3468
3640
|
return view;
|
|
3469
3641
|
}
|
|
3470
3642
|
};
|
|
3643
|
+
__tnRegisterFootprint3("Authority", (params) => Authority.__tnInvokeFootprint(params));
|
|
3644
|
+
__tnRegisterValidate3("Authority", (buffer, params) => Authority.__tnInvokeValidate(buffer, params));
|
|
3645
|
+
__tnRegisterDynamicValidate3("Authority", (buffer) => {
|
|
3646
|
+
const result = Authority.validate(buffer);
|
|
3647
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3648
|
+
});
|
|
3471
3649
|
var __tn_ir_P256Point = {
|
|
3472
3650
|
typeName: "P256Point",
|
|
3473
3651
|
root: { op: "const", value: 32n }
|
|
@@ -3549,9 +3727,13 @@ _P256Point.__tnElementCount = 32;
|
|
|
3549
3727
|
var P256Point = _P256Point;
|
|
3550
3728
|
__tnRegisterFootprint3("P256Point", (params) => P256Point.__tnInvokeFootprint(params));
|
|
3551
3729
|
__tnRegisterValidate3("P256Point", (buffer, params) => P256Point.__tnInvokeValidate(buffer, params));
|
|
3730
|
+
__tnRegisterDynamicValidate3("P256Point", (buffer) => {
|
|
3731
|
+
const result = P256Point.validate(buffer);
|
|
3732
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3733
|
+
});
|
|
3552
3734
|
var __tn_ir_RemoveAuthorityArgs = {
|
|
3553
3735
|
typeName: "RemoveAuthorityArgs",
|
|
3554
|
-
root: { op: "const", value:
|
|
3736
|
+
root: { op: "const", value: 3n }
|
|
3555
3737
|
};
|
|
3556
3738
|
var RemoveAuthorityArgs = class _RemoveAuthorityArgs {
|
|
3557
3739
|
constructor(buffer) {
|
|
@@ -3569,12 +3751,26 @@ var RemoveAuthorityArgs = class _RemoveAuthorityArgs {
|
|
|
3569
3751
|
const buffer = builder.build();
|
|
3570
3752
|
return _RemoveAuthorityArgs.from_array(buffer);
|
|
3571
3753
|
}
|
|
3572
|
-
|
|
3754
|
+
get_wallet_account_idx() {
|
|
3755
|
+
const offset = 0;
|
|
3756
|
+
return this.view.getUint16(offset, true);
|
|
3757
|
+
}
|
|
3758
|
+
set_wallet_account_idx(value) {
|
|
3573
3759
|
const offset = 0;
|
|
3760
|
+
this.view.setUint16(offset, value, true);
|
|
3761
|
+
}
|
|
3762
|
+
get wallet_account_idx() {
|
|
3763
|
+
return this.get_wallet_account_idx();
|
|
3764
|
+
}
|
|
3765
|
+
set wallet_account_idx(value) {
|
|
3766
|
+
this.set_wallet_account_idx(value);
|
|
3767
|
+
}
|
|
3768
|
+
get_auth_idx() {
|
|
3769
|
+
const offset = 2;
|
|
3574
3770
|
return this.view.getUint8(offset);
|
|
3575
3771
|
}
|
|
3576
3772
|
set_auth_idx(value) {
|
|
3577
|
-
const offset =
|
|
3773
|
+
const offset = 2;
|
|
3578
3774
|
this.view.setUint8(offset, value);
|
|
3579
3775
|
}
|
|
3580
3776
|
get auth_idx() {
|
|
@@ -3607,13 +3803,14 @@ var RemoveAuthorityArgs = class _RemoveAuthorityArgs {
|
|
|
3607
3803
|
return __tnBigIntToNumber3(irResult, "RemoveAuthorityArgs::footprint");
|
|
3608
3804
|
}
|
|
3609
3805
|
static validate(buffer, _opts) {
|
|
3610
|
-
if (buffer.length <
|
|
3611
|
-
return { ok: true, consumed:
|
|
3806
|
+
if (buffer.length < 3) return { ok: false, code: "tn.buffer_too_small", consumed: 3 };
|
|
3807
|
+
return { ok: true, consumed: 3 };
|
|
3612
3808
|
}
|
|
3613
|
-
static new(auth_idx) {
|
|
3614
|
-
const buffer = new Uint8Array(
|
|
3809
|
+
static new(wallet_account_idx, auth_idx) {
|
|
3810
|
+
const buffer = new Uint8Array(3);
|
|
3615
3811
|
const view = new DataView(buffer.buffer);
|
|
3616
|
-
view.
|
|
3812
|
+
view.setUint16(0, wallet_account_idx, true);
|
|
3813
|
+
view.setUint8(2, auth_idx);
|
|
3617
3814
|
return new _RemoveAuthorityArgs(buffer);
|
|
3618
3815
|
}
|
|
3619
3816
|
static from_array(buffer) {
|
|
@@ -3628,15 +3825,17 @@ var RemoveAuthorityArgs = class _RemoveAuthorityArgs {
|
|
|
3628
3825
|
return new _RemoveAuthorityArgs(buffer);
|
|
3629
3826
|
}
|
|
3630
3827
|
};
|
|
3631
|
-
__tnRegisterFootprint3("RemoveAuthorityArgs", (params) => RemoveAuthorityArgs.__tnInvokeFootprint(params));
|
|
3632
|
-
__tnRegisterValidate3("RemoveAuthorityArgs", (buffer, params) => RemoveAuthorityArgs.__tnInvokeValidate(buffer, params));
|
|
3633
3828
|
var RemoveAuthorityArgsBuilder = class {
|
|
3634
3829
|
constructor() {
|
|
3635
|
-
this.buffer = new Uint8Array(
|
|
3830
|
+
this.buffer = new Uint8Array(3);
|
|
3636
3831
|
this.view = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);
|
|
3637
3832
|
}
|
|
3833
|
+
set_wallet_account_idx(value) {
|
|
3834
|
+
this.view.setUint16(0, value, true);
|
|
3835
|
+
return this;
|
|
3836
|
+
}
|
|
3638
3837
|
set_auth_idx(value) {
|
|
3639
|
-
this.view.setUint8(
|
|
3838
|
+
this.view.setUint8(2, value);
|
|
3640
3839
|
return this;
|
|
3641
3840
|
}
|
|
3642
3841
|
build() {
|
|
@@ -3653,6 +3852,12 @@ var RemoveAuthorityArgsBuilder = class {
|
|
|
3653
3852
|
return view;
|
|
3654
3853
|
}
|
|
3655
3854
|
};
|
|
3855
|
+
__tnRegisterFootprint3("RemoveAuthorityArgs", (params) => RemoveAuthorityArgs.__tnInvokeFootprint(params));
|
|
3856
|
+
__tnRegisterValidate3("RemoveAuthorityArgs", (buffer, params) => RemoveAuthorityArgs.__tnInvokeValidate(buffer, params));
|
|
3857
|
+
__tnRegisterDynamicValidate3("RemoveAuthorityArgs", (buffer) => {
|
|
3858
|
+
const result = RemoveAuthorityArgs.validate(buffer);
|
|
3859
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3860
|
+
});
|
|
3656
3861
|
var __tn_ir_Seed32 = {
|
|
3657
3862
|
typeName: "Seed32",
|
|
3658
3863
|
root: { op: "const", value: 32n }
|
|
@@ -3734,6 +3939,10 @@ _Seed32.__tnElementCount = 32;
|
|
|
3734
3939
|
var Seed32 = _Seed32;
|
|
3735
3940
|
__tnRegisterFootprint3("Seed32", (params) => Seed32.__tnInvokeFootprint(params));
|
|
3736
3941
|
__tnRegisterValidate3("Seed32", (buffer, params) => Seed32.__tnInvokeValidate(buffer, params));
|
|
3942
|
+
__tnRegisterDynamicValidate3("Seed32", (buffer) => {
|
|
3943
|
+
const result = Seed32.validate(buffer);
|
|
3944
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
3945
|
+
});
|
|
3737
3946
|
var __tn_ir_TransferArgs = {
|
|
3738
3947
|
typeName: "TransferArgs",
|
|
3739
3948
|
root: { op: "const", value: 12n }
|
|
@@ -3843,8 +4052,6 @@ var TransferArgs = class _TransferArgs {
|
|
|
3843
4052
|
return new _TransferArgs(buffer);
|
|
3844
4053
|
}
|
|
3845
4054
|
};
|
|
3846
|
-
__tnRegisterFootprint3("TransferArgs", (params) => TransferArgs.__tnInvokeFootprint(params));
|
|
3847
|
-
__tnRegisterValidate3("TransferArgs", (buffer, params) => TransferArgs.__tnInvokeValidate(buffer, params));
|
|
3848
4055
|
var TransferArgsBuilder = class {
|
|
3849
4056
|
constructor() {
|
|
3850
4057
|
this.buffer = new Uint8Array(12);
|
|
@@ -3877,9 +4084,15 @@ var TransferArgsBuilder = class {
|
|
|
3877
4084
|
return view;
|
|
3878
4085
|
}
|
|
3879
4086
|
};
|
|
4087
|
+
__tnRegisterFootprint3("TransferArgs", (params) => TransferArgs.__tnInvokeFootprint(params));
|
|
4088
|
+
__tnRegisterValidate3("TransferArgs", (buffer, params) => TransferArgs.__tnInvokeValidate(buffer, params));
|
|
4089
|
+
__tnRegisterDynamicValidate3("TransferArgs", (buffer) => {
|
|
4090
|
+
const result = TransferArgs.validate(buffer);
|
|
4091
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
4092
|
+
});
|
|
3880
4093
|
var __tn_ir_ValidateArgs = {
|
|
3881
4094
|
typeName: "ValidateArgs",
|
|
3882
|
-
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "align", alignment: 2, node: { op: "const", value: 2n } }, right: { op: "align", alignment: 1, node: { op: "const", value: 1n } } }, right: { op: "align", alignment: 1, node: { op: "const", value: 32n } } }, right: { op: "align", alignment: 1, node: { op: "const", value: 32n } } }, right: { op: "align", alignment: 2, node: { op: "const", value: 2n } } }, right: { op: "align", alignment: 2, node: { op: "const", value: 2n } } }, right: { op: "align", alignment: 1, node: { op: "mul", left: { op: "field", param: "authenticator_data.authenticator_data_len" }, right: { op: "const", value: 1n } } } }, right: { op: "align", alignment: 1, node: { op: "mul", left: { op: "field", param: "client_data.client_data_len" }, right: { op: "const", value: 1n } } } } }
|
|
4095
|
+
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "add", left: { op: "align", alignment: 2, node: { op: "const", value: 2n } }, right: { op: "align", alignment: 1, node: { op: "const", value: 1n } } }, right: { op: "align", alignment: 1, node: { op: "const", value: 32n } } }, right: { op: "align", alignment: 1, node: { op: "const", value: 32n } } }, right: { op: "align", alignment: 2, node: { op: "const", value: 2n } } }, right: { op: "align", alignment: 2, node: { op: "const", value: 2n } } }, right: { op: "align", alignment: 1, node: { op: "mul", left: { op: "field", param: "authenticator_data.authenticator_data_len" }, right: { op: "const", value: 1n } } } }, right: { op: "align", alignment: 1, node: { op: "mul", left: { op: "field", param: "client_data.client_data_len" }, right: { op: "const", value: 1n } } } }, right: { op: "align", alignment: 1, node: { op: "call", typeName: "InstructionData", args: [{ name: "data.data_size", source: "data.data_size" }] } } } }
|
|
3883
4096
|
};
|
|
3884
4097
|
var _ValidateArgs = class _ValidateArgs {
|
|
3885
4098
|
constructor(buffer, params, fieldContext) {
|
|
@@ -3931,14 +4144,6 @@ var _ValidateArgs = class _ValidateArgs {
|
|
|
3931
4144
|
}
|
|
3932
4145
|
throw new Error("ValidateArgs: field reference '" + path + "' is not available; provide fieldContext when creating this view");
|
|
3933
4146
|
}
|
|
3934
|
-
static builder() {
|
|
3935
|
-
return new ValidateArgsBuilder();
|
|
3936
|
-
}
|
|
3937
|
-
static fromBuilder(builder) {
|
|
3938
|
-
const buffer = builder.build();
|
|
3939
|
-
const params = builder.dynamicParams();
|
|
3940
|
-
return _ValidateArgs.from_array(buffer, { params });
|
|
3941
|
-
}
|
|
3942
4147
|
static __tnComputeSequentialLayout(view, buffer) {
|
|
3943
4148
|
const offsets = /* @__PURE__ */ Object.create(null);
|
|
3944
4149
|
const __tnLength = buffer.length;
|
|
@@ -3976,7 +4181,7 @@ var _ValidateArgs = class _ValidateArgs {
|
|
|
3976
4181
|
offsets["client_data"] = __tnCursorMutable;
|
|
3977
4182
|
if (__tnCursorMutable + __tnArrayBytes_client_data > __tnLength) return null;
|
|
3978
4183
|
__tnCursorMutable += __tnArrayBytes_client_data;
|
|
3979
|
-
return
|
|
4184
|
+
return null;
|
|
3980
4185
|
}
|
|
3981
4186
|
static __tnExtractParams(view, buffer) {
|
|
3982
4187
|
if (buffer.length < 69) {
|
|
@@ -4160,6 +4365,29 @@ var _ValidateArgs = class _ValidateArgs {
|
|
|
4160
4365
|
set client_data(value) {
|
|
4161
4366
|
this.set_client_data(value);
|
|
4162
4367
|
}
|
|
4368
|
+
get_target_instruction() {
|
|
4369
|
+
const offset = this.__tnGetDynamicOffset("target_instruction");
|
|
4370
|
+
const tail = this.buffer.subarray(offset);
|
|
4371
|
+
const validation = InstructionData.validate(tail);
|
|
4372
|
+
if (!validation.ok || validation.consumed === void 0) {
|
|
4373
|
+
throw new Error("ValidateArgs: failed to read field 'target_instruction' (invalid nested payload)");
|
|
4374
|
+
}
|
|
4375
|
+
const length = validation.consumed;
|
|
4376
|
+
const slice = tail.subarray(0, length);
|
|
4377
|
+
const opts = validation.params ? { params: validation.params } : void 0;
|
|
4378
|
+
return InstructionData.from_array(slice, opts);
|
|
4379
|
+
}
|
|
4380
|
+
set_target_instruction(value) {
|
|
4381
|
+
const sourceBytes = value.buffer;
|
|
4382
|
+
const offset = this.__tnGetDynamicOffset("target_instruction");
|
|
4383
|
+
this.buffer.set(sourceBytes, offset);
|
|
4384
|
+
}
|
|
4385
|
+
get target_instruction() {
|
|
4386
|
+
return this.get_target_instruction();
|
|
4387
|
+
}
|
|
4388
|
+
set target_instruction(value) {
|
|
4389
|
+
this.set_target_instruction(value);
|
|
4390
|
+
}
|
|
4163
4391
|
static __tnFootprintInternal(__tnParams) {
|
|
4164
4392
|
return __tnEvalFootprint3(__tn_ir_ValidateArgs.root, { params: __tnParams });
|
|
4165
4393
|
}
|
|
@@ -4275,188 +4503,51 @@ var ValidateArgs = _ValidateArgs;
|
|
|
4275
4503
|
})(ValidateArgs || (ValidateArgs = {}));
|
|
4276
4504
|
__tnRegisterFootprint3("ValidateArgs", (params) => ValidateArgs.__tnInvokeFootprint(params));
|
|
4277
4505
|
__tnRegisterValidate3("ValidateArgs", (buffer, params) => ValidateArgs.__tnInvokeValidate(buffer, params));
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
this.
|
|
4506
|
+
__tnRegisterDynamicValidate3("ValidateArgs", (buffer) => {
|
|
4507
|
+
const result = ValidateArgs.validate(buffer);
|
|
4508
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
4509
|
+
});
|
|
4510
|
+
var __tn_ir_WalletAccount = {
|
|
4511
|
+
typeName: "WalletAccount",
|
|
4512
|
+
root: { op: "const", value: 9n }
|
|
4513
|
+
};
|
|
4514
|
+
var WalletAccount = class _WalletAccount {
|
|
4515
|
+
constructor(buffer) {
|
|
4516
|
+
this.buffer = buffer;
|
|
4517
|
+
this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
4289
4518
|
}
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4293
|
-
this.__tnLastParams = null;
|
|
4519
|
+
static __tnCreateView(buffer, opts) {
|
|
4520
|
+
if (!buffer || buffer.length === void 0) throw new Error("WalletAccount.__tnCreateView requires a Uint8Array");
|
|
4521
|
+
return new _WalletAccount(new Uint8Array(buffer));
|
|
4294
4522
|
}
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
this.__tnInvalidate();
|
|
4298
|
-
return this;
|
|
4523
|
+
static builder() {
|
|
4524
|
+
return new WalletAccountBuilder();
|
|
4299
4525
|
}
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
return this;
|
|
4526
|
+
static fromBuilder(builder) {
|
|
4527
|
+
const buffer = builder.build();
|
|
4528
|
+
return _WalletAccount.from_array(buffer);
|
|
4304
4529
|
}
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
this.
|
|
4308
|
-
this.__tnInvalidate();
|
|
4309
|
-
return this;
|
|
4530
|
+
get_num_auth() {
|
|
4531
|
+
const offset = 0;
|
|
4532
|
+
return this.view.getUint8(offset);
|
|
4310
4533
|
}
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
this.
|
|
4314
|
-
this.__tnInvalidate();
|
|
4315
|
-
return this;
|
|
4534
|
+
set_num_auth(value) {
|
|
4535
|
+
const offset = 0;
|
|
4536
|
+
this.view.setUint8(offset, value);
|
|
4316
4537
|
}
|
|
4317
|
-
|
|
4318
|
-
this.
|
|
4319
|
-
this.__tnInvalidate();
|
|
4320
|
-
return this;
|
|
4538
|
+
get num_auth() {
|
|
4539
|
+
return this.get_num_auth();
|
|
4321
4540
|
}
|
|
4322
|
-
|
|
4323
|
-
this.
|
|
4324
|
-
this.__tnInvalidate();
|
|
4325
|
-
return this;
|
|
4541
|
+
set num_auth(value) {
|
|
4542
|
+
this.set_num_auth(value);
|
|
4326
4543
|
}
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
const bytes = new Uint8Array(payload);
|
|
4331
|
-
const elementCount = bytes.length;
|
|
4332
|
-
this.__tnFam_authenticator_data = bytes;
|
|
4333
|
-
this.__tnFam_authenticator_dataCount = elementCount;
|
|
4334
|
-
this.set_authenticator_data_len(elementCount);
|
|
4335
|
-
this.__tnInvalidate();
|
|
4336
|
-
});
|
|
4337
|
-
}
|
|
4338
|
-
return this.__tnFamWriter_authenticator_data;
|
|
4544
|
+
get_nonce() {
|
|
4545
|
+
const offset = 1;
|
|
4546
|
+
return this.view.getBigUint64(offset, true);
|
|
4339
4547
|
}
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
const bytes = new Uint8Array(payload);
|
|
4344
|
-
const elementCount = bytes.length;
|
|
4345
|
-
this.__tnFam_client_data = bytes;
|
|
4346
|
-
this.__tnFam_client_dataCount = elementCount;
|
|
4347
|
-
this.set_client_data_len(elementCount);
|
|
4348
|
-
this.__tnInvalidate();
|
|
4349
|
-
});
|
|
4350
|
-
}
|
|
4351
|
-
return this.__tnFamWriter_client_data;
|
|
4352
|
-
}
|
|
4353
|
-
build() {
|
|
4354
|
-
const params = this.__tnComputeParams();
|
|
4355
|
-
const size = ValidateArgs.footprintFromParams(params);
|
|
4356
|
-
const buffer = new Uint8Array(size);
|
|
4357
|
-
this.__tnWriteInto(buffer);
|
|
4358
|
-
this.__tnValidateOrThrow(buffer, params);
|
|
4359
|
-
return buffer;
|
|
4360
|
-
}
|
|
4361
|
-
buildInto(target, offset = 0) {
|
|
4362
|
-
const params = this.__tnComputeParams();
|
|
4363
|
-
const size = ValidateArgs.footprintFromParams(params);
|
|
4364
|
-
if (target.length - offset < size) throw new Error("ValidateArgsBuilder: target buffer too small");
|
|
4365
|
-
const slice = target.subarray(offset, offset + size);
|
|
4366
|
-
this.__tnWriteInto(slice);
|
|
4367
|
-
this.__tnValidateOrThrow(slice, params);
|
|
4368
|
-
return target;
|
|
4369
|
-
}
|
|
4370
|
-
finish() {
|
|
4371
|
-
const buffer = this.build();
|
|
4372
|
-
const params = this.__tnLastParams ?? this.__tnComputeParams();
|
|
4373
|
-
const view = ValidateArgs.from_array(buffer, { params });
|
|
4374
|
-
if (!view) throw new Error("ValidateArgsBuilder: failed to finalize view");
|
|
4375
|
-
return view;
|
|
4376
|
-
}
|
|
4377
|
-
finishView() {
|
|
4378
|
-
return this.finish();
|
|
4379
|
-
}
|
|
4380
|
-
dynamicParams() {
|
|
4381
|
-
return this.__tnComputeParams();
|
|
4382
|
-
}
|
|
4383
|
-
__tnComputeParams() {
|
|
4384
|
-
if (this.__tnCachedParams) return this.__tnCachedParams;
|
|
4385
|
-
const params = ValidateArgs.Params.fromValues({
|
|
4386
|
-
authenticator_data_authenticator_data_len: (() => {
|
|
4387
|
-
if (this.__tnFam_authenticator_dataCount === null) throw new Error("ValidateArgsBuilder: field 'authenticator_data' must be written before computing params");
|
|
4388
|
-
return __tnToBigInt3(this.__tnFam_authenticator_dataCount);
|
|
4389
|
-
})(),
|
|
4390
|
-
client_data_client_data_len: (() => {
|
|
4391
|
-
if (this.__tnFam_client_dataCount === null) throw new Error("ValidateArgsBuilder: field 'client_data' must be written before computing params");
|
|
4392
|
-
return __tnToBigInt3(this.__tnFam_client_dataCount);
|
|
4393
|
-
})()
|
|
4394
|
-
});
|
|
4395
|
-
this.__tnCachedParams = params;
|
|
4396
|
-
return params;
|
|
4397
|
-
}
|
|
4398
|
-
__tnWriteInto(target) {
|
|
4399
|
-
target.set(this.buffer, 0);
|
|
4400
|
-
let cursor = this.buffer.length;
|
|
4401
|
-
const __tnLocal_authenticator_data_bytes = this.__tnFam_authenticator_data;
|
|
4402
|
-
if (!__tnLocal_authenticator_data_bytes) throw new Error("ValidateArgsBuilder: field 'authenticator_data' must be written before build");
|
|
4403
|
-
target.set(__tnLocal_authenticator_data_bytes, cursor);
|
|
4404
|
-
cursor += __tnLocal_authenticator_data_bytes.length;
|
|
4405
|
-
const __tnLocal_client_data_bytes = this.__tnFam_client_data;
|
|
4406
|
-
if (!__tnLocal_client_data_bytes) throw new Error("ValidateArgsBuilder: field 'client_data' must be written before build");
|
|
4407
|
-
target.set(__tnLocal_client_data_bytes, cursor);
|
|
4408
|
-
cursor += __tnLocal_client_data_bytes.length;
|
|
4409
|
-
}
|
|
4410
|
-
__tnValidateOrThrow(buffer, params) {
|
|
4411
|
-
const result = ValidateArgs.validate(buffer, { params });
|
|
4412
|
-
if (!result.ok) {
|
|
4413
|
-
throw new Error(`${ValidateArgs}Builder: builder produced invalid buffer (code=${result.code ?? "unknown"})`);
|
|
4414
|
-
}
|
|
4415
|
-
this.__tnLastParams = result.params ?? params;
|
|
4416
|
-
this.__tnLastBuffer = buffer;
|
|
4417
|
-
}
|
|
4418
|
-
};
|
|
4419
|
-
var __tn_ir_WalletAccount = {
|
|
4420
|
-
typeName: "WalletAccount",
|
|
4421
|
-
root: { op: "const", value: 9n }
|
|
4422
|
-
};
|
|
4423
|
-
var WalletAccount = class _WalletAccount {
|
|
4424
|
-
constructor(buffer) {
|
|
4425
|
-
this.buffer = buffer;
|
|
4426
|
-
this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
4427
|
-
}
|
|
4428
|
-
static __tnCreateView(buffer, opts) {
|
|
4429
|
-
if (!buffer || buffer.length === void 0) throw new Error("WalletAccount.__tnCreateView requires a Uint8Array");
|
|
4430
|
-
return new _WalletAccount(new Uint8Array(buffer));
|
|
4431
|
-
}
|
|
4432
|
-
static builder() {
|
|
4433
|
-
return new WalletAccountBuilder();
|
|
4434
|
-
}
|
|
4435
|
-
static fromBuilder(builder) {
|
|
4436
|
-
const buffer = builder.build();
|
|
4437
|
-
return _WalletAccount.from_array(buffer);
|
|
4438
|
-
}
|
|
4439
|
-
get_num_auth() {
|
|
4440
|
-
const offset = 0;
|
|
4441
|
-
return this.view.getUint8(offset);
|
|
4442
|
-
}
|
|
4443
|
-
set_num_auth(value) {
|
|
4444
|
-
const offset = 0;
|
|
4445
|
-
this.view.setUint8(offset, value);
|
|
4446
|
-
}
|
|
4447
|
-
get num_auth() {
|
|
4448
|
-
return this.get_num_auth();
|
|
4449
|
-
}
|
|
4450
|
-
set num_auth(value) {
|
|
4451
|
-
this.set_num_auth(value);
|
|
4452
|
-
}
|
|
4453
|
-
get_nonce() {
|
|
4454
|
-
const offset = 1;
|
|
4455
|
-
return this.view.getBigUint64(offset, true);
|
|
4456
|
-
}
|
|
4457
|
-
set_nonce(value) {
|
|
4458
|
-
const offset = 1;
|
|
4459
|
-
this.view.setBigUint64(offset, value, true);
|
|
4548
|
+
set_nonce(value) {
|
|
4549
|
+
const offset = 1;
|
|
4550
|
+
this.view.setBigUint64(offset, value, true);
|
|
4460
4551
|
}
|
|
4461
4552
|
get nonce() {
|
|
4462
4553
|
return this.get_nonce();
|
|
@@ -4510,8 +4601,6 @@ var WalletAccount = class _WalletAccount {
|
|
|
4510
4601
|
return new _WalletAccount(buffer);
|
|
4511
4602
|
}
|
|
4512
4603
|
};
|
|
4513
|
-
__tnRegisterFootprint3("WalletAccount", (params) => WalletAccount.__tnInvokeFootprint(params));
|
|
4514
|
-
__tnRegisterValidate3("WalletAccount", (buffer, params) => WalletAccount.__tnInvokeValidate(buffer, params));
|
|
4515
4604
|
var WalletAccountBuilder = class {
|
|
4516
4605
|
constructor() {
|
|
4517
4606
|
this.buffer = new Uint8Array(9);
|
|
@@ -4540,6 +4629,12 @@ var WalletAccountBuilder = class {
|
|
|
4540
4629
|
return view;
|
|
4541
4630
|
}
|
|
4542
4631
|
};
|
|
4632
|
+
__tnRegisterFootprint3("WalletAccount", (params) => WalletAccount.__tnInvokeFootprint(params));
|
|
4633
|
+
__tnRegisterValidate3("WalletAccount", (buffer, params) => WalletAccount.__tnInvokeValidate(buffer, params));
|
|
4634
|
+
__tnRegisterDynamicValidate3("WalletAccount", (buffer) => {
|
|
4635
|
+
const result = WalletAccount.validate(buffer);
|
|
4636
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
4637
|
+
});
|
|
4543
4638
|
var __tn_ir_WalletCreatedEventData = {
|
|
4544
4639
|
typeName: "WalletCreatedEventData",
|
|
4545
4640
|
root: { op: "const", value: 97n }
|
|
@@ -4631,8 +4726,6 @@ var WalletCreatedEventData = class _WalletCreatedEventData {
|
|
|
4631
4726
|
return new _WalletCreatedEventData(buffer);
|
|
4632
4727
|
}
|
|
4633
4728
|
};
|
|
4634
|
-
__tnRegisterFootprint3("WalletCreatedEventData", (params) => WalletCreatedEventData.__tnInvokeFootprint(params));
|
|
4635
|
-
__tnRegisterValidate3("WalletCreatedEventData", (buffer, params) => WalletCreatedEventData.__tnInvokeValidate(buffer, params));
|
|
4636
4729
|
var WalletCreatedEventDataBuilder = class {
|
|
4637
4730
|
constructor() {
|
|
4638
4731
|
this.buffer = new Uint8Array(97);
|
|
@@ -4662,6 +4755,12 @@ var WalletCreatedEventDataBuilder = class {
|
|
|
4662
4755
|
return view;
|
|
4663
4756
|
}
|
|
4664
4757
|
};
|
|
4758
|
+
__tnRegisterFootprint3("WalletCreatedEventData", (params) => WalletCreatedEventData.__tnInvokeFootprint(params));
|
|
4759
|
+
__tnRegisterValidate3("WalletCreatedEventData", (buffer, params) => WalletCreatedEventData.__tnInvokeValidate(buffer, params));
|
|
4760
|
+
__tnRegisterDynamicValidate3("WalletCreatedEventData", (buffer) => {
|
|
4761
|
+
const result = WalletCreatedEventData.validate(buffer);
|
|
4762
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
4763
|
+
});
|
|
4665
4764
|
var __tn_ir_WalletTransferEventData = {
|
|
4666
4765
|
typeName: "WalletTransferEventData",
|
|
4667
4766
|
root: { op: "const", value: 72n }
|
|
@@ -4767,8 +4866,6 @@ var WalletTransferEventData = class _WalletTransferEventData {
|
|
|
4767
4866
|
return new _WalletTransferEventData(buffer);
|
|
4768
4867
|
}
|
|
4769
4868
|
};
|
|
4770
|
-
__tnRegisterFootprint3("WalletTransferEventData", (params) => WalletTransferEventData.__tnInvokeFootprint(params));
|
|
4771
|
-
__tnRegisterValidate3("WalletTransferEventData", (buffer, params) => WalletTransferEventData.__tnInvokeValidate(buffer, params));
|
|
4772
4869
|
var WalletTransferEventDataBuilder = class {
|
|
4773
4870
|
constructor() {
|
|
4774
4871
|
this.buffer = new Uint8Array(72);
|
|
@@ -4803,6 +4900,12 @@ var WalletTransferEventDataBuilder = class {
|
|
|
4803
4900
|
return view;
|
|
4804
4901
|
}
|
|
4805
4902
|
};
|
|
4903
|
+
__tnRegisterFootprint3("WalletTransferEventData", (params) => WalletTransferEventData.__tnInvokeFootprint(params));
|
|
4904
|
+
__tnRegisterValidate3("WalletTransferEventData", (buffer, params) => WalletTransferEventData.__tnInvokeValidate(buffer, params));
|
|
4905
|
+
__tnRegisterDynamicValidate3("WalletTransferEventData", (buffer) => {
|
|
4906
|
+
const result = WalletTransferEventData.validate(buffer);
|
|
4907
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
4908
|
+
});
|
|
4806
4909
|
var __tn_ir_WalletValidatedEventData = {
|
|
4807
4910
|
typeName: "WalletValidatedEventData",
|
|
4808
4911
|
root: { op: "const", value: 40n }
|
|
@@ -4892,8 +4995,6 @@ var WalletValidatedEventData = class _WalletValidatedEventData {
|
|
|
4892
4995
|
return new _WalletValidatedEventData(buffer);
|
|
4893
4996
|
}
|
|
4894
4997
|
};
|
|
4895
|
-
__tnRegisterFootprint3("WalletValidatedEventData", (params) => WalletValidatedEventData.__tnInvokeFootprint(params));
|
|
4896
|
-
__tnRegisterValidate3("WalletValidatedEventData", (buffer, params) => WalletValidatedEventData.__tnInvokeValidate(buffer, params));
|
|
4897
4998
|
var WalletValidatedEventDataBuilder = class {
|
|
4898
4999
|
constructor() {
|
|
4899
5000
|
this.buffer = new Uint8Array(40);
|
|
@@ -4923,9 +5024,15 @@ var WalletValidatedEventDataBuilder = class {
|
|
|
4923
5024
|
return view;
|
|
4924
5025
|
}
|
|
4925
5026
|
};
|
|
5027
|
+
__tnRegisterFootprint3("WalletValidatedEventData", (params) => WalletValidatedEventData.__tnInvokeFootprint(params));
|
|
5028
|
+
__tnRegisterValidate3("WalletValidatedEventData", (buffer, params) => WalletValidatedEventData.__tnInvokeValidate(buffer, params));
|
|
5029
|
+
__tnRegisterDynamicValidate3("WalletValidatedEventData", (buffer) => {
|
|
5030
|
+
const result = WalletValidatedEventData.validate(buffer);
|
|
5031
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
5032
|
+
});
|
|
4926
5033
|
var __tn_ir_AddAuthorityArgs = {
|
|
4927
5034
|
typeName: "AddAuthorityArgs",
|
|
4928
|
-
root: { op: "const", value:
|
|
5035
|
+
root: { op: "const", value: 67n }
|
|
4929
5036
|
};
|
|
4930
5037
|
var AddAuthorityArgs = class _AddAuthorityArgs {
|
|
4931
5038
|
constructor(buffer) {
|
|
@@ -4943,14 +5050,28 @@ var AddAuthorityArgs = class _AddAuthorityArgs {
|
|
|
4943
5050
|
const buffer = builder.build();
|
|
4944
5051
|
return _AddAuthorityArgs.from_array(buffer);
|
|
4945
5052
|
}
|
|
4946
|
-
|
|
5053
|
+
get_wallet_account_idx() {
|
|
4947
5054
|
const offset = 0;
|
|
5055
|
+
return this.view.getUint16(offset, true);
|
|
5056
|
+
}
|
|
5057
|
+
set_wallet_account_idx(value) {
|
|
5058
|
+
const offset = 0;
|
|
5059
|
+
this.view.setUint16(offset, value, true);
|
|
5060
|
+
}
|
|
5061
|
+
get wallet_account_idx() {
|
|
5062
|
+
return this.get_wallet_account_idx();
|
|
5063
|
+
}
|
|
5064
|
+
set wallet_account_idx(value) {
|
|
5065
|
+
this.set_wallet_account_idx(value);
|
|
5066
|
+
}
|
|
5067
|
+
get_authority() {
|
|
5068
|
+
const offset = 2;
|
|
4948
5069
|
const slice = this.buffer.subarray(offset, offset + 65);
|
|
4949
5070
|
return Authority.from_array(slice);
|
|
4950
5071
|
}
|
|
4951
5072
|
set_authority(value) {
|
|
4952
5073
|
const sourceBytes = value.buffer;
|
|
4953
|
-
const offset =
|
|
5074
|
+
const offset = 2;
|
|
4954
5075
|
this.buffer.set(sourceBytes, offset);
|
|
4955
5076
|
}
|
|
4956
5077
|
get authority() {
|
|
@@ -4983,8 +5104,8 @@ var AddAuthorityArgs = class _AddAuthorityArgs {
|
|
|
4983
5104
|
return __tnBigIntToNumber3(irResult, "AddAuthorityArgs::footprint");
|
|
4984
5105
|
}
|
|
4985
5106
|
static validate(buffer, _opts) {
|
|
4986
|
-
if (buffer.length <
|
|
4987
|
-
return { ok: true, consumed:
|
|
5107
|
+
if (buffer.length < 67) return { ok: false, code: "tn.buffer_too_small", consumed: 67 };
|
|
5108
|
+
return { ok: true, consumed: 67 };
|
|
4988
5109
|
}
|
|
4989
5110
|
static from_array(buffer) {
|
|
4990
5111
|
if (!buffer || buffer.length === void 0) {
|
|
@@ -4998,16 +5119,18 @@ var AddAuthorityArgs = class _AddAuthorityArgs {
|
|
|
4998
5119
|
return new _AddAuthorityArgs(buffer);
|
|
4999
5120
|
}
|
|
5000
5121
|
};
|
|
5001
|
-
__tnRegisterFootprint3("AddAuthorityArgs", (params) => AddAuthorityArgs.__tnInvokeFootprint(params));
|
|
5002
|
-
__tnRegisterValidate3("AddAuthorityArgs", (buffer, params) => AddAuthorityArgs.__tnInvokeValidate(buffer, params));
|
|
5003
5122
|
var AddAuthorityArgsBuilder = class {
|
|
5004
5123
|
constructor() {
|
|
5005
|
-
this.buffer = new Uint8Array(
|
|
5124
|
+
this.buffer = new Uint8Array(67);
|
|
5006
5125
|
this.view = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);
|
|
5007
5126
|
}
|
|
5127
|
+
set_wallet_account_idx(value) {
|
|
5128
|
+
this.view.setUint16(0, value, true);
|
|
5129
|
+
return this;
|
|
5130
|
+
}
|
|
5008
5131
|
set_authority(value) {
|
|
5009
5132
|
if (value.length !== 65) throw new Error("authority expects 65 bytes");
|
|
5010
|
-
this.buffer.set(value,
|
|
5133
|
+
this.buffer.set(value, 2);
|
|
5011
5134
|
return this;
|
|
5012
5135
|
}
|
|
5013
5136
|
build() {
|
|
@@ -5024,6 +5147,12 @@ var AddAuthorityArgsBuilder = class {
|
|
|
5024
5147
|
return view;
|
|
5025
5148
|
}
|
|
5026
5149
|
};
|
|
5150
|
+
__tnRegisterFootprint3("AddAuthorityArgs", (params) => AddAuthorityArgs.__tnInvokeFootprint(params));
|
|
5151
|
+
__tnRegisterValidate3("AddAuthorityArgs", (buffer, params) => AddAuthorityArgs.__tnInvokeValidate(buffer, params));
|
|
5152
|
+
__tnRegisterDynamicValidate3("AddAuthorityArgs", (buffer) => {
|
|
5153
|
+
const result = AddAuthorityArgs.validate(buffer);
|
|
5154
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
5155
|
+
});
|
|
5027
5156
|
var __tn_ir_CredentialLookup = {
|
|
5028
5157
|
typeName: "CredentialLookup",
|
|
5029
5158
|
root: { op: "const", value: 32n }
|
|
@@ -5099,8 +5228,6 @@ var CredentialLookup = class _CredentialLookup {
|
|
|
5099
5228
|
return new _CredentialLookup(buffer);
|
|
5100
5229
|
}
|
|
5101
5230
|
};
|
|
5102
|
-
__tnRegisterFootprint3("CredentialLookup", (params) => CredentialLookup.__tnInvokeFootprint(params));
|
|
5103
|
-
__tnRegisterValidate3("CredentialLookup", (buffer, params) => CredentialLookup.__tnInvokeValidate(buffer, params));
|
|
5104
5231
|
var CredentialLookupBuilder = class {
|
|
5105
5232
|
constructor() {
|
|
5106
5233
|
this.buffer = new Uint8Array(32);
|
|
@@ -5125,6 +5252,12 @@ var CredentialLookupBuilder = class {
|
|
|
5125
5252
|
return view;
|
|
5126
5253
|
}
|
|
5127
5254
|
};
|
|
5255
|
+
__tnRegisterFootprint3("CredentialLookup", (params) => CredentialLookup.__tnInvokeFootprint(params));
|
|
5256
|
+
__tnRegisterValidate3("CredentialLookup", (buffer, params) => CredentialLookup.__tnInvokeValidate(buffer, params));
|
|
5257
|
+
__tnRegisterDynamicValidate3("CredentialLookup", (buffer) => {
|
|
5258
|
+
const result = CredentialLookup.validate(buffer);
|
|
5259
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
5260
|
+
});
|
|
5128
5261
|
var __tn_ir_CredentialRegisteredEventData = {
|
|
5129
5262
|
typeName: "CredentialRegisteredEventData",
|
|
5130
5263
|
root: { op: "const", value: 64n }
|
|
@@ -5216,8 +5349,6 @@ var CredentialRegisteredEventData = class _CredentialRegisteredEventData {
|
|
|
5216
5349
|
return new _CredentialRegisteredEventData(buffer);
|
|
5217
5350
|
}
|
|
5218
5351
|
};
|
|
5219
|
-
__tnRegisterFootprint3("CredentialRegisteredEventData", (params) => CredentialRegisteredEventData.__tnInvokeFootprint(params));
|
|
5220
|
-
__tnRegisterValidate3("CredentialRegisteredEventData", (buffer, params) => CredentialRegisteredEventData.__tnInvokeValidate(buffer, params));
|
|
5221
5352
|
var CredentialRegisteredEventDataBuilder = class {
|
|
5222
5353
|
constructor() {
|
|
5223
5354
|
this.buffer = new Uint8Array(64);
|
|
@@ -5247,344 +5378,12 @@ var CredentialRegisteredEventDataBuilder = class {
|
|
|
5247
5378
|
return view;
|
|
5248
5379
|
}
|
|
5249
5380
|
};
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
this.buffer = buffer;
|
|
5257
|
-
this.__tnFieldContext = null;
|
|
5258
|
-
this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
5259
|
-
this.__tnFieldContext = fieldContext ?? null;
|
|
5260
|
-
if (params) {
|
|
5261
|
-
this.__tnParams = params;
|
|
5262
|
-
} else {
|
|
5263
|
-
const derived = _InvokeArgs.__tnExtractParams(this.view, buffer);
|
|
5264
|
-
if (!derived) {
|
|
5265
|
-
throw new Error("InvokeArgs: failed to derive dynamic parameters");
|
|
5266
|
-
}
|
|
5267
|
-
this.__tnParams = derived.params;
|
|
5268
|
-
}
|
|
5269
|
-
}
|
|
5270
|
-
static __tnCreateView(buffer, opts) {
|
|
5271
|
-
if (!buffer || buffer.length === void 0) throw new Error("InvokeArgs.__tnCreateView requires a Uint8Array");
|
|
5272
|
-
let params = opts?.params ?? null;
|
|
5273
|
-
if (!params) {
|
|
5274
|
-
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
5275
|
-
const derived = _InvokeArgs.__tnExtractParams(view, buffer);
|
|
5276
|
-
if (!derived) throw new Error("InvokeArgs.__tnCreateView: failed to derive params");
|
|
5277
|
-
params = derived.params;
|
|
5278
|
-
}
|
|
5279
|
-
const instance = new _InvokeArgs(new Uint8Array(buffer), params, opts?.fieldContext);
|
|
5280
|
-
return instance;
|
|
5281
|
-
}
|
|
5282
|
-
dynamicParams() {
|
|
5283
|
-
return this.__tnParams;
|
|
5284
|
-
}
|
|
5285
|
-
withFieldContext(context) {
|
|
5286
|
-
this.__tnFieldContext = context;
|
|
5287
|
-
return this;
|
|
5288
|
-
}
|
|
5289
|
-
__tnResolveFieldRef(path) {
|
|
5290
|
-
const getterName = `get_${path.replace(/[.]/g, "_")}`;
|
|
5291
|
-
const getter = this[getterName];
|
|
5292
|
-
if (typeof getter === "function") {
|
|
5293
|
-
const value = getter.call(this);
|
|
5294
|
-
return typeof value === "bigint" ? __tnBigIntToNumber3(value, "InvokeArgs::__tnResolveFieldRef") : value;
|
|
5295
|
-
}
|
|
5296
|
-
if (this.__tnFieldContext && Object.prototype.hasOwnProperty.call(this.__tnFieldContext, path)) {
|
|
5297
|
-
const contextValue = this.__tnFieldContext[path];
|
|
5298
|
-
return typeof contextValue === "bigint" ? __tnBigIntToNumber3(contextValue, "InvokeArgs::__tnResolveFieldRef") : contextValue;
|
|
5299
|
-
}
|
|
5300
|
-
throw new Error("InvokeArgs: field reference '" + path + "' is not available; provide fieldContext when creating this view");
|
|
5301
|
-
}
|
|
5302
|
-
static builder() {
|
|
5303
|
-
return new InvokeArgsBuilder();
|
|
5304
|
-
}
|
|
5305
|
-
static fromBuilder(builder) {
|
|
5306
|
-
const buffer = builder.build();
|
|
5307
|
-
const params = builder.dynamicParams();
|
|
5308
|
-
return _InvokeArgs.from_array(buffer, { params });
|
|
5309
|
-
}
|
|
5310
|
-
static __tnExtractParams(view, buffer) {
|
|
5311
|
-
if (buffer.length < 34) {
|
|
5312
|
-
return null;
|
|
5313
|
-
}
|
|
5314
|
-
const __tnParam_instr_instr_len = __tnToBigInt3(view.getUint16(32, true));
|
|
5315
|
-
const __tnExtractedParams = _InvokeArgs.Params.fromValues({
|
|
5316
|
-
instr_instr_len: __tnParam_instr_instr_len
|
|
5317
|
-
});
|
|
5318
|
-
return { params: __tnExtractedParams, derived: null };
|
|
5319
|
-
}
|
|
5320
|
-
get_program_pubkey() {
|
|
5321
|
-
const offset = 0;
|
|
5322
|
-
const slice = this.buffer.subarray(offset, offset + 32);
|
|
5323
|
-
return Pubkey.from_array(slice);
|
|
5324
|
-
}
|
|
5325
|
-
set_program_pubkey(value) {
|
|
5326
|
-
const sourceBytes = value.buffer;
|
|
5327
|
-
const offset = 0;
|
|
5328
|
-
this.buffer.set(sourceBytes, offset);
|
|
5329
|
-
}
|
|
5330
|
-
get program_pubkey() {
|
|
5331
|
-
return this.get_program_pubkey();
|
|
5332
|
-
}
|
|
5333
|
-
set program_pubkey(value) {
|
|
5334
|
-
this.set_program_pubkey(value);
|
|
5335
|
-
}
|
|
5336
|
-
get_instr_len() {
|
|
5337
|
-
const offset = 32;
|
|
5338
|
-
return this.view.getUint16(offset, true);
|
|
5339
|
-
}
|
|
5340
|
-
set_instr_len(value) {
|
|
5341
|
-
const offset = 32;
|
|
5342
|
-
this.view.setUint16(offset, value, true);
|
|
5343
|
-
}
|
|
5344
|
-
get instr_len() {
|
|
5345
|
-
return this.get_instr_len();
|
|
5346
|
-
}
|
|
5347
|
-
set instr_len(value) {
|
|
5348
|
-
this.set_instr_len(value);
|
|
5349
|
-
}
|
|
5350
|
-
get_instr_length() {
|
|
5351
|
-
return this.__tnResolveFieldRef("instr_len");
|
|
5352
|
-
}
|
|
5353
|
-
get_instr_at(index) {
|
|
5354
|
-
const offset = 34;
|
|
5355
|
-
return this.view.getUint8(offset + index * 1);
|
|
5356
|
-
}
|
|
5357
|
-
get_instr() {
|
|
5358
|
-
const len = this.get_instr_length();
|
|
5359
|
-
const result = [];
|
|
5360
|
-
for (let i = 0; i < len; i++) {
|
|
5361
|
-
result.push(this.get_instr_at(i));
|
|
5362
|
-
}
|
|
5363
|
-
return result;
|
|
5364
|
-
}
|
|
5365
|
-
set_instr_at(index, value) {
|
|
5366
|
-
const offset = 34;
|
|
5367
|
-
this.view.setUint8(offset + index * 1, value);
|
|
5368
|
-
}
|
|
5369
|
-
set_instr(value) {
|
|
5370
|
-
const len = Math.min(this.get_instr_length(), value.length);
|
|
5371
|
-
for (let i = 0; i < len; i++) {
|
|
5372
|
-
this.set_instr_at(i, value[i]);
|
|
5373
|
-
}
|
|
5374
|
-
}
|
|
5375
|
-
get instr() {
|
|
5376
|
-
return this.get_instr();
|
|
5377
|
-
}
|
|
5378
|
-
set instr(value) {
|
|
5379
|
-
this.set_instr(value);
|
|
5380
|
-
}
|
|
5381
|
-
static __tnFootprintInternal(__tnParams) {
|
|
5382
|
-
return __tnEvalFootprint3(__tn_ir_InvokeArgs.root, { params: __tnParams });
|
|
5383
|
-
}
|
|
5384
|
-
static __tnValidateInternal(buffer, __tnParams) {
|
|
5385
|
-
return __tnValidateIrTree3(__tn_ir_InvokeArgs, buffer, __tnParams);
|
|
5386
|
-
}
|
|
5387
|
-
static __tnInvokeFootprint(__tnParams) {
|
|
5388
|
-
return this.__tnFootprintInternal(__tnParams);
|
|
5389
|
-
}
|
|
5390
|
-
static __tnInvokeValidate(buffer, __tnParams) {
|
|
5391
|
-
return this.__tnValidateInternal(buffer, __tnParams);
|
|
5392
|
-
}
|
|
5393
|
-
static footprintIr(instr_instr_len) {
|
|
5394
|
-
const params = _InvokeArgs.Params.fromValues({
|
|
5395
|
-
instr_instr_len
|
|
5396
|
-
});
|
|
5397
|
-
return this.footprintIrFromParams(params);
|
|
5398
|
-
}
|
|
5399
|
-
static __tnPackParams(params) {
|
|
5400
|
-
const record = /* @__PURE__ */ Object.create(null);
|
|
5401
|
-
record["instr.instr_len"] = params.instr_instr_len;
|
|
5402
|
-
return record;
|
|
5403
|
-
}
|
|
5404
|
-
static footprintIrFromParams(params) {
|
|
5405
|
-
const __tnParams = this.__tnPackParams(params);
|
|
5406
|
-
return this.__tnFootprintInternal(__tnParams);
|
|
5407
|
-
}
|
|
5408
|
-
static footprintFromParams(params) {
|
|
5409
|
-
const irResult = this.footprintIrFromParams(params);
|
|
5410
|
-
const maxSafe = __tnToBigInt3(Number.MAX_SAFE_INTEGER);
|
|
5411
|
-
if (__tnBigIntGreaterThan3(irResult, maxSafe)) throw new Error("footprint exceeds Number.MAX_SAFE_INTEGER for InvokeArgs");
|
|
5412
|
-
return __tnBigIntToNumber3(irResult, "InvokeArgs::footprintFromParams");
|
|
5413
|
-
}
|
|
5414
|
-
static footprintFromValues(input) {
|
|
5415
|
-
const params = _InvokeArgs.params(input);
|
|
5416
|
-
return this.footprintFromParams(params);
|
|
5417
|
-
}
|
|
5418
|
-
static footprint(params) {
|
|
5419
|
-
return this.footprintFromParams(params);
|
|
5420
|
-
}
|
|
5421
|
-
static validate(buffer, opts) {
|
|
5422
|
-
if (!buffer || buffer.length === void 0) {
|
|
5423
|
-
return { ok: false, code: "tn.invalid_buffer" };
|
|
5424
|
-
}
|
|
5425
|
-
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
5426
|
-
let params = opts?.params ?? null;
|
|
5427
|
-
if (!params) {
|
|
5428
|
-
const extracted = this.__tnExtractParams(view, buffer);
|
|
5429
|
-
if (!extracted) return { ok: false, code: "tn.param_extraction_failed" };
|
|
5430
|
-
params = extracted.params;
|
|
5431
|
-
}
|
|
5432
|
-
const __tnParamsRec = this.__tnPackParams(params);
|
|
5433
|
-
const irResult = this.__tnValidateInternal(buffer, __tnParamsRec);
|
|
5434
|
-
if (!irResult.ok) {
|
|
5435
|
-
return { ok: false, code: irResult.code, consumed: irResult.consumed ? __tnBigIntToNumber3(irResult.consumed, "InvokeArgs::validate") : void 0, params };
|
|
5436
|
-
}
|
|
5437
|
-
const consumed = irResult.consumed ? __tnBigIntToNumber3(irResult.consumed, "InvokeArgs::validate") : void 0;
|
|
5438
|
-
return { ok: true, consumed, params };
|
|
5439
|
-
}
|
|
5440
|
-
static from_array(buffer, opts) {
|
|
5441
|
-
if (!buffer || buffer.length === void 0) {
|
|
5442
|
-
return null;
|
|
5443
|
-
}
|
|
5444
|
-
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
5445
|
-
let params = opts?.params ?? null;
|
|
5446
|
-
if (!params) {
|
|
5447
|
-
const derived = this.__tnExtractParams(view, buffer);
|
|
5448
|
-
if (!derived) return null;
|
|
5449
|
-
params = derived.params;
|
|
5450
|
-
}
|
|
5451
|
-
const validation = this.validate(buffer, { params });
|
|
5452
|
-
if (!validation.ok) {
|
|
5453
|
-
return null;
|
|
5454
|
-
}
|
|
5455
|
-
const cached = validation.params ?? params;
|
|
5456
|
-
const state = new _InvokeArgs(buffer, cached);
|
|
5457
|
-
return state;
|
|
5458
|
-
}
|
|
5459
|
-
};
|
|
5460
|
-
_InvokeArgs.flexibleArrayWriters = Object.freeze([
|
|
5461
|
-
{ field: "instr", method: "instr", sizeField: "instr_len", paramKey: "instr_len", elementSize: 1 }
|
|
5462
|
-
]);
|
|
5463
|
-
var InvokeArgs = _InvokeArgs;
|
|
5464
|
-
((InvokeArgs2) => {
|
|
5465
|
-
InvokeArgs2.ParamKeys = Object.freeze({
|
|
5466
|
-
instr_instr_len: "instr.instr_len"
|
|
5467
|
-
});
|
|
5468
|
-
InvokeArgs2.Params = {
|
|
5469
|
-
fromValues(input) {
|
|
5470
|
-
return {
|
|
5471
|
-
instr_instr_len: __tnToBigInt3(input.instr_instr_len)
|
|
5472
|
-
};
|
|
5473
|
-
},
|
|
5474
|
-
fromBuilder(source) {
|
|
5475
|
-
if (source.dynamicParams) {
|
|
5476
|
-
return source.dynamicParams();
|
|
5477
|
-
}
|
|
5478
|
-
if (source.params) {
|
|
5479
|
-
return source.params;
|
|
5480
|
-
}
|
|
5481
|
-
return source;
|
|
5482
|
-
}
|
|
5483
|
-
};
|
|
5484
|
-
function params(input) {
|
|
5485
|
-
return InvokeArgs2.Params.fromValues(input);
|
|
5486
|
-
}
|
|
5487
|
-
InvokeArgs2.params = params;
|
|
5488
|
-
})(InvokeArgs || (InvokeArgs = {}));
|
|
5489
|
-
__tnRegisterFootprint3("InvokeArgs", (params) => InvokeArgs.__tnInvokeFootprint(params));
|
|
5490
|
-
__tnRegisterValidate3("InvokeArgs", (buffer, params) => InvokeArgs.__tnInvokeValidate(buffer, params));
|
|
5491
|
-
var InvokeArgsBuilder = class {
|
|
5492
|
-
constructor() {
|
|
5493
|
-
this.__tnCachedParams = null;
|
|
5494
|
-
this.__tnLastBuffer = null;
|
|
5495
|
-
this.__tnLastParams = null;
|
|
5496
|
-
this.__tnFam_instr = null;
|
|
5497
|
-
this.__tnFam_instrCount = null;
|
|
5498
|
-
this.buffer = new Uint8Array(34);
|
|
5499
|
-
this.view = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);
|
|
5500
|
-
}
|
|
5501
|
-
__tnInvalidate() {
|
|
5502
|
-
this.__tnCachedParams = null;
|
|
5503
|
-
this.__tnLastBuffer = null;
|
|
5504
|
-
this.__tnLastParams = null;
|
|
5505
|
-
}
|
|
5506
|
-
set_program_pubkey(value) {
|
|
5507
|
-
if (value.length !== 32) throw new Error("program_pubkey expects 32 bytes");
|
|
5508
|
-
this.buffer.set(value, 0);
|
|
5509
|
-
this.__tnInvalidate();
|
|
5510
|
-
return this;
|
|
5511
|
-
}
|
|
5512
|
-
set_instr_len(value) {
|
|
5513
|
-
this.view.setUint16(32, value, true);
|
|
5514
|
-
this.__tnInvalidate();
|
|
5515
|
-
return this;
|
|
5516
|
-
}
|
|
5517
|
-
instr() {
|
|
5518
|
-
if (!this.__tnFamWriter_instr) {
|
|
5519
|
-
this.__tnFamWriter_instr = __tnCreateFamWriter2(this, "instr", (payload) => {
|
|
5520
|
-
const bytes = new Uint8Array(payload);
|
|
5521
|
-
const elementCount = bytes.length;
|
|
5522
|
-
this.__tnFam_instr = bytes;
|
|
5523
|
-
this.__tnFam_instrCount = elementCount;
|
|
5524
|
-
this.set_instr_len(elementCount);
|
|
5525
|
-
this.__tnInvalidate();
|
|
5526
|
-
});
|
|
5527
|
-
}
|
|
5528
|
-
return this.__tnFamWriter_instr;
|
|
5529
|
-
}
|
|
5530
|
-
build() {
|
|
5531
|
-
const params = this.__tnComputeParams();
|
|
5532
|
-
const size = InvokeArgs.footprintFromParams(params);
|
|
5533
|
-
const buffer = new Uint8Array(size);
|
|
5534
|
-
this.__tnWriteInto(buffer);
|
|
5535
|
-
this.__tnValidateOrThrow(buffer, params);
|
|
5536
|
-
return buffer;
|
|
5537
|
-
}
|
|
5538
|
-
buildInto(target, offset = 0) {
|
|
5539
|
-
const params = this.__tnComputeParams();
|
|
5540
|
-
const size = InvokeArgs.footprintFromParams(params);
|
|
5541
|
-
if (target.length - offset < size) throw new Error("InvokeArgsBuilder: target buffer too small");
|
|
5542
|
-
const slice = target.subarray(offset, offset + size);
|
|
5543
|
-
this.__tnWriteInto(slice);
|
|
5544
|
-
this.__tnValidateOrThrow(slice, params);
|
|
5545
|
-
return target;
|
|
5546
|
-
}
|
|
5547
|
-
finish() {
|
|
5548
|
-
const buffer = this.build();
|
|
5549
|
-
const params = this.__tnLastParams ?? this.__tnComputeParams();
|
|
5550
|
-
const view = InvokeArgs.from_array(buffer, { params });
|
|
5551
|
-
if (!view) throw new Error("InvokeArgsBuilder: failed to finalize view");
|
|
5552
|
-
return view;
|
|
5553
|
-
}
|
|
5554
|
-
finishView() {
|
|
5555
|
-
return this.finish();
|
|
5556
|
-
}
|
|
5557
|
-
dynamicParams() {
|
|
5558
|
-
return this.__tnComputeParams();
|
|
5559
|
-
}
|
|
5560
|
-
__tnComputeParams() {
|
|
5561
|
-
if (this.__tnCachedParams) return this.__tnCachedParams;
|
|
5562
|
-
const params = InvokeArgs.Params.fromValues({
|
|
5563
|
-
instr_instr_len: (() => {
|
|
5564
|
-
if (this.__tnFam_instrCount === null) throw new Error("InvokeArgsBuilder: field 'instr' must be written before computing params");
|
|
5565
|
-
return __tnToBigInt3(this.__tnFam_instrCount);
|
|
5566
|
-
})()
|
|
5567
|
-
});
|
|
5568
|
-
this.__tnCachedParams = params;
|
|
5569
|
-
return params;
|
|
5570
|
-
}
|
|
5571
|
-
__tnWriteInto(target) {
|
|
5572
|
-
target.set(this.buffer, 0);
|
|
5573
|
-
let cursor = this.buffer.length;
|
|
5574
|
-
const __tnLocal_instr_bytes = this.__tnFam_instr;
|
|
5575
|
-
if (!__tnLocal_instr_bytes) throw new Error("InvokeArgsBuilder: field 'instr' must be written before build");
|
|
5576
|
-
target.set(__tnLocal_instr_bytes, cursor);
|
|
5577
|
-
cursor += __tnLocal_instr_bytes.length;
|
|
5578
|
-
}
|
|
5579
|
-
__tnValidateOrThrow(buffer, params) {
|
|
5580
|
-
const result = InvokeArgs.validate(buffer, { params });
|
|
5581
|
-
if (!result.ok) {
|
|
5582
|
-
throw new Error(`${InvokeArgs}Builder: builder produced invalid buffer (code=${result.code ?? "unknown"})`);
|
|
5583
|
-
}
|
|
5584
|
-
this.__tnLastParams = result.params ?? params;
|
|
5585
|
-
this.__tnLastBuffer = buffer;
|
|
5586
|
-
}
|
|
5587
|
-
};
|
|
5381
|
+
__tnRegisterFootprint3("CredentialRegisteredEventData", (params) => CredentialRegisteredEventData.__tnInvokeFootprint(params));
|
|
5382
|
+
__tnRegisterValidate3("CredentialRegisteredEventData", (buffer, params) => CredentialRegisteredEventData.__tnInvokeValidate(buffer, params));
|
|
5383
|
+
__tnRegisterDynamicValidate3("CredentialRegisteredEventData", (buffer) => {
|
|
5384
|
+
const result = CredentialRegisteredEventData.validate(buffer);
|
|
5385
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
5386
|
+
});
|
|
5588
5387
|
var __tn_ir_PasskeyEvent = {
|
|
5589
5388
|
typeName: "PasskeyEvent",
|
|
5590
5389
|
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "align", alignment: 1, node: { op: "const", value: 1n } }, right: { op: "align", alignment: 1, node: { op: "switch", tag: "PasskeyEvent::payload.event_type", cases: [{ value: 0, node: { op: "align", alignment: 1, node: { op: "const", value: 97n } } }, { value: 1, node: { op: "align", alignment: 1, node: { op: "const", value: 40n } } }, { value: 2, node: { op: "align", alignment: 1, node: { op: "const", value: 72n } } }, { value: 3, node: { op: "align", alignment: 1, node: { op: "const", value: 64n } } }] } } } }
|
|
@@ -5835,8 +5634,6 @@ var PasskeyEvent = _PasskeyEvent;
|
|
|
5835
5634
|
}
|
|
5836
5635
|
PasskeyEvent2.params = params;
|
|
5837
5636
|
})(PasskeyEvent || (PasskeyEvent = {}));
|
|
5838
|
-
__tnRegisterFootprint3("PasskeyEvent", (params) => PasskeyEvent.__tnInvokeFootprint(params));
|
|
5839
|
-
__tnRegisterValidate3("PasskeyEvent", (buffer, params) => PasskeyEvent.__tnInvokeValidate(buffer, params));
|
|
5840
5637
|
var PasskeyEventBuilder = class {
|
|
5841
5638
|
constructor() {
|
|
5842
5639
|
this.__tnField_event_type = null;
|
|
@@ -5936,6 +5733,12 @@ var PasskeyEventBuilder = class {
|
|
|
5936
5733
|
this.__tnLastBuffer = buffer;
|
|
5937
5734
|
}
|
|
5938
5735
|
};
|
|
5736
|
+
__tnRegisterFootprint3("PasskeyEvent", (params) => PasskeyEvent.__tnInvokeFootprint(params));
|
|
5737
|
+
__tnRegisterValidate3("PasskeyEvent", (buffer, params) => PasskeyEvent.__tnInvokeValidate(buffer, params));
|
|
5738
|
+
__tnRegisterDynamicValidate3("PasskeyEvent", (buffer) => {
|
|
5739
|
+
const result = PasskeyEvent.validate(buffer);
|
|
5740
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
5741
|
+
});
|
|
5939
5742
|
var __tn_ir_CreateArgs = {
|
|
5940
5743
|
typeName: "CreateArgs",
|
|
5941
5744
|
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "add", left: { op: "add", left: { op: "align", alignment: 2, node: { op: "const", value: 2n } }, right: { op: "align", alignment: 1, node: { op: "const", value: 65n } } }, right: { op: "align", alignment: 1, node: { op: "const", value: 32n } } }, right: { op: "align", alignment: 1, node: { op: "call", typeName: "StateProof", args: [{ name: "proof_body.hdr.type_slot", source: "proof_body.hdr.type_slot" }, { name: "proof_body.payload_size", source: "proof_body.payload_size" }] } } } }
|
|
@@ -6064,8 +5867,6 @@ var CreateArgs = class _CreateArgs {
|
|
|
6064
5867
|
return new _CreateArgs(buffer);
|
|
6065
5868
|
}
|
|
6066
5869
|
};
|
|
6067
|
-
__tnRegisterFootprint3("CreateArgs", (params) => CreateArgs.__tnInvokeFootprint(params));
|
|
6068
|
-
__tnRegisterValidate3("CreateArgs", (buffer, params) => CreateArgs.__tnInvokeValidate(buffer, params));
|
|
6069
5870
|
var CreateArgsBuilder = class {
|
|
6070
5871
|
constructor() {
|
|
6071
5872
|
this.__tnTail_state_proof = null;
|
|
@@ -6154,6 +5955,12 @@ var CreateArgsBuilder = class {
|
|
|
6154
5955
|
}
|
|
6155
5956
|
}
|
|
6156
5957
|
};
|
|
5958
|
+
__tnRegisterFootprint3("CreateArgs", (params) => CreateArgs.__tnInvokeFootprint(params));
|
|
5959
|
+
__tnRegisterValidate3("CreateArgs", (buffer, params) => CreateArgs.__tnInvokeValidate(buffer, params));
|
|
5960
|
+
__tnRegisterDynamicValidate3("CreateArgs", (buffer) => {
|
|
5961
|
+
const result = CreateArgs.validate(buffer);
|
|
5962
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
5963
|
+
});
|
|
6157
5964
|
var __tn_ir_RegisterCredentialArgs = {
|
|
6158
5965
|
typeName: "RegisterCredentialArgs",
|
|
6159
5966
|
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "add", left: { op: "add", left: { op: "align", alignment: 2, node: { op: "const", value: 2n } }, right: { op: "align", alignment: 2, node: { op: "const", value: 2n } } }, right: { op: "align", alignment: 1, node: { op: "const", value: 32n } } }, right: { op: "align", alignment: 1, node: { op: "call", typeName: "StateProof", args: [{ name: "proof_body.hdr.type_slot", source: "proof_body.hdr.type_slot" }, { name: "proof_body.payload_size", source: "proof_body.payload_size" }] } } } }
|
|
@@ -6280,8 +6087,6 @@ var RegisterCredentialArgs = class _RegisterCredentialArgs {
|
|
|
6280
6087
|
return new _RegisterCredentialArgs(buffer);
|
|
6281
6088
|
}
|
|
6282
6089
|
};
|
|
6283
|
-
__tnRegisterFootprint3("RegisterCredentialArgs", (params) => RegisterCredentialArgs.__tnInvokeFootprint(params));
|
|
6284
|
-
__tnRegisterValidate3("RegisterCredentialArgs", (buffer, params) => RegisterCredentialArgs.__tnInvokeValidate(buffer, params));
|
|
6285
6090
|
var RegisterCredentialArgsBuilder = class {
|
|
6286
6091
|
constructor() {
|
|
6287
6092
|
this.__tnTail_state_proof = null;
|
|
@@ -6369,6 +6174,12 @@ var RegisterCredentialArgsBuilder = class {
|
|
|
6369
6174
|
}
|
|
6370
6175
|
}
|
|
6371
6176
|
};
|
|
6177
|
+
__tnRegisterFootprint3("RegisterCredentialArgs", (params) => RegisterCredentialArgs.__tnInvokeFootprint(params));
|
|
6178
|
+
__tnRegisterValidate3("RegisterCredentialArgs", (buffer, params) => RegisterCredentialArgs.__tnInvokeValidate(buffer, params));
|
|
6179
|
+
__tnRegisterDynamicValidate3("RegisterCredentialArgs", (buffer) => {
|
|
6180
|
+
const result = RegisterCredentialArgs.validate(buffer);
|
|
6181
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
6182
|
+
});
|
|
6372
6183
|
var __tn_ir_PasskeyInstruction = {
|
|
6373
6184
|
typeName: "PasskeyInstruction",
|
|
6374
6185
|
root: { op: "align", alignment: 1, node: { op: "add", left: { op: "align", alignment: 1, node: { op: "const", value: 1n } }, right: { op: "align", alignment: 1, node: { op: "field", param: "payload.payload_size" } } } }
|
|
@@ -6402,10 +6213,6 @@ var PasskeyInstruction_payload_Inner = class _PasskeyInstruction_payload_Inner {
|
|
|
6402
6213
|
if (!this.descriptor || this.descriptor.tag !== 2) return null;
|
|
6403
6214
|
return TransferArgs.__tnCreateView(new Uint8Array(this.buffer), { fieldContext: this.__tnFieldContext ?? void 0 });
|
|
6404
6215
|
}
|
|
6405
|
-
asInvoke() {
|
|
6406
|
-
if (!this.descriptor || this.descriptor.tag !== 3) return null;
|
|
6407
|
-
return InvokeArgs.__tnCreateView(new Uint8Array(this.buffer), { fieldContext: this.__tnFieldContext ?? void 0 });
|
|
6408
|
-
}
|
|
6409
6216
|
asAddAuthority() {
|
|
6410
6217
|
if (!this.descriptor || this.descriptor.tag !== 4) return null;
|
|
6411
6218
|
return AddAuthorityArgs.__tnCreateView(new Uint8Array(this.buffer), { fieldContext: this.__tnFieldContext ?? void 0 });
|
|
@@ -6475,8 +6282,6 @@ var _PasskeyInstruction = class _PasskeyInstruction {
|
|
|
6475
6282
|
break;
|
|
6476
6283
|
case 2:
|
|
6477
6284
|
break;
|
|
6478
|
-
case 3:
|
|
6479
|
-
break;
|
|
6480
6285
|
case 4:
|
|
6481
6286
|
break;
|
|
6482
6287
|
case 5:
|
|
@@ -6634,7 +6439,7 @@ _PasskeyInstruction.payloadVariantDescriptors = Object.freeze([
|
|
|
6634
6439
|
tag: 1,
|
|
6635
6440
|
payloadSize: null,
|
|
6636
6441
|
payloadType: "PasskeyInstruction::payload::validate",
|
|
6637
|
-
createPayloadBuilder: () =>
|
|
6442
|
+
createPayloadBuilder: () => null
|
|
6638
6443
|
},
|
|
6639
6444
|
{
|
|
6640
6445
|
name: "transfer",
|
|
@@ -6643,24 +6448,17 @@ _PasskeyInstruction.payloadVariantDescriptors = Object.freeze([
|
|
|
6643
6448
|
payloadType: "PasskeyInstruction::payload::transfer",
|
|
6644
6449
|
createPayloadBuilder: () => __tnMaybeCallBuilder(TransferArgs)
|
|
6645
6450
|
},
|
|
6646
|
-
{
|
|
6647
|
-
name: "invoke",
|
|
6648
|
-
tag: 3,
|
|
6649
|
-
payloadSize: null,
|
|
6650
|
-
payloadType: "PasskeyInstruction::payload::invoke",
|
|
6651
|
-
createPayloadBuilder: () => __tnMaybeCallBuilder(InvokeArgs)
|
|
6652
|
-
},
|
|
6653
6451
|
{
|
|
6654
6452
|
name: "add_authority",
|
|
6655
6453
|
tag: 4,
|
|
6656
|
-
payloadSize:
|
|
6454
|
+
payloadSize: 67,
|
|
6657
6455
|
payloadType: "PasskeyInstruction::payload::add_authority",
|
|
6658
6456
|
createPayloadBuilder: () => __tnMaybeCallBuilder(AddAuthorityArgs)
|
|
6659
6457
|
},
|
|
6660
6458
|
{
|
|
6661
6459
|
name: "remove_authority",
|
|
6662
6460
|
tag: 5,
|
|
6663
|
-
payloadSize:
|
|
6461
|
+
payloadSize: 3,
|
|
6664
6462
|
payloadType: "PasskeyInstruction::payload::remove_authority",
|
|
6665
6463
|
createPayloadBuilder: () => __tnMaybeCallBuilder(RemoveAuthorityArgs)
|
|
6666
6464
|
},
|
|
@@ -6700,8 +6498,6 @@ var PasskeyInstruction = _PasskeyInstruction;
|
|
|
6700
6498
|
}
|
|
6701
6499
|
PasskeyInstruction2.params = params;
|
|
6702
6500
|
})(PasskeyInstruction || (PasskeyInstruction = {}));
|
|
6703
|
-
__tnRegisterFootprint3("PasskeyInstruction", (params) => PasskeyInstruction.__tnInvokeFootprint(params));
|
|
6704
|
-
__tnRegisterValidate3("PasskeyInstruction", (buffer, params) => PasskeyInstruction.__tnInvokeValidate(buffer, params));
|
|
6705
6501
|
var PasskeyInstructionBuilder = class {
|
|
6706
6502
|
constructor() {
|
|
6707
6503
|
this.__tnField_tag = null;
|
|
@@ -6806,6 +6602,12 @@ var PasskeyInstructionBuilder = class {
|
|
|
6806
6602
|
this.__tnLastBuffer = buffer;
|
|
6807
6603
|
}
|
|
6808
6604
|
};
|
|
6605
|
+
__tnRegisterFootprint3("PasskeyInstruction", (params) => PasskeyInstruction.__tnInvokeFootprint(params));
|
|
6606
|
+
__tnRegisterValidate3("PasskeyInstruction", (buffer, params) => PasskeyInstruction.__tnInvokeValidate(buffer, params));
|
|
6607
|
+
__tnRegisterDynamicValidate3("PasskeyInstruction", (buffer) => {
|
|
6608
|
+
const result = PasskeyInstruction.validate(buffer);
|
|
6609
|
+
return { ok: result.ok, code: result.code, consumed: result.consumed === void 0 ? void 0 : __tnToBigInt3(result.consumed) };
|
|
6610
|
+
});
|
|
6809
6611
|
|
|
6810
6612
|
// src/passkey-manager/instructions/create.ts
|
|
6811
6613
|
function buildAuthority(authority) {
|
|
@@ -6834,16 +6636,81 @@ function encodeCreateInstruction(params) {
|
|
|
6834
6636
|
return new PasskeyInstructionBuilder().payload().select("create").writePayload(argsPayload).finish().build();
|
|
6835
6637
|
}
|
|
6836
6638
|
|
|
6639
|
+
// src/passkey-manager/target-instruction.ts
|
|
6640
|
+
function buildTargetInstructionBytes({
|
|
6641
|
+
programIdx,
|
|
6642
|
+
instructionData
|
|
6643
|
+
}) {
|
|
6644
|
+
if (!Number.isInteger(programIdx) || programIdx < 0 || programIdx > 65535) {
|
|
6645
|
+
throw new Error("programIdx must be 0-65535");
|
|
6646
|
+
}
|
|
6647
|
+
if (!(instructionData instanceof Uint8Array)) {
|
|
6648
|
+
throw new Error("instructionData must be a Uint8Array");
|
|
6649
|
+
}
|
|
6650
|
+
const builder = new InstructionDataBuilder();
|
|
6651
|
+
builder.set_program_idx(programIdx);
|
|
6652
|
+
builder.data().write(instructionData).finish();
|
|
6653
|
+
const buffer = builder.build();
|
|
6654
|
+
const view = InstructionData.from_array(buffer);
|
|
6655
|
+
if (!view) {
|
|
6656
|
+
throw new Error("generated InstructionData failed validation");
|
|
6657
|
+
}
|
|
6658
|
+
return buffer;
|
|
6659
|
+
}
|
|
6660
|
+
|
|
6837
6661
|
// src/passkey-manager/instructions/validate.ts
|
|
6662
|
+
var U8_SIZE = Uint8Array.BYTES_PER_ELEMENT;
|
|
6663
|
+
var U16_SIZE = Uint16Array.BYTES_PER_ELEMENT;
|
|
6664
|
+
var P256_COORDINATE_SIZE = 32;
|
|
6665
|
+
var VALIDATE_FIXED_PREFIX_SIZE = U16_SIZE + U8_SIZE + P256_COORDINATE_SIZE + P256_COORDINATE_SIZE + U16_SIZE + U16_SIZE;
|
|
6666
|
+
function writeU16LE(target, offset, value) {
|
|
6667
|
+
target[offset] = value & 255;
|
|
6668
|
+
target[offset + 1] = value >> 8 & 255;
|
|
6669
|
+
}
|
|
6838
6670
|
function encodeValidateInstruction(params) {
|
|
6839
|
-
const {
|
|
6671
|
+
const {
|
|
6672
|
+
walletAccountIdx,
|
|
6673
|
+
authIdx,
|
|
6674
|
+
targetInstruction,
|
|
6675
|
+
signatureR,
|
|
6676
|
+
signatureS,
|
|
6677
|
+
authenticatorData,
|
|
6678
|
+
clientDataJSON
|
|
6679
|
+
} = params;
|
|
6840
6680
|
if (walletAccountIdx < 0 || walletAccountIdx > 65535) {
|
|
6841
6681
|
throw new Error("walletAccountIdx must be 0-65535");
|
|
6842
6682
|
}
|
|
6843
6683
|
if (authIdx < 0 || authIdx > 255) throw new Error("authIdx must be 0-255");
|
|
6844
6684
|
if (signatureR.length !== 32) throw new Error("signatureR must be 32 bytes");
|
|
6845
6685
|
if (signatureS.length !== 32) throw new Error("signatureS must be 32 bytes");
|
|
6846
|
-
|
|
6686
|
+
if (authenticatorData.length > 65535) {
|
|
6687
|
+
throw new Error("authenticatorData length must be 0-65535");
|
|
6688
|
+
}
|
|
6689
|
+
if (clientDataJSON.length > 65535) {
|
|
6690
|
+
throw new Error("clientDataJSON length must be 0-65535");
|
|
6691
|
+
}
|
|
6692
|
+
const targetInstructionBytes = buildTargetInstructionBytes(targetInstruction);
|
|
6693
|
+
const argsPayload = new Uint8Array(
|
|
6694
|
+
VALIDATE_FIXED_PREFIX_SIZE + authenticatorData.length + clientDataJSON.length + targetInstructionBytes.length
|
|
6695
|
+
);
|
|
6696
|
+
let offset = 0;
|
|
6697
|
+
writeU16LE(argsPayload, offset, walletAccountIdx);
|
|
6698
|
+
offset += 2;
|
|
6699
|
+
argsPayload[offset] = authIdx;
|
|
6700
|
+
offset += 1;
|
|
6701
|
+
argsPayload.set(signatureR, offset);
|
|
6702
|
+
offset += signatureR.length;
|
|
6703
|
+
argsPayload.set(signatureS, offset);
|
|
6704
|
+
offset += signatureS.length;
|
|
6705
|
+
writeU16LE(argsPayload, offset, authenticatorData.length);
|
|
6706
|
+
offset += 2;
|
|
6707
|
+
writeU16LE(argsPayload, offset, clientDataJSON.length);
|
|
6708
|
+
offset += 2;
|
|
6709
|
+
argsPayload.set(authenticatorData, offset);
|
|
6710
|
+
offset += authenticatorData.length;
|
|
6711
|
+
argsPayload.set(clientDataJSON, offset);
|
|
6712
|
+
offset += clientDataJSON.length;
|
|
6713
|
+
argsPayload.set(targetInstructionBytes, offset);
|
|
6847
6714
|
return new PasskeyInstructionBuilder().payload().select("validate").writePayload(argsPayload).finish().build();
|
|
6848
6715
|
}
|
|
6849
6716
|
|
|
@@ -6861,27 +6728,25 @@ function encodeTransferInstruction(params) {
|
|
|
6861
6728
|
return new PasskeyInstructionBuilder().payload().select("transfer").writePayload(argsPayload).finish().build();
|
|
6862
6729
|
}
|
|
6863
6730
|
|
|
6864
|
-
// src/passkey-manager/instructions/invoke.ts
|
|
6865
|
-
function encodeInvokeInstruction(programPubkey, instruction) {
|
|
6866
|
-
if (programPubkey.length !== 32) {
|
|
6867
|
-
throw new Error("Program pubkey must be 32 bytes");
|
|
6868
|
-
}
|
|
6869
|
-
const argsPayload = new InvokeArgsBuilder().set_program_pubkey(programPubkey).instr().write(instruction).finish().build();
|
|
6870
|
-
return new PasskeyInstructionBuilder().payload().select("invoke").writePayload(argsPayload).finish().build();
|
|
6871
|
-
}
|
|
6872
|
-
|
|
6873
6731
|
// src/passkey-manager/instructions/add-authority.ts
|
|
6874
6732
|
function encodeAddAuthorityInstruction(params) {
|
|
6733
|
+
const { walletAccountIdx } = params;
|
|
6734
|
+
if (walletAccountIdx < 0 || walletAccountIdx > 65535) {
|
|
6735
|
+
throw new Error("walletAccountIdx must be 0-65535");
|
|
6736
|
+
}
|
|
6875
6737
|
const authorityBytes = buildAuthority(params.authority);
|
|
6876
|
-
const argsPayload = new AddAuthorityArgsBuilder().set_authority(authorityBytes).build();
|
|
6738
|
+
const argsPayload = new AddAuthorityArgsBuilder().set_wallet_account_idx(walletAccountIdx).set_authority(authorityBytes).build();
|
|
6877
6739
|
return new PasskeyInstructionBuilder().payload().select("add_authority").writePayload(argsPayload).finish().build();
|
|
6878
6740
|
}
|
|
6879
6741
|
|
|
6880
6742
|
// src/passkey-manager/instructions/remove-authority.ts
|
|
6881
6743
|
function encodeRemoveAuthorityInstruction(params) {
|
|
6882
|
-
const { authIdx } = params;
|
|
6744
|
+
const { walletAccountIdx, authIdx } = params;
|
|
6745
|
+
if (walletAccountIdx < 0 || walletAccountIdx > 65535) {
|
|
6746
|
+
throw new Error("walletAccountIdx must be 0-65535");
|
|
6747
|
+
}
|
|
6883
6748
|
if (authIdx < 0 || authIdx > 255) throw new Error("authIdx must be 0-255");
|
|
6884
|
-
const argsPayload = new RemoveAuthorityArgsBuilder().set_auth_idx(authIdx).build();
|
|
6749
|
+
const argsPayload = new RemoveAuthorityArgsBuilder().set_wallet_account_idx(walletAccountIdx).set_auth_idx(authIdx).build();
|
|
6885
6750
|
return new PasskeyInstructionBuilder().payload().select("remove_authority").writePayload(argsPayload).finish().build();
|
|
6886
6751
|
}
|
|
6887
6752
|
|
|
@@ -6899,38 +6764,51 @@ function encodeRegisterCredentialInstruction(params) {
|
|
|
6899
6764
|
return new PasskeyInstructionBuilder().payload().select("register_credential").writePayload(argsPayload).finish().build();
|
|
6900
6765
|
}
|
|
6901
6766
|
|
|
6902
|
-
// src/passkey-manager/
|
|
6903
|
-
|
|
6904
|
-
|
|
6905
|
-
|
|
6906
|
-
let
|
|
6907
|
-
|
|
6908
|
-
|
|
6909
|
-
offset += instr.length;
|
|
6767
|
+
// src/passkey-manager/challenge.ts
|
|
6768
|
+
var VALIDATE_CHALLENGE_DOMAIN = "thru.passkey.validate";
|
|
6769
|
+
function writeU64LE(target, offset, value) {
|
|
6770
|
+
let remaining = value;
|
|
6771
|
+
for (let i = 0; i < 8; i++) {
|
|
6772
|
+
target[offset + i] = Number(remaining & 0xffn);
|
|
6773
|
+
remaining >>= 8n;
|
|
6910
6774
|
}
|
|
6911
|
-
return result;
|
|
6912
6775
|
}
|
|
6913
|
-
|
|
6914
|
-
|
|
6915
|
-
async function createValidateChallenge(nonce, accountAddresses, trailingInstructionData) {
|
|
6776
|
+
async function createValidateChallenge(nonce, accountAddresses, walletAccountIdx, authIdx, targetInstruction) {
|
|
6777
|
+
const targetInstructionBytes = buildTargetInstructionBytes(targetInstruction);
|
|
6916
6778
|
const encoder = new TextEncoder();
|
|
6779
|
+
const domainBytes = encoder.encode(VALIDATE_CHALLENGE_DOMAIN);
|
|
6917
6780
|
const accountBytes = accountAddresses.map((address) => {
|
|
6918
|
-
|
|
6781
|
+
const bytes = encoder.encode(address);
|
|
6782
|
+
if (bytes.length !== 46) {
|
|
6783
|
+
throw new Error("accountAddresses must contain ta addresses");
|
|
6784
|
+
}
|
|
6785
|
+
return bytes;
|
|
6919
6786
|
});
|
|
6920
|
-
|
|
6787
|
+
if (walletAccountIdx < 0 || walletAccountIdx > 65535) {
|
|
6788
|
+
throw new Error("walletAccountIdx must be 0-65535");
|
|
6789
|
+
}
|
|
6790
|
+
if (authIdx < 0 || authIdx > 255) throw new Error("authIdx must be 0-255");
|
|
6791
|
+
if (accountBytes.length > 65535) throw new Error("accountAddresses length must be 0-65535");
|
|
6792
|
+
const totalSize = domainBytes.length + 8 + 2 + 1 + 2 + accountBytes.reduce((sum, bytes) => sum + bytes.length, 0) + targetInstructionBytes.length;
|
|
6921
6793
|
const challengeData = new Uint8Array(totalSize);
|
|
6922
6794
|
let offset = 0;
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
v >>= 8n;
|
|
6927
|
-
}
|
|
6795
|
+
challengeData.set(domainBytes, offset);
|
|
6796
|
+
offset += domainBytes.length;
|
|
6797
|
+
writeU64LE(challengeData, offset, nonce);
|
|
6928
6798
|
offset += 8;
|
|
6799
|
+
challengeData[offset] = walletAccountIdx & 255;
|
|
6800
|
+
challengeData[offset + 1] = walletAccountIdx >> 8 & 255;
|
|
6801
|
+
offset += 2;
|
|
6802
|
+
challengeData[offset] = authIdx & 255;
|
|
6803
|
+
offset += 1;
|
|
6804
|
+
challengeData[offset] = accountBytes.length & 255;
|
|
6805
|
+
challengeData[offset + 1] = accountBytes.length >> 8 & 255;
|
|
6806
|
+
offset += 2;
|
|
6929
6807
|
for (const bytes of accountBytes) {
|
|
6930
6808
|
challengeData.set(bytes, offset);
|
|
6931
6809
|
offset += bytes.length;
|
|
6932
6810
|
}
|
|
6933
|
-
challengeData.set(
|
|
6811
|
+
challengeData.set(targetInstructionBytes, offset);
|
|
6934
6812
|
const hashBuffer = await crypto.subtle.digest("SHA-256", challengeData);
|
|
6935
6813
|
return new Uint8Array(hashBuffer);
|
|
6936
6814
|
}
|
|
@@ -7312,7 +7190,6 @@ exports.AUTHORITY_TAG_PUBKEY = AUTHORITY_TAG_PUBKEY;
|
|
|
7312
7190
|
exports.FEE_PAYER_ADDRESS = FEE_PAYER_ADDRESS;
|
|
7313
7191
|
exports.INSTRUCTION_ADD_AUTHORITY = INSTRUCTION_ADD_AUTHORITY;
|
|
7314
7192
|
exports.INSTRUCTION_CREATE = INSTRUCTION_CREATE;
|
|
7315
|
-
exports.INSTRUCTION_INVOKE = INSTRUCTION_INVOKE;
|
|
7316
7193
|
exports.INSTRUCTION_REGISTER_CREDENTIAL = INSTRUCTION_REGISTER_CREDENTIAL;
|
|
7317
7194
|
exports.INSTRUCTION_REMOVE_AUTHORITY = INSTRUCTION_REMOVE_AUTHORITY;
|
|
7318
7195
|
exports.INSTRUCTION_TRANSFER = INSTRUCTION_TRANSFER;
|
|
@@ -7320,6 +7197,7 @@ exports.INSTRUCTION_VALIDATE = INSTRUCTION_VALIDATE;
|
|
|
7320
7197
|
exports.P256_HALF_N = P256_HALF_N;
|
|
7321
7198
|
exports.P256_N = P256_N;
|
|
7322
7199
|
exports.PASSKEY_MANAGER_PROGRAM_ADDRESS = PASSKEY_MANAGER_PROGRAM_ADDRESS;
|
|
7200
|
+
exports.VALIDATE_CHALLENGE_DOMAIN = VALIDATE_CHALLENGE_DOMAIN;
|
|
7323
7201
|
exports.arrayBufferToBase64Url = arrayBufferToBase64Url;
|
|
7324
7202
|
exports.base64UrlToArrayBuffer = base64UrlToArrayBuffer;
|
|
7325
7203
|
exports.base64UrlToBytes = base64UrlToBytes;
|
|
@@ -7332,7 +7210,6 @@ exports.bytesToBase64Url = bytesToBase64Url;
|
|
|
7332
7210
|
exports.bytesToBigIntBE = bytesToBigIntBE;
|
|
7333
7211
|
exports.bytesToHex = bytesToHex;
|
|
7334
7212
|
exports.compareBytes = compareBytes;
|
|
7335
|
-
exports.concatenateInstructions = concatenateInstructions;
|
|
7336
7213
|
exports.createCredentialLookupSeed = createCredentialLookupSeed;
|
|
7337
7214
|
exports.createValidateChallenge = createValidateChallenge;
|
|
7338
7215
|
exports.createWalletSeed = createWalletSeed;
|
|
@@ -7340,7 +7217,6 @@ exports.deriveCredentialLookupAddress = deriveCredentialLookupAddress;
|
|
|
7340
7217
|
exports.deriveWalletAddress = deriveWalletAddress;
|
|
7341
7218
|
exports.encodeAddAuthorityInstruction = encodeAddAuthorityInstruction;
|
|
7342
7219
|
exports.encodeCreateInstruction = encodeCreateInstruction;
|
|
7343
|
-
exports.encodeInvokeInstruction = encodeInvokeInstruction;
|
|
7344
7220
|
exports.encodeRegisterCredentialInstruction = encodeRegisterCredentialInstruction;
|
|
7345
7221
|
exports.encodeRemoveAuthorityInstruction = encodeRemoveAuthorityInstruction;
|
|
7346
7222
|
exports.encodeTransferInstruction = encodeTransferInstruction;
|