@openzeppelin/miden-multisig-client 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +176 -23
- package/dist/client.d.ts +41 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +79 -2
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/lookupAuth.d.ts.map +1 -1
- package/dist/lookupAuth.js +2 -20
- package/dist/lookupAuth.js.map +1 -1
- package/dist/multisig/authArgErrors.d.ts +27 -1
- package/dist/multisig/authArgErrors.d.ts.map +1 -1
- package/dist/multisig/authArgErrors.js +33 -0
- package/dist/multisig/authArgErrors.js.map +1 -1
- package/dist/multisig.d.ts +77 -11
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +247 -181
- package/dist/multisig.js.map +1 -1
- package/dist/proposal/metadata.d.ts.map +1 -1
- package/dist/proposal/metadata.js +2 -0
- package/dist/proposal/metadata.js.map +1 -1
- package/dist/recovery/transportDrain.d.ts +38 -30
- package/dist/recovery/transportDrain.d.ts.map +1 -1
- package/dist/recovery/transportDrain.js +113 -113
- package/dist/recovery/transportDrain.js.map +1 -1
- package/dist/session/grant.d.ts +40 -0
- package/dist/session/grant.d.ts.map +1 -0
- package/dist/session/grant.js +125 -0
- package/dist/session/grant.js.map +1 -0
- package/dist/session/key.d.ts +103 -0
- package/dist/session/key.d.ts.map +1 -0
- package/dist/session/key.js +160 -0
- package/dist/session/key.js.map +1 -0
- package/dist/session/manager.d.ts +76 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +187 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/signers/ecdsa.d.ts +5 -1
- package/dist/signers/ecdsa.d.ts.map +1 -1
- package/dist/signers/ecdsa.js +9 -0
- package/dist/signers/ecdsa.js.map +1 -1
- package/dist/signers/falcon.d.ts +5 -1
- package/dist/signers/falcon.d.ts.map +1 -1
- package/dist/signers/falcon.js +9 -0
- package/dist/signers/falcon.js.map +1 -1
- package/dist/signers/ledger.d.ts +9 -1
- package/dist/signers/ledger.d.ts.map +1 -1
- package/dist/signers/ledger.js +13 -1
- package/dist/signers/ledger.js.map +1 -1
- package/dist/signers/miden-wallet.d.ts +13 -1
- package/dist/signers/miden-wallet.d.ts.map +1 -1
- package/dist/signers/miden-wallet.js +25 -0
- package/dist/signers/miden-wallet.js.map +1 -1
- package/dist/signers/para.d.ts +5 -1
- package/dist/signers/para.d.ts.map +1 -1
- package/dist/signers/para.js +9 -0
- package/dist/signers/para.js.map +1 -1
- package/dist/transaction/authArgs.d.ts +2 -2
- package/dist/transaction/authArgs.js +2 -2
- package/dist/transaction/options.d.ts +2 -2
- package/dist/transaction/summary.d.ts +17 -61
- package/dist/transaction/summary.d.ts.map +1 -1
- package/dist/transaction/summary.js +49 -95
- package/dist/transaction/summary.js.map +1 -1
- package/dist/transaction.d.ts +1 -1
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +1 -1
- package/dist/transaction.js.map +1 -1
- package/dist/types/proposal.d.ts +11 -5
- package/dist/types/proposal.d.ts.map +1 -1
- package/dist/types/proposal.js.map +1 -1
- package/dist/utils/eip712.d.ts +26 -69
- package/dist/utils/eip712.d.ts.map +1 -1
- package/dist/utils/eip712.js +101 -8
- package/dist/utils/eip712.js.map +1 -1
- package/dist/utils/felt.d.ts +7 -1
- package/dist/utils/felt.d.ts.map +1 -1
- package/dist/utils/felt.js +18 -1
- package/dist/utils/felt.js.map +1 -1
- package/package.json +4 -4
- package/src/client.ts +97 -2
- package/src/index.ts +29 -8
- package/src/lookupAuth.ts +3 -22
- package/src/multisig/authArgErrors.ts +42 -1
- package/src/multisig.ts +318 -207
- package/src/proposal/metadata.ts +2 -0
- package/src/recovery/transportDrain.ts +118 -124
- package/src/session/grant.ts +143 -0
- package/src/session/key.ts +215 -0
- package/src/session/manager.ts +273 -0
- package/src/signers/ecdsa.ts +12 -1
- package/src/signers/falcon.ts +12 -1
- package/src/signers/ledger.ts +19 -2
- package/src/signers/miden-wallet.ts +29 -1
- package/src/signers/para.ts +12 -1
- package/src/transaction/authArgs.ts +2 -2
- package/src/transaction/options.ts +2 -2
- package/src/transaction/summary.ts +62 -110
- package/src/transaction.ts +1 -6
- package/src/types/proposal.ts +11 -5
- package/src/utils/eip712.ts +130 -10
- package/src/utils/felt.ts +19 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/signers/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/signers/ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RequestAuthPayload } from '@openzeppelin/guardian-client';
|
|
1
|
+
import type { RequestAuthPayload, SessionGrantFields } from '@openzeppelin/guardian-client';
|
|
2
2
|
import type { Signer, SignatureScheme } from '../types.js';
|
|
3
3
|
export interface WalletSigningContext {
|
|
4
4
|
/**
|
|
@@ -53,6 +53,11 @@ export declare class MidenWalletSigner implements Signer {
|
|
|
53
53
|
* on the next read (once the SDK is up, as it always is in the guardian flow).
|
|
54
54
|
*/
|
|
55
55
|
private verifyAndCache;
|
|
56
|
+
/**
|
|
57
|
+
* The delegate `localAuthSigner` signs request auth, session grants and
|
|
58
|
+
* revoke-all, so Guardian must read its signatures in its format.
|
|
59
|
+
*/
|
|
60
|
+
get requestAuthFormat(): 'eip712' | undefined;
|
|
56
61
|
signAccountIdWithTimestamp(accountId: string, timestamp: number): Promise<string>;
|
|
57
62
|
signRequest(accountId: string, timestamp: number, requestPayload: RequestAuthPayload): Promise<string>;
|
|
58
63
|
signCommitment(commitmentHex: string): Promise<string>;
|
|
@@ -61,6 +66,13 @@ export declare class MidenWalletSigner implements Signer {
|
|
|
61
66
|
* Account-less; used directly by `recoverByKey`.
|
|
62
67
|
*/
|
|
63
68
|
signLookupMessage(keyCommitmentHex: string, timestampMs: number): Promise<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Sign a session grant. Follows the same signer as request
|
|
71
|
+
* authentication, so the session acts for the key Guardian already knows.
|
|
72
|
+
*/
|
|
73
|
+
signSessionGrant(grant: SessionGrantFields): Promise<string>;
|
|
74
|
+
/** Sign a session revoke-all with the same signer as request authentication. */
|
|
75
|
+
signSessionRevokeAll(signerCommitment: string, timestampMs: number): Promise<string>;
|
|
64
76
|
private signWord;
|
|
65
77
|
}
|
|
66
78
|
//# sourceMappingURL=miden-wallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miden-wallet.d.ts","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"miden-wallet.d.ts","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS3D,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAClF;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgB;IAClD,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,aAAa,CAA2B;gBAG9C,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM;IAgBpB;;;;;;;;;;;OAWG;IACH,IAAI,SAAS,IAAI,MAAM,CAyBtB;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;OAGG;IACH,IAAI,iBAAiB,IAAI,QAAQ,GAAG,SAAS,CAE5C;IAEK,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAOZ,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQvF;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlE,gFAAgF;IAC1E,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAO5E,QAAQ;CAcvB"}
|
|
@@ -2,6 +2,7 @@ import { AuthDigest } from '../utils/digest.js';
|
|
|
2
2
|
import { EcdsaFormat } from '../utils/ecdsa.js';
|
|
3
3
|
import { bytesToHex, normalizeHexWord } from '../utils/encoding.js';
|
|
4
4
|
import { lookupAuthDigest } from '../lookupAuth.js';
|
|
5
|
+
import { sessionGrantDigest, sessionRevokeAllDigest } from '../session/grant.js';
|
|
5
6
|
import { tryComputeEcdsaCommitmentHex } from '../utils/signature.js';
|
|
6
7
|
import { wordToBytes } from '../utils/word.js';
|
|
7
8
|
export class MidenWalletSigner {
|
|
@@ -83,6 +84,13 @@ export class MidenWalletSigner {
|
|
|
83
84
|
this.resolvedPublicKey = candidate;
|
|
84
85
|
return candidate;
|
|
85
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The delegate `localAuthSigner` signs request auth, session grants and
|
|
89
|
+
* revoke-all, so Guardian must read its signatures in its format.
|
|
90
|
+
*/
|
|
91
|
+
get requestAuthFormat() {
|
|
92
|
+
return this.localAuthSigner?.requestAuthFormat;
|
|
93
|
+
}
|
|
86
94
|
async signAccountIdWithTimestamp(accountId, timestamp) {
|
|
87
95
|
if (this.localAuthSigner) {
|
|
88
96
|
return this.localAuthSigner.signAccountIdWithTimestamp(accountId, timestamp);
|
|
@@ -111,6 +119,23 @@ export class MidenWalletSigner {
|
|
|
111
119
|
const digest = lookupAuthDigest(timestampMs, keyCommitmentHex);
|
|
112
120
|
return this.signWord(digest);
|
|
113
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Sign a session grant. Follows the same signer as request
|
|
124
|
+
* authentication, so the session acts for the key Guardian already knows.
|
|
125
|
+
*/
|
|
126
|
+
async signSessionGrant(grant) {
|
|
127
|
+
if (this.localAuthSigner?.signSessionGrant) {
|
|
128
|
+
return this.localAuthSigner.signSessionGrant(grant);
|
|
129
|
+
}
|
|
130
|
+
return this.signWord(sessionGrantDigest(grant));
|
|
131
|
+
}
|
|
132
|
+
/** Sign a session revoke-all with the same signer as request authentication. */
|
|
133
|
+
async signSessionRevokeAll(signerCommitment, timestampMs) {
|
|
134
|
+
if (this.localAuthSigner?.signSessionRevokeAll) {
|
|
135
|
+
return this.localAuthSigner.signSessionRevokeAll(signerCommitment, timestampMs);
|
|
136
|
+
}
|
|
137
|
+
return this.signWord(sessionRevokeAllDigest(signerCommitment, timestampMs));
|
|
138
|
+
}
|
|
114
139
|
async signWord(word) {
|
|
115
140
|
const bytes = wordToBytes(word);
|
|
116
141
|
const signatureBytes = await this.wallet.signBytes(bytes, 'word');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miden-wallet.js","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"miden-wallet.js","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"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"}
|
package/dist/signers/para.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RequestAuthPayload } from '@openzeppelin/guardian-client';
|
|
1
|
+
import type { RequestAuthPayload, SessionGrantFields } from '@openzeppelin/guardian-client';
|
|
2
2
|
import type { Signer, SignatureScheme } from '../types.js';
|
|
3
3
|
export interface ParaSigningContext {
|
|
4
4
|
signMessage(params: {
|
|
@@ -21,6 +21,10 @@ export declare class ParaSigner implements Signer {
|
|
|
21
21
|
* Account-less; used directly by `recoverByKey`.
|
|
22
22
|
*/
|
|
23
23
|
signLookupMessage(keyCommitmentHex: string, timestampMs: number): Promise<string>;
|
|
24
|
+
/** Sign a session grant as its raw RPO digest. */
|
|
25
|
+
signSessionGrant(grant: SessionGrantFields): Promise<string>;
|
|
26
|
+
/** Sign a session revoke-all as its raw RPO digest. */
|
|
27
|
+
signSessionRevokeAll(signerCommitment: string, timestampMs: number): Promise<string>;
|
|
24
28
|
private signWord;
|
|
25
29
|
}
|
|
26
30
|
//# sourceMappingURL=para.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"para.d.ts","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"para.d.ts","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ3D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF;AAWD,qBAAa,UAAW,YAAW,MAAM;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGhC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM;IAWb,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAKZ,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvF,kDAAkD;IAC5C,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE,uDAAuD;IACjD,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAI5E,QAAQ;CAiBvB"}
|
package/dist/signers/para.js
CHANGED
|
@@ -2,6 +2,7 @@ import { AuthDigest } from '../utils/digest.js';
|
|
|
2
2
|
import { EcdsaFormat } from '../utils/ecdsa.js';
|
|
3
3
|
import { hexToBytes, uint8ArrayToBase64 } from '../utils/encoding.js';
|
|
4
4
|
import { lookupAuthDigest } from '../lookupAuth.js';
|
|
5
|
+
import { sessionGrantDigest, sessionRevokeAllDigest } from '../session/grant.js';
|
|
5
6
|
import { wordToBytes } from '../utils/word.js';
|
|
6
7
|
function extractSignature(response) {
|
|
7
8
|
if (!response || typeof response !== 'object') {
|
|
@@ -45,6 +46,14 @@ export class ParaSigner {
|
|
|
45
46
|
const digest = lookupAuthDigest(timestampMs, keyCommitmentHex);
|
|
46
47
|
return this.signWord(digest);
|
|
47
48
|
}
|
|
49
|
+
/** Sign a session grant as its raw RPO digest. */
|
|
50
|
+
async signSessionGrant(grant) {
|
|
51
|
+
return this.signWord(sessionGrantDigest(grant));
|
|
52
|
+
}
|
|
53
|
+
/** Sign a session revoke-all as its raw RPO digest. */
|
|
54
|
+
async signSessionRevokeAll(signerCommitment, timestampMs) {
|
|
55
|
+
return this.signWord(sessionRevokeAllDigest(signerCommitment, timestampMs));
|
|
56
|
+
}
|
|
48
57
|
async signWord(word) {
|
|
49
58
|
const messageBase64 = uint8ArrayToBase64(hexToBytes(EcdsaFormat.keccakDigestHex(wordToBytes(word))));
|
|
50
59
|
const res = await this.para.signMessage({
|
package/dist/signers/para.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"para.js","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"para.js","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@ export interface MultisigRequestDraft {
|
|
|
16
16
|
* The salt is `options.salt` or a fresh one. `approvalExpirationDelta` left
|
|
17
17
|
* out means the approval never expires, the upstream default. `boundBlockNum`
|
|
18
18
|
* left out binds the store's sync height, which is what a proposer wants; a
|
|
19
|
-
* rebuild pins the proposal's
|
|
20
|
-
* already binds.
|
|
19
|
+
* rebuild pins the block the proposal's summary binds and the expiration the
|
|
20
|
+
* summary already binds.
|
|
21
21
|
*
|
|
22
22
|
* The salt is moved across the WASM boundary, so a handle is built here from
|
|
23
23
|
* the hex rather than taken from the caller, and nothing frees it afterwards.
|
|
@@ -17,8 +17,8 @@ const AUTH_ARGS_NUM_ELEMENTS = 12;
|
|
|
17
17
|
* The salt is `options.salt` or a fresh one. `approvalExpirationDelta` left
|
|
18
18
|
* out means the approval never expires, the upstream default. `boundBlockNum`
|
|
19
19
|
* left out binds the store's sync height, which is what a proposer wants; a
|
|
20
|
-
* rebuild pins the proposal's
|
|
21
|
-
* already binds.
|
|
20
|
+
* rebuild pins the block the proposal's summary binds and the expiration the
|
|
21
|
+
* summary already binds.
|
|
22
22
|
*
|
|
23
23
|
* The salt is moved across the WASM boundary, so a handle is built here from
|
|
24
24
|
* the hex rather than taken from the caller, and nothing frees it afterwards.
|
|
@@ -7,8 +7,8 @@ export interface SignatureOptions {
|
|
|
7
7
|
/**
|
|
8
8
|
* The block the transaction summary binds. Omitted, the store's sync height,
|
|
9
9
|
* which is right for the party creating a proposal. A cosigner or executor
|
|
10
|
-
* rebuilding a proposal pins it to the proposal's
|
|
11
|
-
* summary can never match the signed one.
|
|
10
|
+
* rebuilding a proposal pins it to the block the proposal's summary binds, or
|
|
11
|
+
* the rebuilt summary can never match the signed one.
|
|
12
12
|
*/
|
|
13
13
|
boundBlockNum?: number;
|
|
14
14
|
/**
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import type { MidenClient, TransactionRequest, TransactionSummary } from '@miden-sdk/miden-sdk';
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
* The summary binds the block the request's auth args name, and the anchor
|
|
5
|
-
* the store's sync height at capture. A sync landing between the build and the
|
|
6
|
-
* capture leaves them one block apart, and every cosigner's anchor check would
|
|
7
|
-
* then fail on a proposal nothing else is wrong with. Caught here, before the
|
|
8
|
-
* proposal is pushed, so the proposer rebuilds instead.
|
|
9
|
-
*/
|
|
10
|
-
export declare class SummaryAnchorMismatchError extends Error {
|
|
11
|
-
readonly retryable = true;
|
|
12
|
-
constructor(details: {
|
|
13
|
-
anchorCommitmentHex: string;
|
|
14
|
-
summaryBlockCommitmentHex: string;
|
|
15
|
-
});
|
|
16
|
-
}
|
|
2
|
+
import { Word } from '@miden-sdk/miden-sdk';
|
|
17
3
|
/**
|
|
18
4
|
* The Miden client synced and its node still has not produced the block a
|
|
19
5
|
* proposal binds, so the proposal cannot execute at this client's tip yet.
|
|
@@ -35,34 +21,18 @@ export declare class ChainBehindBoundBlockError extends Error {
|
|
|
35
21
|
* not synced recently. Either clears on a later attempt, which syncs first.
|
|
36
22
|
*/
|
|
37
23
|
export declare function isStaleChainError(error: unknown): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Derives the summary awaiting authorization for a proposal the caller is
|
|
40
|
-
* creating now, and captures a `ChainAnchor` at the current sync height to ship
|
|
41
|
-
* with it.
|
|
42
|
-
*
|
|
43
|
-
* The summary is derived at the chain tip, like every other execution of a
|
|
44
|
-
* multisig proposal (see {@link executeForSummaryAtTip}). The anchor still
|
|
45
|
-
* travels in the proposal: it names the block the request's auth args bind,
|
|
46
|
-
* which is how a rebuild learns that block, and 0.18.0-rc.1 clients re-execute
|
|
47
|
-
* at it. A proposer builds at the sync height the anchor is captured at, and
|
|
48
|
-
* the check below is what makes that hold.
|
|
49
|
-
*/
|
|
50
|
-
export declare function executeForSummary(client: MidenClient, accountId: string, txRequest: TransactionRequest): Promise<{
|
|
51
|
-
summary: TransactionSummary;
|
|
52
|
-
anchor: ChainAnchor;
|
|
53
|
-
}>;
|
|
54
24
|
/**
|
|
55
25
|
* Executes a multisig request at the chain tip to obtain the summary awaiting
|
|
56
|
-
* authorization.
|
|
57
|
-
*
|
|
26
|
+
* authorization. Proposers derive a new proposal's summary with it, and
|
|
27
|
+
* cosigners and the executor reproduce it, whatever block they have synced to.
|
|
58
28
|
*
|
|
59
29
|
* Since protocol 0.17 a multisig summary binds the block its auth args name
|
|
60
30
|
* (the bound block), not the block the transaction executes against, so it
|
|
61
31
|
* reproduces at any later tip once the bound block is in the transaction's
|
|
62
32
|
* partial blockchain. The request declares it through `withBlockNumbers`, and
|
|
63
|
-
* foreign accounts, the fee faucet among them, load at the tip.
|
|
64
|
-
* the
|
|
65
|
-
*
|
|
33
|
+
* foreign accounts, the fee faucet among them, load at the tip. Executing at
|
|
34
|
+
* the bound block instead would load them there, which a node prunes about 50
|
|
35
|
+
* blocks later (issue #462).
|
|
66
36
|
*
|
|
67
37
|
* The client has to have synced to at least the bound block. When it has not,
|
|
68
38
|
* this syncs once before executing.
|
|
@@ -105,33 +75,19 @@ export declare function requireDeclaredBoundBlock(request: TransactionRequest):
|
|
|
105
75
|
*/
|
|
106
76
|
export declare function syncToBoundBlock(client: MidenClient, blockNum: number, syncChain?: () => Promise<unknown>): Promise<void>;
|
|
107
77
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
78
|
+
* Reads the block a multisig transaction summary binds, the counterpart of the
|
|
79
|
+
* Rust `TransactionSummary::block_number`. Since protocol 0.17 that is the block
|
|
80
|
+
* the request's multisig auth args name, so it is the proposal's bound block.
|
|
110
81
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
* Serializes a `ChainAnchor` to base64 for the proposal wire payload.
|
|
119
|
-
*/
|
|
120
|
-
export declare function chainAnchorToBase64(anchor: ChainAnchor): string;
|
|
121
|
-
/**
|
|
122
|
-
* Deserializes a `ChainAnchor` from its base64 wire form. `ChainAnchor`
|
|
123
|
-
* deserialization validates the header/chain consistency internally, so a
|
|
124
|
-
* decoded anchor only needs its block commitment checked against the signed
|
|
125
|
-
* transaction summary before the block it names is taken as the one the
|
|
126
|
-
* summary binds.
|
|
127
|
-
*/
|
|
128
|
-
export declare function chainAnchorFromBase64(anchorBase64: string): ChainAnchor;
|
|
129
|
-
/**
|
|
130
|
-
* The block a proposal's `chainAnchor` names, which is the block its summary
|
|
131
|
-
* binds: a custom producer rebuilds its request at this block. Decodes the
|
|
132
|
-
* anchor for the one number and frees it.
|
|
82
|
+
* The web SDK exposes no accessor for it, so this reads the serialized summary
|
|
83
|
+
* (layout above) and checks the block commitment next to it against
|
|
84
|
+
* `blockCommitment()`, so a layout this client does not know is refused rather
|
|
85
|
+
* than read at the wrong offset.
|
|
86
|
+
*
|
|
87
|
+
* @throws TransactionSummaryLayoutError when the summary is not version 1, is
|
|
88
|
+
* too short to hold the tail, or its tail does not hold its block commitment.
|
|
133
89
|
*/
|
|
134
|
-
export declare function
|
|
90
|
+
export declare function summaryBoundBlockNum(summary: TransactionSummary): number;
|
|
135
91
|
/**
|
|
136
92
|
* Reads the salt a multisig transaction summary binds.
|
|
137
93
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AA2B5C;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,SAAS,QAAQ;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CASnE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAMzF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAM,OAAO,CAAC,OAAO,CAA4B,GAC3D,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAQxE;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAGjG"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BoundBlockNotDeclaredError } from '../multisig/authArgErrors.js';
|
|
3
|
-
import { base64ToUint8Array, normalizeHexWord, uint8ArrayToBase64 } from '../utils/encoding.js';
|
|
1
|
+
import { Word } from '@miden-sdk/miden-sdk';
|
|
2
|
+
import { BoundBlockNotDeclaredError, TransactionSummaryLayoutError, } from '../multisig/authArgErrors.js';
|
|
4
3
|
import { requestBoundBlockNum } from './authArgs.js';
|
|
5
4
|
/**
|
|
6
5
|
* Layout of the six user params a multisig auth component binds into the
|
|
@@ -10,21 +9,16 @@ import { requestBoundBlockNum } from './authArgs.js';
|
|
|
10
9
|
const APPROVAL_EXPIRATION_USER_PARAM_INDEX = 0;
|
|
11
10
|
const SALT_USER_PARAM_OFFSET = 2;
|
|
12
11
|
/**
|
|
13
|
-
* The summary
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
12
|
+
* The serialized summary layout {@link summaryBoundBlockNum} reads, from
|
|
13
|
+
* `TransactionSummary::write_into` at miden-protocol 0.17.0: the version byte
|
|
14
|
+
* first, then variable-length fields, then a fixed tail of the block number
|
|
15
|
+
* (u32, little endian), the block commitment (four 8-byte felts), the
|
|
16
|
+
* expiration delta (u16) and the six user-param felts, with no length prefix.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
`the captured chain anchor is ${details.anchorCommitmentHex}; a sync landed between ` +
|
|
24
|
-
'building the request and capturing its anchor, so rebuild the request and retry');
|
|
25
|
-
this.name = 'SummaryAnchorMismatchError';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
18
|
+
const SUPPORTED_SUMMARY_VERSION = 1;
|
|
19
|
+
const BLOCK_NUMBER_BYTES = 4;
|
|
20
|
+
const BLOCK_COMMITMENT_BYTES = 32;
|
|
21
|
+
const SUMMARY_TAIL_BYTES = BLOCK_NUMBER_BYTES + BLOCK_COMMITMENT_BYTES + 2 + 6 * 8;
|
|
28
22
|
/**
|
|
29
23
|
* The Miden client synced and its node still has not produced the block a
|
|
30
24
|
* proposal binds, so the proposal cannot execute at this client's tip yet.
|
|
@@ -55,52 +49,18 @@ export function isStaleChainError(error) {
|
|
|
55
49
|
const message = error instanceof Error ? error.message : String(error);
|
|
56
50
|
return message.includes('has been pruned');
|
|
57
51
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Derives the summary awaiting authorization for a proposal the caller is
|
|
60
|
-
* creating now, and captures a `ChainAnchor` at the current sync height to ship
|
|
61
|
-
* with it.
|
|
62
|
-
*
|
|
63
|
-
* The summary is derived at the chain tip, like every other execution of a
|
|
64
|
-
* multisig proposal (see {@link executeForSummaryAtTip}). The anchor still
|
|
65
|
-
* travels in the proposal: it names the block the request's auth args bind,
|
|
66
|
-
* which is how a rebuild learns that block, and 0.18.0-rc.1 clients re-execute
|
|
67
|
-
* at it. A proposer builds at the sync height the anchor is captured at, and
|
|
68
|
-
* the check below is what makes that hold.
|
|
69
|
-
*/
|
|
70
|
-
export async function executeForSummary(client, accountId, txRequest) {
|
|
71
|
-
const anchor = await client.transactions.captureAnchor(txRequest);
|
|
72
|
-
let summary;
|
|
73
|
-
try {
|
|
74
|
-
summary = await executeForSummaryAtTip(client, accountId, txRequest);
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
anchor.free();
|
|
78
|
-
throw error;
|
|
79
|
-
}
|
|
80
|
-
const anchorCommitment = anchor.commitment();
|
|
81
|
-
const summaryBlockCommitment = summary.blockCommitment();
|
|
82
|
-
const anchorCommitmentHex = normalizeHexWord(anchorCommitment.toHex());
|
|
83
|
-
const summaryBlockCommitmentHex = normalizeHexWord(summaryBlockCommitment.toHex());
|
|
84
|
-
anchorCommitment.free?.();
|
|
85
|
-
summaryBlockCommitment.free?.();
|
|
86
|
-
if (anchorCommitmentHex !== summaryBlockCommitmentHex) {
|
|
87
|
-
anchor.free();
|
|
88
|
-
throw new SummaryAnchorMismatchError({ anchorCommitmentHex, summaryBlockCommitmentHex });
|
|
89
|
-
}
|
|
90
|
-
return { summary, anchor };
|
|
91
|
-
}
|
|
92
52
|
/**
|
|
93
53
|
* Executes a multisig request at the chain tip to obtain the summary awaiting
|
|
94
|
-
* authorization.
|
|
95
|
-
*
|
|
54
|
+
* authorization. Proposers derive a new proposal's summary with it, and
|
|
55
|
+
* cosigners and the executor reproduce it, whatever block they have synced to.
|
|
96
56
|
*
|
|
97
57
|
* Since protocol 0.17 a multisig summary binds the block its auth args name
|
|
98
58
|
* (the bound block), not the block the transaction executes against, so it
|
|
99
59
|
* reproduces at any later tip once the bound block is in the transaction's
|
|
100
60
|
* partial blockchain. The request declares it through `withBlockNumbers`, and
|
|
101
|
-
* foreign accounts, the fee faucet among them, load at the tip.
|
|
102
|
-
* the
|
|
103
|
-
*
|
|
61
|
+
* foreign accounts, the fee faucet among them, load at the tip. Executing at
|
|
62
|
+
* the bound block instead would load them there, which a node prunes about 50
|
|
63
|
+
* blocks later (issue #462).
|
|
104
64
|
*
|
|
105
65
|
* The client has to have synced to at least the bound block. When it has not,
|
|
106
66
|
* this syncs once before executing.
|
|
@@ -170,51 +130,45 @@ export async function syncToBoundBlock(client, blockNum, syncChain = () => clien
|
|
|
170
130
|
}
|
|
171
131
|
}
|
|
172
132
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
133
|
+
* Reads the block a multisig transaction summary binds, the counterpart of the
|
|
134
|
+
* Rust `TransactionSummary::block_number`. Since protocol 0.17 that is the block
|
|
135
|
+
* the request's multisig auth args name, so it is the proposal's bound block.
|
|
175
136
|
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
operation: 'custom',
|
|
184
|
-
account: accountId,
|
|
185
|
-
request: txRequest,
|
|
186
|
-
anchor,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Serializes a `ChainAnchor` to base64 for the proposal wire payload.
|
|
191
|
-
*/
|
|
192
|
-
export function chainAnchorToBase64(anchor) {
|
|
193
|
-
return uint8ArrayToBase64(anchor.serialize());
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Deserializes a `ChainAnchor` from its base64 wire form. `ChainAnchor`
|
|
197
|
-
* deserialization validates the header/chain consistency internally, so a
|
|
198
|
-
* decoded anchor only needs its block commitment checked against the signed
|
|
199
|
-
* transaction summary before the block it names is taken as the one the
|
|
200
|
-
* summary binds.
|
|
201
|
-
*/
|
|
202
|
-
export function chainAnchorFromBase64(anchorBase64) {
|
|
203
|
-
return ChainAnchor.deserialize(base64ToUint8Array(anchorBase64));
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* The block a proposal's `chainAnchor` names, which is the block its summary
|
|
207
|
-
* binds: a custom producer rebuilds its request at this block. Decodes the
|
|
208
|
-
* anchor for the one number and frees it.
|
|
137
|
+
* The web SDK exposes no accessor for it, so this reads the serialized summary
|
|
138
|
+
* (layout above) and checks the block commitment next to it against
|
|
139
|
+
* `blockCommitment()`, so a layout this client does not know is refused rather
|
|
140
|
+
* than read at the wrong offset.
|
|
141
|
+
*
|
|
142
|
+
* @throws TransactionSummaryLayoutError when the summary is not version 1, is
|
|
143
|
+
* too short to hold the tail, or its tail does not hold its block commitment.
|
|
209
144
|
*/
|
|
210
|
-
export function
|
|
211
|
-
const
|
|
145
|
+
export function summaryBoundBlockNum(summary) {
|
|
146
|
+
const bytes = summary.serialize();
|
|
147
|
+
const blockCommitment = summary.blockCommitment();
|
|
212
148
|
try {
|
|
213
|
-
return
|
|
149
|
+
return readBoundBlockNum(bytes, blockCommitment.serialize());
|
|
214
150
|
}
|
|
215
151
|
finally {
|
|
216
|
-
|
|
152
|
+
blockCommitment.free();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function readBoundBlockNum(bytes, blockCommitment) {
|
|
156
|
+
if (bytes.length < 1 + SUMMARY_TAIL_BYTES) {
|
|
157
|
+
throw new TransactionSummaryLayoutError(`${bytes.length} bytes is shorter than the version byte and the ${SUMMARY_TAIL_BYTES}-byte tail`);
|
|
158
|
+
}
|
|
159
|
+
if (bytes[0] !== SUPPORTED_SUMMARY_VERSION) {
|
|
160
|
+
throw new TransactionSummaryLayoutError(`version ${bytes[0]}, but only version ${SUPPORTED_SUMMARY_VERSION} is supported`);
|
|
217
161
|
}
|
|
162
|
+
const blockNumberOffset = bytes.length - SUMMARY_TAIL_BYTES;
|
|
163
|
+
const commitmentOffset = blockNumberOffset + BLOCK_NUMBER_BYTES;
|
|
164
|
+
const tailCommitment = bytes.subarray(commitmentOffset, commitmentOffset + BLOCK_COMMITMENT_BYTES);
|
|
165
|
+
if (!bytesEqual(tailCommitment, blockCommitment)) {
|
|
166
|
+
throw new TransactionSummaryLayoutError('the bytes after the block number are not the summary block commitment');
|
|
167
|
+
}
|
|
168
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(blockNumberOffset, true);
|
|
169
|
+
}
|
|
170
|
+
function bytesEqual(a, b) {
|
|
171
|
+
return a.length === b.length && a.every((byte, index) => byte === b[index]);
|
|
218
172
|
}
|
|
219
173
|
/**
|
|
220
174
|
* Reads the salt a multisig transaction summary binds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD;;;;GAIG;AACH,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAC/C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,SAAS,GAAG,IAAI,CAAC;IACjB,UAAU,CAAS;IACnB,aAAa,CAAS;IAE/B,YAAY,OAAsD;QAChE,KAAK,CACH,oCAAoC,OAAO,CAAC,UAAU,gBAAgB;YACpE,GAAG,OAAO,CAAC,aAAa,8DAA8D,CACzF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAmB,EACnB,SAAiB,EACjB,SAA6B;IAE7B,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;QACjC,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAmB,EACnB,OAA2B,EAC3B,SAAkC;IAElC,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA2B;IACnE,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAmB,EACnB,QAAgB,EAChB,YAAoC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;IAE5D,IAAI,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,SAAS,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IAChD,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB,EAAE,eAA2B;IACvE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;QAC1C,MAAM,IAAI,6BAA6B,CACrC,GAAG,KAAK,CAAC,MAAM,mDAAmD,kBAAkB,YAAY,CACjG,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,yBAAyB,EAAE,CAAC;QAC3C,MAAM,IAAI,6BAA6B,CACrC,WAAW,KAAK,CAAC,CAAC,CAAC,sBAAsB,yBAAyB,eAAe,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAC5D,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;IAChE,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,sBAAsB,CAAC,CAAC;IACnG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,6BAA6B,CACrC,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS,CAC7E,iBAAiB,EACjB,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAa,EAAE,CAAa;IAC9C,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,IAAI,CAAC,YAAY,CACtB,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,OAA2B;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC;IACjF,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC"}
|
package/dist/transaction.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { MAX_APPROVAL_EXPIRATION_DELTA, buildMultisigRequest, multisigRequestBuilder, requestBoundBlockNum, requestSaltHex, } from './transaction/authArgs.js';
|
|
2
2
|
export { buildConsumeNotesTransactionRequest, buildConsumeNotesTransactionRequestFromNotes, } from './transaction/consumeNotes.js';
|
|
3
|
-
export { ChainBehindBoundBlockError,
|
|
3
|
+
export { ChainBehindBoundBlockError, executeForSummaryAtTip, prepareTipExecution, isStaleChainError, requireDeclaredBoundBlock, syncToBoundBlock, summaryApprovalExpirationBlockNum, summaryBoundBlockNum, summarySalt, } from './transaction/summary.js';
|
|
4
4
|
export { buildP2idNoteFromMetadata, buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, type P2idTransactionOptions, type P2ideHeightOptions, } from './transaction/p2id.js';
|
|
5
5
|
export { buildUpdateGuardianTransactionRequest, } from './transaction/updateGuardian.js';
|
|
6
6
|
export { buildUpdateProcedureThresholdTransactionRequest, } from './transaction/updateProcedureThreshold.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,oBAAoB,EACpB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|
package/dist/transaction.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { MAX_APPROVAL_EXPIRATION_DELTA, buildMultisigRequest, multisigRequestBuilder, requestBoundBlockNum, requestSaltHex, } from './transaction/authArgs.js';
|
|
2
2
|
export { buildConsumeNotesTransactionRequest, buildConsumeNotesTransactionRequestFromNotes, } from './transaction/consumeNotes.js';
|
|
3
|
-
export { ChainBehindBoundBlockError,
|
|
3
|
+
export { ChainBehindBoundBlockError, executeForSummaryAtTip, prepareTipExecution, isStaleChainError, requireDeclaredBoundBlock, syncToBoundBlock, summaryApprovalExpirationBlockNum, summaryBoundBlockNum, summarySalt, } from './transaction/summary.js';
|
|
4
4
|
export { buildP2idNoteFromMetadata, buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, } from './transaction/p2id.js';
|
|
5
5
|
export { buildUpdateGuardianTransactionRequest, } from './transaction/updateGuardian.js';
|
|
6
6
|
export { buildUpdateProcedureThresholdTransactionRequest, } from './transaction/updateProcedureThreshold.js';
|
package/dist/transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,oBAAoB,EACpB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|