ox 0.14.38 → 0.14.39
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/CHANGELOG.md +14 -0
- package/_cjs/tempo/MultisigConfig.js +71 -15
- package/_cjs/tempo/MultisigConfig.js.map +1 -1
- package/_cjs/tempo/MultisigOperation.js +42 -36
- package/_cjs/tempo/MultisigOperation.js.map +1 -1
- package/_cjs/tempo/SignatureEnvelope.js +71 -108
- package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/tempo/MultisigConfig.js +140 -71
- package/_esm/tempo/MultisigConfig.js.map +1 -1
- package/_esm/tempo/MultisigOperation.js +42 -37
- package/_esm/tempo/MultisigOperation.js.map +1 -1
- package/_esm/tempo/SignatureEnvelope.js +84 -143
- package/_esm/tempo/SignatureEnvelope.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/tempo/KeyAuthorization.d.ts +1 -1
- package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
- package/_types/tempo/MultisigConfig.d.ts +137 -73
- package/_types/tempo/MultisigConfig.d.ts.map +1 -1
- package/_types/tempo/MultisigOperation.d.ts +1 -1
- package/_types/tempo/MultisigOperation.d.ts.map +1 -1
- package/_types/tempo/SignatureEnvelope.d.ts +81 -75
- package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/package.json +6 -1
- package/tempo/KeyAuthorization.test-d.ts +12 -0
- package/tempo/KeyAuthorization.test.ts +54 -0
- package/tempo/KeyAuthorization.ts +1 -1
- package/tempo/MultisigConfig.test-d/package.json +6 -0
- package/tempo/MultisigConfig.test-d.ts +52 -0
- package/tempo/MultisigConfig.test.ts +291 -263
- package/tempo/MultisigConfig.ts +250 -95
- package/tempo/MultisigOperation.test-d.ts +6 -0
- package/tempo/MultisigOperation.test.ts +113 -72
- package/tempo/MultisigOperation.ts +41 -35
- package/tempo/SignatureEnvelope.test-d.ts +57 -40
- package/tempo/SignatureEnvelope.test.ts +523 -480
- package/tempo/SignatureEnvelope.ts +250 -257
- package/tempo/multisig.e2e.test.ts +113 -86
- package/version.ts +1 -1
|
@@ -9,6 +9,11 @@ import * as ox_Secp256k1 from '../core/Secp256k1.js';
|
|
|
9
9
|
import * as Signature from '../core/Signature.js';
|
|
10
10
|
import type * as WebAuthnP256 from '../core/WebAuthnP256.js';
|
|
11
11
|
import * as MultisigConfig from './MultisigConfig.js';
|
|
12
|
+
type EnvelopeOneOf<union extends object, keys extends PropertyKey> = union extends union ? Compute<union & {
|
|
13
|
+
[key in Exclude<keys, keyof union>]?: undefined;
|
|
14
|
+
}> : never;
|
|
15
|
+
type SignatureEnvelopeKey = 'account' | 'config' | 'inner' | 'keyId' | 'metadata' | 'prehash' | 'publicKey' | 'signature' | 'signatures' | 'type' | 'userAddress' | 'version';
|
|
16
|
+
type SignatureEnvelopeRpcKey = 'account' | 'config' | 'keyId' | 'metadata' | 'preHash' | 'pubKeyX' | 'pubKeyY' | 'r' | 's' | 'signature' | 'signatures' | 'type' | 'userAddress' | 'v' | 'version' | 'webauthnData' | 'yParity';
|
|
12
17
|
/** Serialized magic identifier for Tempo signature envelopes. */
|
|
13
18
|
export declare const magicBytes = "0x7777777777777777777777777777777777777777777777777777777777777777";
|
|
14
19
|
/**
|
|
@@ -51,10 +56,7 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
|
|
|
51
56
|
} ? 'secp256k1' : envelope extends {
|
|
52
57
|
userAddress: Address.Address;
|
|
53
58
|
} ? 'keychain' : envelope extends {
|
|
54
|
-
|
|
55
|
-
signatures: any;
|
|
56
|
-
} | {
|
|
57
|
-
init: MultisigConfig.Config;
|
|
59
|
+
config: unknown;
|
|
58
60
|
signatures: any;
|
|
59
61
|
} ? 'multisig' : never;
|
|
60
62
|
/**
|
|
@@ -80,11 +82,11 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
|
|
|
80
82
|
*
|
|
81
83
|
* [Signature Types Specification](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
|
|
82
84
|
*/
|
|
83
|
-
export type SignatureEnvelope<bigintType = bigint, numberType = number> =
|
|
85
|
+
export type SignatureEnvelope<bigintType = bigint, numberType = number> = EnvelopeOneOf<Secp256k1<bigintType, numberType> | P256<bigintType, numberType> | WebAuthn<bigintType, numberType> | Keychain<bigintType, numberType>, SignatureEnvelopeKey> | MultisigOneOf<bigintType, numberType>;
|
|
84
86
|
/**
|
|
85
87
|
* RPC-formatted signature envelope.
|
|
86
88
|
*/
|
|
87
|
-
export type SignatureEnvelopeRpc =
|
|
89
|
+
export type SignatureEnvelopeRpc = EnvelopeOneOf<Secp256k1Rpc | P256Rpc | WebAuthnRpc | KeychainRpc, SignatureEnvelopeRpcKey> | MultisigRpcOneOf;
|
|
88
90
|
/** Primitive signature envelope accepted by protocol sidecars. */
|
|
89
91
|
export type Primitive<bigintType = bigint, numberType = number> = OneOf<Secp256k1<bigintType, numberType> | P256<bigintType, numberType> | WebAuthn<bigintType, numberType>>;
|
|
90
92
|
/** RPC-formatted primitive signature envelope. */
|
|
@@ -125,39 +127,55 @@ export type KeychainRpc = {
|
|
|
125
127
|
*
|
|
126
128
|
* [TIP-1061](https://tips.sh/1061)
|
|
127
129
|
*/
|
|
128
|
-
export
|
|
129
|
-
type: 'multisig';
|
|
130
|
+
export interface Multisig<bigintType = bigint, numberType = number> {
|
|
130
131
|
/** Native multisig account address. */
|
|
131
132
|
account: Address.Address;
|
|
133
|
+
/** Complete applicable multisig configuration witness. */
|
|
134
|
+
config: MultisigConfig.Config<bigintType, numberType>;
|
|
132
135
|
/**
|
|
133
136
|
* Owner approvals over the multisig owner approval digest. Each approval is
|
|
134
137
|
* either a primitive signature or a nested multisig signature (keychain
|
|
135
138
|
* approvals are invalid).
|
|
136
139
|
*/
|
|
137
140
|
signatures: readonly SignatureEnvelope<bigintType, numberType>[];
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
type: 'multisig';
|
|
142
|
+
}
|
|
143
|
+
type MultisigOneOf<bigintType = bigint, numberType = number> = Multisig<bigintType, numberType> & {
|
|
144
|
+
inner?: undefined;
|
|
145
|
+
keyId?: undefined;
|
|
146
|
+
metadata?: undefined;
|
|
147
|
+
prehash?: undefined;
|
|
148
|
+
publicKey?: undefined;
|
|
149
|
+
signature?: undefined;
|
|
150
|
+
userAddress?: undefined;
|
|
151
|
+
version?: undefined;
|
|
144
152
|
};
|
|
145
153
|
/** RPC-formatted native multisig signature. */
|
|
146
|
-
export type MultisigRpc =
|
|
147
|
-
/**
|
|
154
|
+
export type MultisigRpc = {
|
|
155
|
+
/** Native multisig account address. */
|
|
148
156
|
account: Address.Address;
|
|
157
|
+
/** Complete applicable multisig configuration witness. */
|
|
158
|
+
config: MultisigConfig.Rpc;
|
|
149
159
|
/** Structured owner approvals. */
|
|
150
160
|
signatures: readonly SignatureEnvelopeRpc[];
|
|
151
161
|
/** Multisig RPC signatures are untagged. */
|
|
152
162
|
type?: undefined;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
163
|
+
};
|
|
164
|
+
type MultisigRpcOneOf = MultisigRpc & {
|
|
165
|
+
keyId?: undefined;
|
|
166
|
+
metadata?: undefined;
|
|
167
|
+
preHash?: undefined;
|
|
168
|
+
pubKeyX?: undefined;
|
|
169
|
+
pubKeyY?: undefined;
|
|
170
|
+
r?: undefined;
|
|
171
|
+
s?: undefined;
|
|
172
|
+
signature?: undefined;
|
|
173
|
+
userAddress?: undefined;
|
|
174
|
+
v?: undefined;
|
|
175
|
+
version?: undefined;
|
|
176
|
+
webauthnData?: undefined;
|
|
177
|
+
yParity?: undefined;
|
|
178
|
+
};
|
|
161
179
|
export type P256<bigintType = bigint, numberType = number> = {
|
|
162
180
|
prehash: boolean;
|
|
163
181
|
publicKey: PublicKey.PublicKey;
|
|
@@ -438,21 +456,17 @@ export declare function deserialize(value: Serialized): SignatureEnvelope;
|
|
|
438
456
|
* ```
|
|
439
457
|
*
|
|
440
458
|
* @example
|
|
441
|
-
* ### Multisig
|
|
442
|
-
*
|
|
443
|
-
* Pass `initialConfig` to derive `account` automatically. Set `init: true` to
|
|
444
|
-
* opt into bootstrap (uses `initialConfig` as the bootstrap `init`); omit
|
|
445
|
-
* `init` for subsequent (non-bootstrap) transactions.
|
|
459
|
+
* ### Multisig
|
|
446
460
|
*
|
|
447
461
|
* ```ts twoslash
|
|
448
462
|
* import { Secp256k1 } from 'ox'
|
|
449
463
|
* import { MultisigConfig, SignatureEnvelope } from 'ox/tempo'
|
|
450
464
|
*
|
|
451
|
-
* const
|
|
452
|
-
* threshold: 1,
|
|
465
|
+
* const config = MultisigConfig.from({
|
|
453
466
|
* owners: [
|
|
454
467
|
* { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
|
|
455
468
|
* ],
|
|
469
|
+
* threshold: 1,
|
|
456
470
|
* })
|
|
457
471
|
*
|
|
458
472
|
* const privateKey = Secp256k1.randomPrivateKey()
|
|
@@ -460,16 +474,8 @@ export declare function deserialize(value: Serialized): SignatureEnvelope;
|
|
|
460
474
|
* Secp256k1.sign({ payload: '0xdeadbeef', privateKey }),
|
|
461
475
|
* )
|
|
462
476
|
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
* initialConfig,
|
|
466
|
-
* signatures: [signature],
|
|
467
|
-
* init: true,
|
|
468
|
-
* })
|
|
469
|
-
*
|
|
470
|
-
* // Subsequent (non-bootstrap) transactions
|
|
471
|
-
* const subsequent = SignatureEnvelope.from({
|
|
472
|
-
* initialConfig,
|
|
477
|
+
* const multisig = SignatureEnvelope.from({
|
|
478
|
+
* config,
|
|
473
479
|
* signatures: [signature],
|
|
474
480
|
* })
|
|
475
481
|
* ```
|
|
@@ -483,24 +489,30 @@ export declare namespace from {
|
|
|
483
489
|
/** Payload that was signed. Used to recover `keyId` for keychain envelopes with secp256k1 inner signatures. */
|
|
484
490
|
payload?: Hex.Hex | Bytes.Bytes | undefined;
|
|
485
491
|
};
|
|
486
|
-
/**
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
492
|
+
/** Multisig signature input with an optional derived initial account. */
|
|
493
|
+
type MultisigFromConfig = {
|
|
494
|
+
/** Initial native multisig account, derived from config when omitted. */
|
|
495
|
+
account?: Address.Address | undefined;
|
|
496
|
+
/** Initial version-0 multisig configuration witness. */
|
|
497
|
+
config: MultisigConfig.Input<0 | 0n>;
|
|
498
|
+
/** Primitive or nested owner approvals. */
|
|
499
|
+
signatures: readonly SignatureEnvelope[];
|
|
493
500
|
type?: 'multisig' | undefined;
|
|
494
|
-
|
|
501
|
+
} | {
|
|
502
|
+
/** Native multisig account. */
|
|
503
|
+
account: Address.Address;
|
|
504
|
+
/** Complete applicable multisig configuration witness. */
|
|
505
|
+
config: MultisigConfig.Input;
|
|
506
|
+
/** Primitive or nested owner approvals. */
|
|
495
507
|
signatures: readonly SignatureEnvelope[];
|
|
496
|
-
|
|
508
|
+
type?: 'multisig' | undefined;
|
|
497
509
|
};
|
|
498
|
-
type Value = UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized |
|
|
499
|
-
type ReturnValue<value extends Value> =
|
|
510
|
+
type Value = UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized | MultisigFromConfig;
|
|
511
|
+
type ReturnValue<value extends Value> = value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : value extends MultisigFromConfig ? MultisigOneOf : IsNarrowable<value, SignatureEnvelope> extends true ? SignatureEnvelope : Assign<value, {
|
|
500
512
|
readonly type: GetType<value>;
|
|
501
513
|
} & (GetType<value> extends 'keychain' ? {
|
|
502
514
|
keyId?: Address.Address | undefined;
|
|
503
|
-
} : {})
|
|
515
|
+
} : {})>;
|
|
504
516
|
}
|
|
505
517
|
/**
|
|
506
518
|
* Converts an RPC-formatted signature envelope to a typed signature envelope.
|
|
@@ -522,7 +534,7 @@ export declare namespace from {
|
|
|
522
534
|
*/
|
|
523
535
|
export declare function fromRpc(envelope: SignatureEnvelopeRpc): SignatureEnvelope;
|
|
524
536
|
export declare namespace fromRpc {
|
|
525
|
-
type ErrorType = assert.ErrorType | CoercionError | InvalidSerializedError | MultisigConfig.
|
|
537
|
+
type ErrorType = assert.ErrorType | CoercionError | InvalidSerializedError | MultisigConfig.fromRpc.ErrorType | Signature.fromRpc.ErrorType | Errors.GlobalErrorType;
|
|
526
538
|
}
|
|
527
539
|
/**
|
|
528
540
|
* Determines the signature type of an envelope.
|
|
@@ -551,7 +563,7 @@ export declare function getType<envelope extends PartialBy<SignatureEnvelope, 't
|
|
|
551
563
|
* - WebAuthn: `0x02` + webauthnData (variable) + r (32) + s (32) + pubKeyX (32) + pubKeyY (32)
|
|
552
564
|
* - Keychain V1: `0x03` + userAddress (20) + inner signature (recursive)
|
|
553
565
|
* - Keychain V2: `0x04` + userAddress (20) + inner signature (recursive)
|
|
554
|
-
* - Multisig: `0x05` + RLP `[account
|
|
566
|
+
* - Multisig: `0x05` + RLP `[account, config, signatures]`
|
|
555
567
|
*
|
|
556
568
|
* [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
|
|
557
569
|
*
|
|
@@ -591,21 +603,19 @@ export declare namespace serialize {
|
|
|
591
603
|
* recovered owner address. Works for any owner key type (secp256k1, p256,
|
|
592
604
|
* webAuthn).
|
|
593
605
|
*
|
|
594
|
-
* Config updates never change `account`, so the initial config is the correct
|
|
595
|
-
* input even for post-update transactions.
|
|
596
|
-
*
|
|
597
606
|
* @example
|
|
598
607
|
* ```ts twoslash
|
|
599
608
|
* import { Secp256k1 } from 'ox'
|
|
600
609
|
* import { MultisigConfig, SignatureEnvelope, TxEnvelopeTempo } from 'ox/tempo'
|
|
601
610
|
*
|
|
602
|
-
* const
|
|
603
|
-
* threshold: 2,
|
|
611
|
+
* const config = MultisigConfig.from({
|
|
604
612
|
* owners: [
|
|
605
613
|
* { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
|
|
606
614
|
* { owner: '0x2222222222222222222222222222222222222222', weight: 1 },
|
|
607
615
|
* ],
|
|
616
|
+
* threshold: 2,
|
|
608
617
|
* })
|
|
618
|
+
* const account = MultisigConfig.getAddress(config)
|
|
609
619
|
*
|
|
610
620
|
* const tx = TxEnvelopeTempo.from({ chainId: 1, calls: [] })
|
|
611
621
|
* const payload = TxEnvelopeTempo.getSignPayload(tx)
|
|
@@ -615,15 +625,17 @@ export declare namespace serialize {
|
|
|
615
625
|
* Secp256k1.randomPrivateKey(),
|
|
616
626
|
* ]
|
|
617
627
|
* const digest = MultisigConfig.getSignPayload({
|
|
628
|
+
* account,
|
|
629
|
+
* config,
|
|
618
630
|
* payload,
|
|
619
|
-
* initialConfig,
|
|
620
631
|
* })
|
|
621
632
|
* const signatures = privateKeys.map((privateKey) =>
|
|
622
633
|
* SignatureEnvelope.from(Secp256k1.sign({ payload: digest, privateKey })),
|
|
623
634
|
* )
|
|
624
635
|
*
|
|
625
636
|
* const ordered = SignatureEnvelope.sortMultisigApprovals({ // [!code focus]
|
|
626
|
-
*
|
|
637
|
+
* account, // [!code focus]
|
|
638
|
+
* config, // [!code focus]
|
|
627
639
|
* payload, // [!code focus]
|
|
628
640
|
* signatures, // [!code focus]
|
|
629
641
|
* }) // [!code focus]
|
|
@@ -635,22 +647,15 @@ export declare namespace serialize {
|
|
|
635
647
|
export declare function sortMultisigApprovals(value: sortMultisigApprovals.Value): readonly SignatureEnvelope[];
|
|
636
648
|
export declare namespace sortMultisigApprovals {
|
|
637
649
|
type Value = {
|
|
650
|
+
/** The native multisig account address. */
|
|
651
|
+
account: Address.Address;
|
|
652
|
+
/** Complete applicable multisig configuration witness. */
|
|
653
|
+
config: MultisigConfig.Input;
|
|
638
654
|
/** The inner transaction sign payload (`tx.signature_hash()`). */
|
|
639
655
|
payload: Hex.Hex | Bytes.Bytes;
|
|
640
656
|
/** The owner approvals to order. */
|
|
641
657
|
signatures: readonly SignatureEnvelope[];
|
|
642
|
-
|
|
643
|
-
version?: bigint | undefined;
|
|
644
|
-
} & OneOf<{
|
|
645
|
-
/** The native multisig account address. */
|
|
646
|
-
account: Address.Address;
|
|
647
|
-
} | {
|
|
648
|
-
/**
|
|
649
|
-
* The initial multisig config (the bootstrap config that derived the
|
|
650
|
-
* permanent `account`). Used to derive the account automatically.
|
|
651
|
-
*/
|
|
652
|
-
initialConfig: MultisigConfig.Config;
|
|
653
|
-
}>;
|
|
658
|
+
};
|
|
654
659
|
type ErrorType = MultisigConfig.getSignPayload.ErrorType | extractAddress.ErrorType | Errors.GlobalErrorType;
|
|
655
660
|
}
|
|
656
661
|
/**
|
|
@@ -675,7 +680,7 @@ export declare namespace toRpc {
|
|
|
675
680
|
type Input = SignatureEnvelope;
|
|
676
681
|
/** RPC signature envelope inferred from the input type. */
|
|
677
682
|
type ReturnType<envelope extends Input = Input> = GetType<envelope> extends 'secp256k1' ? Secp256k1Rpc : GetType<envelope> extends 'p256' ? P256Rpc : GetType<envelope> extends 'webAuthn' ? WebAuthnRpc : GetType<envelope> extends 'keychain' ? KeychainRpc : GetType<envelope> extends 'multisig' ? MultisigRpc : SignatureEnvelopeRpc;
|
|
678
|
-
type ErrorType = assert.ErrorType | CoercionError | Signature.toRpc.ErrorType | Errors.GlobalErrorType;
|
|
683
|
+
type ErrorType = assert.ErrorType | CoercionError | MultisigConfig.toRpc.ErrorType | Signature.toRpc.ErrorType | Errors.GlobalErrorType;
|
|
679
684
|
}
|
|
680
685
|
/**
|
|
681
686
|
* Validates a signature envelope. Returns `true` if the envelope is valid, `false` otherwise.
|
|
@@ -860,4 +865,5 @@ export declare class InvalidMultisigApprovalError extends Errors.BaseError {
|
|
|
860
865
|
export declare class VerificationError extends Errors.BaseError {
|
|
861
866
|
readonly name = "SignatureEnvelope.VerificationError";
|
|
862
867
|
}
|
|
868
|
+
export {};
|
|
863
869
|
//# sourceMappingURL=SignatureEnvelope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
|
package/_types/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ox",
|
|
3
3
|
"description": "Ethereum Standard Library",
|
|
4
|
-
"version": "0.14.
|
|
4
|
+
"version": "0.14.39",
|
|
5
5
|
"main": "./_cjs/index.js",
|
|
6
6
|
"module": "./_esm/index.js",
|
|
7
7
|
"types": "./_types/index.d.ts",
|
|
@@ -523,6 +523,11 @@
|
|
|
523
523
|
"import": "./_esm/tempo/KeyAuthorization.js",
|
|
524
524
|
"default": "./_cjs/tempo/KeyAuthorization.js"
|
|
525
525
|
},
|
|
526
|
+
"./tempo/MultisigConfig.test-d": {
|
|
527
|
+
"types": "./_types/tempo/MultisigConfig.test-d.d.ts",
|
|
528
|
+
"import": "./_esm/tempo/MultisigConfig.test-d.js",
|
|
529
|
+
"default": "./_cjs/tempo/MultisigConfig.test-d.js"
|
|
530
|
+
},
|
|
526
531
|
"./tempo/MultisigConfig": {
|
|
527
532
|
"types": "./_types/tempo/MultisigConfig.d.ts",
|
|
528
533
|
"import": "./_esm/tempo/MultisigConfig.js",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { expectTypeOf, test } from 'vitest'
|
|
2
2
|
import * as KeyAuthorization from './KeyAuthorization.js'
|
|
3
|
+
import * as MultisigConfig from './MultisigConfig.js'
|
|
3
4
|
import type * as SignatureEnvelope from './SignatureEnvelope.js'
|
|
4
5
|
|
|
5
6
|
const authorization = {
|
|
@@ -19,6 +20,16 @@ const signature = {
|
|
|
19
20
|
|
|
20
21
|
const multisig = {
|
|
21
22
|
account: '0x2222222222222222222222222222222222222222',
|
|
23
|
+
config: MultisigConfig.from({
|
|
24
|
+
owners: [
|
|
25
|
+
{
|
|
26
|
+
owner: '0x1111111111111111111111111111111111111111',
|
|
27
|
+
weight: 1,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
threshold: 1,
|
|
31
|
+
version: 1n,
|
|
32
|
+
}),
|
|
22
33
|
signatures: [signature],
|
|
23
34
|
type: 'multisig',
|
|
24
35
|
} as const satisfies SignatureEnvelope.Multisig
|
|
@@ -46,6 +57,7 @@ test('accepts multisig signatures', () => {
|
|
|
46
57
|
|
|
47
58
|
const multisigRpc = {
|
|
48
59
|
account: multisig.account,
|
|
60
|
+
config: MultisigConfig.toRpc(multisig.config),
|
|
49
61
|
signatures: [
|
|
50
62
|
{
|
|
51
63
|
r: '0x01',
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from 'ox'
|
|
10
10
|
import { describe, expect, test } from 'vitest'
|
|
11
11
|
import * as KeyAuthorization from './KeyAuthorization.js'
|
|
12
|
+
import * as MultisigConfig from './MultisigConfig.js'
|
|
12
13
|
import * as Period from './Period.js'
|
|
13
14
|
import * as SignatureEnvelope from './SignatureEnvelope.js'
|
|
14
15
|
|
|
@@ -55,6 +56,16 @@ const signature_webauthn = SignatureEnvelope.from({
|
|
|
55
56
|
|
|
56
57
|
const signature_multisig = {
|
|
57
58
|
account: address,
|
|
59
|
+
config: MultisigConfig.from({
|
|
60
|
+
owners: [
|
|
61
|
+
{
|
|
62
|
+
owner: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
|
|
63
|
+
weight: 1,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
threshold: 1,
|
|
67
|
+
version: 1n,
|
|
68
|
+
}),
|
|
58
69
|
signatures: [SignatureEnvelope.from(signature_secp256k1)],
|
|
59
70
|
type: 'multisig',
|
|
60
71
|
} as const satisfies SignatureEnvelope.Multisig
|
|
@@ -1105,6 +1116,49 @@ describe('getSignPayload', () => {
|
|
|
1105
1116
|
})
|
|
1106
1117
|
|
|
1107
1118
|
describe('deserialize', () => {
|
|
1119
|
+
test('example: matches the frozen multisig witness vector', () => {
|
|
1120
|
+
const serialized =
|
|
1121
|
+
'0xf8f1f85382107980941eff47bc3a10a45d4b230b5d10e37751fe6aa718808080a0535353535353535353535353535353535353535353535353535353535353535380949dba7f426b711d4893c11611eacf7cc334e7146bb89a05f897949dba7f426b711d4893c11611eacf7cc334e7146bf83ba000000000000000000000000000000000000000000000000000000000000000008001d7d6947e5f4552091a69125d5dfcb7b8c2659029395bdf01f843b8412cfed9350faf80e4115e3c4c967356b80a8e6ee42e4a49ab953c8c8a3537d8d8359bf035a9bea18f32b0da7129cdce3ce701abc09ad8919b93da21a0d57e21451b' as const
|
|
1122
|
+
const authorization = KeyAuthorization.deserialize(serialized)
|
|
1123
|
+
|
|
1124
|
+
expect(authorization).toMatchInlineSnapshot(`
|
|
1125
|
+
{
|
|
1126
|
+
"account": "0x9dba7f426b711d4893c11611eacf7cc334e7146b",
|
|
1127
|
+
"address": "0x1eff47bc3a10a45d4b230b5d10e37751fe6aa718",
|
|
1128
|
+
"chainId": 4217n,
|
|
1129
|
+
"isAdmin": false,
|
|
1130
|
+
"signature": {
|
|
1131
|
+
"account": "0x9dba7f426b711d4893c11611eacf7cc334e7146b",
|
|
1132
|
+
"config": {
|
|
1133
|
+
"owners": [
|
|
1134
|
+
{
|
|
1135
|
+
"owner": "0x7e5f4552091a69125d5dfcb7b8c2659029395bdf",
|
|
1136
|
+
"weight": 1,
|
|
1137
|
+
},
|
|
1138
|
+
],
|
|
1139
|
+
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
1140
|
+
"threshold": 1,
|
|
1141
|
+
"version": 0n,
|
|
1142
|
+
},
|
|
1143
|
+
"signatures": [
|
|
1144
|
+
{
|
|
1145
|
+
"signature": {
|
|
1146
|
+
"r": 20352043601603739938552089215678686496502071349800253093806146960015285016792n,
|
|
1147
|
+
"s": 24248100135830369623517016370647991375751195948759416747839894916952879931717n,
|
|
1148
|
+
"yParity": 0,
|
|
1149
|
+
},
|
|
1150
|
+
"type": "secp256k1",
|
|
1151
|
+
},
|
|
1152
|
+
],
|
|
1153
|
+
"type": "multisig",
|
|
1154
|
+
},
|
|
1155
|
+
"type": "secp256k1",
|
|
1156
|
+
"witness": "0x5353535353535353535353535353535353535353535353535353535353535353",
|
|
1157
|
+
}
|
|
1158
|
+
`)
|
|
1159
|
+
expect(KeyAuthorization.serialize(authorization)).toBe(serialized)
|
|
1160
|
+
})
|
|
1161
|
+
|
|
1108
1162
|
test('multisig', () => {
|
|
1109
1163
|
const serialized = Rlp.fromHex([
|
|
1110
1164
|
['0x1', '0x', address],
|
|
@@ -159,7 +159,7 @@ type SignatureValue =
|
|
|
159
159
|
| UnionPartialBy<Signature, 'prehash' | 'type'>
|
|
160
160
|
| SignatureEnvelope.Secp256k1Flat
|
|
161
161
|
| SignatureEnvelope.Serialized
|
|
162
|
-
| SignatureEnvelope.from.
|
|
162
|
+
| SignatureEnvelope.from.MultisigFromConfig
|
|
163
163
|
|
|
164
164
|
type BaseTuple = readonly [
|
|
165
165
|
chainId: Hex.Hex,
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { expectTypeOf, test } from 'vitest'
|
|
2
|
+
import * as MultisigConfig from './MultisigConfig.js'
|
|
3
|
+
|
|
4
|
+
const input = {
|
|
5
|
+
owners: [
|
|
6
|
+
{
|
|
7
|
+
owner: '0x1111111111111111111111111111111111111111',
|
|
8
|
+
weight: 1,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
threshold: 1,
|
|
12
|
+
} as const satisfies MultisigConfig.Input
|
|
13
|
+
|
|
14
|
+
test('from returns a complete configuration', () => {
|
|
15
|
+
const config = MultisigConfig.from(input)
|
|
16
|
+
const numeric = MultisigConfig.from({ ...input, version: 1 })
|
|
17
|
+
const zero = MultisigConfig.from({ ...input, version: 0 })
|
|
18
|
+
|
|
19
|
+
expectTypeOf(config).toMatchTypeOf<MultisigConfig.Config>()
|
|
20
|
+
expectTypeOf(config.version).toEqualTypeOf<0n>()
|
|
21
|
+
expectTypeOf(numeric.version).toEqualTypeOf<bigint>()
|
|
22
|
+
expectTypeOf(zero.version).toEqualTypeOf<0n>()
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
test('RPC configurations use hexadecimal versions', () => {
|
|
26
|
+
const rpc = MultisigConfig.toRpc(MultisigConfig.from(input))
|
|
27
|
+
|
|
28
|
+
expectTypeOf(rpc).toEqualTypeOf<MultisigConfig.Rpc>()
|
|
29
|
+
expectTypeOf(rpc.version).toEqualTypeOf<`0x${string}`>()
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
test('complete configurations require a version', () => {
|
|
33
|
+
// @ts-expect-error Complete configurations include their version.
|
|
34
|
+
const config: MultisigConfig.Config = input
|
|
35
|
+
|
|
36
|
+
expectTypeOf(config).toEqualTypeOf<MultisigConfig.Config>()
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
test('sign payloads take the version from config', () => {
|
|
40
|
+
MultisigConfig.getSignPayload({
|
|
41
|
+
account: '0x2222222222222222222222222222222222222222',
|
|
42
|
+
config: { version: 1 },
|
|
43
|
+
payload: '0x1234',
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
MultisigConfig.getSignPayload({
|
|
47
|
+
account: '0x2222222222222222222222222222222222222222',
|
|
48
|
+
// @ts-expect-error A configuration version is required.
|
|
49
|
+
config: {},
|
|
50
|
+
payload: '0x1234',
|
|
51
|
+
})
|
|
52
|
+
})
|