ox 0.14.38 → 0.14.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/_cjs/tempo/MultisigConfig.js +71 -15
  3. package/_cjs/tempo/MultisigConfig.js.map +1 -1
  4. package/_cjs/tempo/MultisigOperation.js +43 -35
  5. package/_cjs/tempo/MultisigOperation.js.map +1 -1
  6. package/_cjs/tempo/MultisigWitness.js +92 -0
  7. package/_cjs/tempo/MultisigWitness.js.map +1 -0
  8. package/_cjs/tempo/SignatureEnvelope.js +71 -108
  9. package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
  10. package/_cjs/tempo/TransactionRequest.js +7 -1
  11. package/_cjs/tempo/TransactionRequest.js.map +1 -1
  12. package/_cjs/tempo/index.js +2 -1
  13. package/_cjs/tempo/index.js.map +1 -1
  14. package/_cjs/version.js +1 -1
  15. package/_esm/tempo/MultisigConfig.js +140 -71
  16. package/_esm/tempo/MultisigConfig.js.map +1 -1
  17. package/_esm/tempo/MultisigOperation.js +43 -36
  18. package/_esm/tempo/MultisigOperation.js.map +1 -1
  19. package/_esm/tempo/MultisigWitness.js +123 -0
  20. package/_esm/tempo/MultisigWitness.js.map +1 -0
  21. package/_esm/tempo/SignatureEnvelope.js +84 -143
  22. package/_esm/tempo/SignatureEnvelope.js.map +1 -1
  23. package/_esm/tempo/TransactionRequest.js +7 -1
  24. package/_esm/tempo/TransactionRequest.js.map +1 -1
  25. package/_esm/tempo/index.js +9 -0
  26. package/_esm/tempo/index.js.map +1 -1
  27. package/_esm/version.js +1 -1
  28. package/_types/tempo/KeyAuthorization.d.ts +1 -1
  29. package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
  30. package/_types/tempo/MultisigConfig.d.ts +137 -73
  31. package/_types/tempo/MultisigConfig.d.ts.map +1 -1
  32. package/_types/tempo/MultisigOperation.d.ts +1 -1
  33. package/_types/tempo/MultisigOperation.d.ts.map +1 -1
  34. package/_types/tempo/MultisigWitness.d.ts +106 -0
  35. package/_types/tempo/MultisigWitness.d.ts.map +1 -0
  36. package/_types/tempo/SignatureEnvelope.d.ts +81 -75
  37. package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
  38. package/_types/tempo/TransactionRequest.d.ts +6 -3
  39. package/_types/tempo/TransactionRequest.d.ts.map +1 -1
  40. package/_types/tempo/index.d.ts +9 -0
  41. package/_types/tempo/index.d.ts.map +1 -1
  42. package/_types/version.d.ts +1 -1
  43. package/package.json +21 -1
  44. package/tempo/KeyAuthorization.test-d.ts +12 -0
  45. package/tempo/KeyAuthorization.test.ts +54 -0
  46. package/tempo/KeyAuthorization.ts +1 -1
  47. package/tempo/MultisigConfig.test-d/package.json +6 -0
  48. package/tempo/MultisigConfig.test-d.ts +52 -0
  49. package/tempo/MultisigConfig.test.ts +291 -263
  50. package/tempo/MultisigConfig.ts +250 -95
  51. package/tempo/MultisigOperation.test-d.ts +6 -0
  52. package/tempo/MultisigOperation.test.ts +200 -81
  53. package/tempo/MultisigOperation.ts +42 -34
  54. package/tempo/MultisigWitness/package.json +6 -0
  55. package/tempo/MultisigWitness.test-d/package.json +6 -0
  56. package/tempo/MultisigWitness.test-d.ts +42 -0
  57. package/tempo/MultisigWitness.test.ts +289 -0
  58. package/tempo/MultisigWitness.ts +210 -0
  59. package/tempo/RpcSchemaTempo.test-d.ts +25 -0
  60. package/tempo/SignatureEnvelope.test-d.ts +57 -40
  61. package/tempo/SignatureEnvelope.test.ts +523 -480
  62. package/tempo/SignatureEnvelope.ts +250 -257
  63. package/tempo/TransactionRequest.test-d/package.json +6 -0
  64. package/tempo/TransactionRequest.test-d.ts +24 -0
  65. package/tempo/TransactionRequest.test.ts +102 -1
  66. package/tempo/TransactionRequest.ts +12 -2
  67. package/tempo/index.ts +9 -0
  68. package/tempo/multisig.e2e.test.ts +113 -86
  69. package/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MultisigOperation.js","sourceRoot":"","sources":["../../tempo/MultisigOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultisigOperation.js","sourceRoot":"","sources":["../../tempo/MultisigOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import * as Errors from '../core/Errors.js';
2
+ import * as Hex from '../core/Hex.js';
3
+ import * as MultisigConfig from './MultisigConfig.js';
4
+ /**
5
+ * Converts a JSON-RPC multisig witness to its domain representation.
6
+ *
7
+ * @example
8
+ * ```ts twoslash
9
+ * // @noErrors
10
+ * import { MultisigWitness } from 'ox/tempo'
11
+ *
12
+ * const witness = MultisigWitness.fromRpc(witnessRpc)
13
+ * ```
14
+ *
15
+ * @param witness - JSON-RPC multisig witness.
16
+ * @returns The multisig witness with bigint configuration versions.
17
+ */
18
+ export function fromRpc(witness) {
19
+ const { account, approvals, config } = witness;
20
+ assertApprovalCount(approvals);
21
+ return {
22
+ account,
23
+ approvals: approvals.map((approval) => {
24
+ if (approval.type === 'primitive')
25
+ return approval;
26
+ assertApprovalCount(approval.witness.approvals);
27
+ return {
28
+ type: 'multisig',
29
+ witness: {
30
+ account: approval.witness.account,
31
+ approvals: approval.witness.approvals,
32
+ config: MultisigConfig.from(approval.witness.config),
33
+ },
34
+ };
35
+ }),
36
+ config: MultisigConfig.from(config),
37
+ };
38
+ }
39
+ /**
40
+ * Converts a multisig witness to its JSON-RPC representation.
41
+ *
42
+ * @example
43
+ * ```ts twoslash
44
+ * // @noErrors
45
+ * import { MultisigWitness } from 'ox/tempo'
46
+ *
47
+ * const witnessRpc = MultisigWitness.toRpc(witness)
48
+ * ```
49
+ *
50
+ * @param witness - Multisig witness.
51
+ * @returns The JSON-RPC multisig witness with numeric configuration versions.
52
+ */
53
+ export function toRpc(witness) {
54
+ const { account, approvals, config } = witness;
55
+ assertApprovalCount(approvals);
56
+ return {
57
+ account,
58
+ approvals: approvals.map((approval) => {
59
+ if (approval.type === 'primitive')
60
+ return {
61
+ ...approval,
62
+ ...(typeof approval.keyData !== 'undefined'
63
+ ? { keyData: shimKeyData(approval.keyData) }
64
+ : {}),
65
+ };
66
+ assertApprovalCount(approval.witness.approvals);
67
+ return {
68
+ type: 'multisig',
69
+ witness: {
70
+ account: approval.witness.account,
71
+ approvals: approval.witness.approvals.map((approval) => ({
72
+ ...approval,
73
+ ...(typeof approval.keyData !== 'undefined'
74
+ ? { keyData: shimKeyData(approval.keyData) }
75
+ : {}),
76
+ })),
77
+ config: configToRpc(approval.witness.config),
78
+ },
79
+ };
80
+ }),
81
+ config: configToRpc(config),
82
+ };
83
+ }
84
+ /** @internal */
85
+ function assertApprovalCount(approvals) {
86
+ if (approvals.length > MultisigConfig.maxSignatures)
87
+ throw new InvalidWitnessError({
88
+ reason: `approval count exceeds ${MultisigConfig.maxSignatures}`,
89
+ });
90
+ }
91
+ /** @internal */
92
+ function configToRpc(config) {
93
+ const value = MultisigConfig.from(config);
94
+ return {
95
+ ...value,
96
+ version: Hex.toNumber(Hex.fromNumber(Number(value.version))),
97
+ };
98
+ }
99
+ /**
100
+ * Shims key data longer than 4 bytes into a 2-byte big-endian length hint.
101
+ * The node's gas estimator only accepts 1, 2, or 4-byte key data as a
102
+ * signature-size hint; anything else silently falls back to the default.
103
+ * @internal
104
+ */
105
+ function shimKeyData(data) {
106
+ const size = Hex.size(data);
107
+ if (size <= 4)
108
+ return data;
109
+ return Hex.fromNumber(size, { size: 2 });
110
+ }
111
+ /** Thrown when a native multisig witness is invalid. */
112
+ export class InvalidWitnessError extends Errors.BaseError {
113
+ constructor(options) {
114
+ super(`Invalid multisig witness: ${options.reason}.`);
115
+ Object.defineProperty(this, "name", {
116
+ enumerable: true,
117
+ configurable: true,
118
+ writable: true,
119
+ value: 'MultisigWitness.InvalidWitnessError'
120
+ });
121
+ }
122
+ }
123
+ //# sourceMappingURL=MultisigWitness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultisigWitness.js","sourceRoot":"","sources":["../../tempo/MultisigWitness.ts"],"names":[],"mappings":"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"}
@@ -108,6 +108,8 @@ function assertMultisig(envelope, depth) {
108
108
  const missing = [];
109
109
  if (!envelope.account)
110
110
  missing.push('account');
111
+ if (!envelope.config)
112
+ missing.push('config');
111
113
  if (!Array.isArray(envelope.signatures))
112
114
  missing.push('signatures');
113
115
  if (missing.length > 0)
@@ -128,6 +130,16 @@ function assertMultisig(envelope, depth) {
128
130
  throw new InvalidMultisigApprovalError({
129
131
  reason: 'multisig account cannot be zero',
130
132
  });
133
+ MultisigConfig.assert(envelope.config);
134
+ if (envelope.config.owners.some((owner) => Address.isEqual(owner.owner, envelope.account)))
135
+ throw new InvalidMultisigApprovalError({
136
+ reason: 'multisig account cannot be an owner',
137
+ });
138
+ if (envelope.config.version === 0n &&
139
+ !Address.isEqual(MultisigConfig.getAddress(envelope.config), envelope.account))
140
+ throw new InvalidMultisigApprovalError({
141
+ reason: 'initial multisig config does not derive account',
142
+ });
131
143
  if (envelope.signatures.length === 0)
132
144
  throw new InvalidMultisigApprovalError({
133
145
  reason: 'multisig signatures cannot be empty',
@@ -136,27 +148,14 @@ function assertMultisig(envelope, depth) {
136
148
  throw new InvalidMultisigApprovalError({
137
149
  reason: `multisig signatures exceed ${MultisigConfig.maxSignatures}`,
138
150
  });
139
- if (envelope.init) {
140
- MultisigConfig.assert(envelope.init);
141
- if (!Address.isEqual(MultisigConfig.getAddress(envelope.init), envelope.account))
142
- throw new InvalidMultisigApprovalError({
143
- reason: 'multisig init does not derive account',
144
- });
145
- }
146
151
  for (const inner of envelope.signatures) {
147
152
  const type = getType(inner);
148
153
  if (type === 'keychain')
149
154
  throw new InvalidMultisigApprovalError({
150
155
  reason: 'keychain owner approvals are not allowed',
151
156
  });
152
- if (type === 'multisig') {
153
- const multisig = inner;
154
- if (multisig.init)
155
- throw new InvalidMultisigApprovalError({
156
- reason: 'nested multisig owner approvals cannot carry `init`',
157
- });
158
- assertMultisig(multisig, depth + 1);
159
- }
157
+ if (type === 'multisig')
158
+ assertMultisig(inner, depth + 1);
160
159
  else {
161
160
  assert(inner);
162
161
  if (Hex.size(serialize(inner)) > MultisigConfig.maxOwnerSignatureBytes)
@@ -378,15 +377,42 @@ function deserialize_(value, multisigDepth) {
378
377
  reason: `multisig nesting depth exceeds ${MultisigConfig.maxNestingDepth}`,
379
378
  serialized,
380
379
  });
381
- // The first field distinguishes the static wire shapes: a bootstrap init
382
- // config is an RLP list, while an initialized account is a 20-byte string.
383
380
  const decoded = Rlp.toHex(data);
384
- if (!Array.isArray(decoded) || decoded.length !== 2)
381
+ if (!Array.isArray(decoded) || decoded.length !== 3)
382
+ throw new InvalidSerializedError({
383
+ reason: 'invalid multisig wire shape: expected exactly three fields',
384
+ serialized,
385
+ });
386
+ const [account, config, signatures] = decoded;
387
+ if (!Address.validate(account))
388
+ throw new InvalidSerializedError({
389
+ reason: 'invalid multisig account',
390
+ serialized,
391
+ });
392
+ if (!Array.isArray(config))
385
393
  throw new InvalidSerializedError({
386
- reason: 'invalid multisig wire shape: expected exactly two fields',
394
+ reason: 'invalid multisig config',
395
+ serialized,
396
+ });
397
+ const [salt, version, threshold, owners] = config;
398
+ if (config.length !== 4 ||
399
+ Array.isArray(salt) ||
400
+ Hex.size(salt) !== 32 ||
401
+ Array.isArray(version) ||
402
+ Hex.size(version) > 8 ||
403
+ (version !== '0x' && Hex.slice(version, 0, 1) === '0x00') ||
404
+ Array.isArray(threshold) ||
405
+ Hex.size(threshold) > 1 ||
406
+ !Array.isArray(owners) ||
407
+ owners.some((owner) => !Array.isArray(owner) ||
408
+ owner.length !== 2 ||
409
+ owner.some(Array.isArray) ||
410
+ !Address.validate(owner[0]) ||
411
+ Hex.size(owner[1]) > 1))
412
+ throw new InvalidSerializedError({
413
+ reason: 'invalid multisig config',
387
414
  serialized,
388
415
  });
389
- const [address, signatures] = decoded;
390
416
  if (!Array.isArray(signatures) || signatures.some(Array.isArray))
391
417
  throw new InvalidSerializedError({
392
418
  reason: 'invalid multisig signatures list',
@@ -411,39 +437,11 @@ function deserialize_(value, multisigDepth) {
411
437
  reason: `multisig owner signature exceeds ${MultisigConfig.maxOwnerSignatureBytes} bytes`,
412
438
  serialized,
413
439
  });
414
- if (!Array.isArray(address) && !Address.validate(address))
415
- throw new InvalidSerializedError({
416
- reason: 'invalid multisig account',
417
- serialized,
418
- });
419
- if (Array.isArray(address)) {
420
- const [salt, threshold, owners] = address;
421
- if (address.length !== 3 ||
422
- Array.isArray(salt) ||
423
- Hex.size(salt) !== 32 ||
424
- Array.isArray(threshold) ||
425
- Hex.size(threshold) > 1 ||
426
- !Array.isArray(owners) ||
427
- owners.some((owner) => !Array.isArray(owner) ||
428
- owner.length !== 2 ||
429
- owner.some(Array.isArray) ||
430
- Hex.size(owner[1]) > 1))
431
- throw new InvalidSerializedError({
432
- reason: 'invalid multisig init config',
433
- serialized,
434
- });
435
- }
436
- const init = Array.isArray(address)
437
- ? MultisigConfig.fromTuple(address)
438
- : undefined;
439
- const account = init
440
- ? MultisigConfig.getAddress(init)
441
- : address;
442
440
  const envelope = {
443
- type: 'multisig',
444
- account,
441
+ account: account,
442
+ config: MultisigConfig.fromTuple(config),
445
443
  signatures: signatures.map((signature) => deserialize_(signature, depth)),
446
- ...(init ? { init } : {}),
444
+ type: 'multisig',
447
445
  };
448
446
  assertMultisig(envelope, depth);
449
447
  return envelope;
@@ -566,21 +564,17 @@ function deserialize_(value, multisigDepth) {
566
564
  * ```
567
565
  *
568
566
  * @example
569
- * ### Multisig (from initial config)
570
- *
571
- * Pass `initialConfig` to derive `account` automatically. Set `init: true` to
572
- * opt into bootstrap (uses `initialConfig` as the bootstrap `init`); omit
573
- * `init` for subsequent (non-bootstrap) transactions.
567
+ * ### Multisig
574
568
  *
575
569
  * ```ts twoslash
576
570
  * import { Secp256k1 } from 'ox'
577
571
  * import { MultisigConfig, SignatureEnvelope } from 'ox/tempo'
578
572
  *
579
- * const initialConfig = MultisigConfig.from({
580
- * threshold: 1,
573
+ * const config = MultisigConfig.from({
581
574
  * owners: [
582
575
  * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
583
576
  * ],
577
+ * threshold: 1,
584
578
  * })
585
579
  *
586
580
  * const privateKey = Secp256k1.randomPrivateKey()
@@ -588,16 +582,8 @@ function deserialize_(value, multisigDepth) {
588
582
  * Secp256k1.sign({ payload: '0xdeadbeef', privateKey }),
589
583
  * )
590
584
  *
591
- * // Bootstrap transaction
592
- * const bootstrap = SignatureEnvelope.from({
593
- * initialConfig,
594
- * signatures: [signature],
595
- * init: true,
596
- * })
597
- *
598
- * // Subsequent (non-bootstrap) transactions
599
- * const subsequent = SignatureEnvelope.from({
600
- * initialConfig,
585
+ * const multisig = SignatureEnvelope.from({
586
+ * config,
601
587
  * signatures: [signature],
602
588
  * })
603
589
  * ```
@@ -617,28 +603,16 @@ export function from(value, options) {
617
603
  const type = getType(value);
618
604
  if (type === 'multisig') {
619
605
  const multisig = value;
620
- const { initialConfig, init, ...rest } = multisig;
621
- // Derive `account` from `initialConfig` when not provided explicitly.
622
- const account = (() => {
623
- if (rest.account)
624
- return rest.account;
625
- if (initialConfig)
626
- return MultisigConfig.getAddress(initialConfig);
627
- return rest.account;
628
- })();
629
- // `init: true` opts into bootstrap using the supplied `initialConfig`.
630
- // Otherwise, `init` is treated as the explicit bootstrap config (or
631
- // omitted).
632
- const initSource = init === true ? initialConfig : init || undefined;
633
- return {
634
- ...rest,
606
+ const config = MultisigConfig.from(multisig.config);
607
+ const account = multisig.account ?? MultisigConfig.getAddress(config);
608
+ const envelope = {
635
609
  account,
636
- signatures: rest.signatures.map((signature) => from(signature)),
637
- // Normalize the bootstrap config (sorts owners, defaults the salt) so the
638
- // in-memory envelope matches what `deserialize` reconstructs.
639
- ...(initSource ? { init: MultisigConfig.from(initSource) } : {}),
610
+ config,
611
+ signatures: multisig.signatures.map((signature) => from(signature)),
640
612
  type,
641
613
  };
614
+ assert(envelope);
615
+ return envelope;
642
616
  }
643
617
  return {
644
618
  ...value,
@@ -763,23 +737,13 @@ export function fromRpc(envelope) {
763
737
  };
764
738
  }
765
739
  if (envelope.type === 'multisig' ||
766
- ('signatures' in envelope && ('account' in envelope || 'init' in envelope))) {
740
+ ('config' in envelope && 'signatures' in envelope)) {
767
741
  const multisig = envelope;
768
- const hasAccount = typeof multisig.account !== 'undefined';
769
- const hasInit = typeof multisig.init !== 'undefined';
770
- if (hasAccount === hasInit)
771
- throw new InvalidMultisigApprovalError({
772
- reason: 'RPC multisig must contain exactly one of `account` or `init`',
773
- });
774
- const init = hasInit
775
- ? MultisigConfig.from(multisig.init)
776
- : undefined;
777
- const account = init ? MultisigConfig.getAddress(init) : multisig.account;
778
742
  const result = {
779
- type: 'multisig',
780
- account: account,
743
+ account: multisig.account,
744
+ config: MultisigConfig.fromRpc(multisig.config),
781
745
  signatures: multisig.signatures.map((signature) => fromRpc(signature)),
782
- ...(init ? { init } : {}),
746
+ type: 'multisig',
783
747
  };
784
748
  assert(result);
785
749
  return result;
@@ -835,10 +799,7 @@ export function getType(envelope) {
835
799
  if ('userAddress' in envelope && 'inner' in envelope)
836
800
  return 'keychain';
837
801
  // Detect Multisig signature
838
- if (('account' in envelope ||
839
- 'initialConfig' in envelope ||
840
- 'init' in envelope) &&
841
- 'signatures' in envelope)
802
+ if ('config' in envelope && 'signatures' in envelope)
842
803
  return 'multisig';
843
804
  throw new CoercionError({
844
805
  envelope,
@@ -853,7 +814,7 @@ export function getType(envelope) {
853
814
  * - WebAuthn: `0x02` + webauthnData (variable) + r (32) + s (32) + pubKeyX (32) + pubKeyY (32)
854
815
  * - Keychain V1: `0x03` + userAddress (20) + inner signature (recursive)
855
816
  * - Keychain V2: `0x04` + userAddress (20) + inner signature (recursive)
856
- * - Multisig: `0x05` + RLP `[account | init, signatures]`
817
+ * - Multisig: `0x05` + RLP `[account, config, signatures]`
857
818
  *
858
819
  * [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
859
820
  *
@@ -899,12 +860,9 @@ export function serialize(envelope, options = {}) {
899
860
  if (type === 'multisig') {
900
861
  const multisig = envelope;
901
862
  assert(multisig);
902
- // The first field is either the initialized account or the bootstrap init
903
- // config. Each owner approval is an encoded signature.
904
863
  return Hex.concat(serializedMultisigType, Rlp.fromHex([
905
- multisig.init
906
- ? MultisigConfig.toTuple(multisig.init)
907
- : multisig.account,
864
+ multisig.account,
865
+ MultisigConfig.toTuple(multisig.config),
908
866
  multisig.signatures.map((signature) => serialize(signature)),
909
867
  ]), options.magic ? magicBytes : '0x');
910
868
  }
@@ -921,21 +879,19 @@ export function serialize(envelope, options = {}) {
921
879
  * recovered owner address. Works for any owner key type (secp256k1, p256,
922
880
  * webAuthn).
923
881
  *
924
- * Config updates never change `account`, so the initial config is the correct
925
- * input even for post-update transactions.
926
- *
927
882
  * @example
928
883
  * ```ts twoslash
929
884
  * import { Secp256k1 } from 'ox'
930
885
  * import { MultisigConfig, SignatureEnvelope, TxEnvelopeTempo } from 'ox/tempo'
931
886
  *
932
- * const initialConfig = MultisigConfig.from({
933
- * threshold: 2,
887
+ * const config = MultisigConfig.from({
934
888
  * owners: [
935
889
  * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
936
890
  * { owner: '0x2222222222222222222222222222222222222222', weight: 1 },
937
891
  * ],
892
+ * threshold: 2,
938
893
  * })
894
+ * const account = MultisigConfig.getAddress(config)
939
895
  *
940
896
  * const tx = TxEnvelopeTempo.from({ chainId: 1, calls: [] })
941
897
  * const payload = TxEnvelopeTempo.getSignPayload(tx)
@@ -945,15 +901,17 @@ export function serialize(envelope, options = {}) {
945
901
  * Secp256k1.randomPrivateKey(),
946
902
  * ]
947
903
  * const digest = MultisigConfig.getSignPayload({
904
+ * account,
905
+ * config,
948
906
  * payload,
949
- * initialConfig,
950
907
  * })
951
908
  * const signatures = privateKeys.map((privateKey) =>
952
909
  * SignatureEnvelope.from(Secp256k1.sign({ payload: digest, privateKey })),
953
910
  * )
954
911
  *
955
912
  * const ordered = SignatureEnvelope.sortMultisigApprovals({ // [!code focus]
956
- * initialConfig, // [!code focus]
913
+ * account, // [!code focus]
914
+ * config, // [!code focus]
957
915
  * payload, // [!code focus]
958
916
  * signatures, // [!code focus]
959
917
  * }) // [!code focus]
@@ -963,14 +921,12 @@ export function serialize(envelope, options = {}) {
963
921
  * @returns The owner approvals ordered ascending by recovered owner address.
964
922
  */
965
923
  export function sortMultisigApprovals(value) {
966
- const { payload, signatures, version = 0n } = value;
967
- const digest = MultisigConfig.getSignPayload('initialConfig' in value && value.initialConfig
968
- ? { payload, initialConfig: value.initialConfig, version }
969
- : {
970
- payload,
971
- account: value.account,
972
- version,
973
- });
924
+ const { account, config, payload, signatures } = value;
925
+ const digest = MultisigConfig.getSignPayload({
926
+ account,
927
+ config: MultisigConfig.from(config),
928
+ payload,
929
+ });
974
930
  // Recover each signer once (decorate–sort–undecorate) rather than inside the
975
931
  // comparator.
976
932
  return signatures
@@ -1042,25 +998,10 @@ export function toRpc(envelope) {
1042
998
  if (type === 'multisig') {
1043
999
  const multisig = envelope;
1044
1000
  assert(multisig);
1045
- const signatures = multisig.signatures.map((signature) => toRpc(signature));
1046
- if (multisig.init) {
1047
- const init = {
1048
- ...multisig.init,
1049
- salt: multisig.init.salt ?? MultisigConfig.zeroSalt,
1050
- threshold: Number(multisig.init.threshold),
1051
- owners: multisig.init.owners.map((owner) => ({
1052
- ...owner,
1053
- weight: Number(owner.weight),
1054
- })),
1055
- };
1056
- return {
1057
- init,
1058
- signatures,
1059
- };
1060
- }
1061
1001
  return {
1062
1002
  account: multisig.account,
1063
- signatures,
1003
+ config: MultisigConfig.toRpc(multisig.config),
1004
+ signatures: multisig.signatures.map((signature) => toRpc(signature)),
1064
1005
  };
1065
1006
  }
1066
1007
  throw new CoercionError({ envelope });