@openzeppelin/guardian-client 0.18.3 → 0.19.0-rc.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 +127 -9
- package/dist/auth-request.d.ts +13 -0
- package/dist/auth-request.d.ts.map +1 -1
- package/dist/auth-request.js +26 -5
- package/dist/auth-request.js.map +1 -1
- package/dist/conversion.d.ts +8 -2
- package/dist/conversion.d.ts.map +1 -1
- package/dist/conversion.js +46 -3
- package/dist/conversion.js.map +1 -1
- package/dist/error-codes.d.ts +3 -5
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +23 -4
- package/dist/error-codes.js.map +1 -1
- package/dist/execution.d.ts +99 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +124 -0
- package/dist/execution.js.map +1 -0
- package/dist/http.d.ts +81 -5
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +179 -27
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/request-envelope.d.ts +22 -0
- package/dist/request-envelope.d.ts.map +1 -0
- package/dist/request-envelope.js +51 -0
- package/dist/request-envelope.js.map +1 -0
- package/dist/server-types.d.ts +33 -0
- package/dist/server-types.d.ts.map +1 -1
- package/dist/session-request.d.ts +104 -0
- package/dist/session-request.d.ts.map +1 -0
- package/dist/session-request.js +164 -0
- package/dist/session-request.js.map +1 -0
- package/dist/types.d.ts +124 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/auth-request.test.ts +12 -0
- package/src/auth-request.ts +37 -5
- package/src/conversion.test.ts +98 -0
- package/src/conversion.ts +59 -3
- package/src/dependencies.test.ts +25 -0
- package/src/error-codes.test.ts +14 -1
- package/src/error-codes.ts +23 -4
- package/src/execution.test.ts +145 -0
- package/src/execution.ts +206 -0
- package/src/http.test.ts +752 -19
- package/src/http.ts +244 -30
- package/src/index.ts +50 -1
- package/src/request-envelope.test.ts +30 -0
- package/src/request-envelope.ts +68 -0
- package/src/server-types.ts +35 -1
- package/src/session-request.test.ts +178 -0
- package/src/session-request.ts +191 -0
- package/src/types.ts +129 -4
package/README.md
CHANGED
|
@@ -66,13 +66,26 @@ await client.revokeSession(); // session-key-signed logout; back to the wallet
|
|
|
66
66
|
await client.revokeAllSessions(); // wallet-signed: ends every session of the signer
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
The delegated signer signs reads (`getState`, `getCanonicalNonce`, `getDelta`,
|
|
69
|
+
The delegated signer signs reads (`getState`, `getCanonicalNonce`, `getStateTail`, `getDelta`,
|
|
70
70
|
`getDeltaSince`, `getDeltaHistory`), proposal reads and proposal create/sign
|
|
71
71
|
(`getDeltaProposals`, `getDeltaProposal`, `pushDeltaProposal`,
|
|
72
|
-
`signDeltaProposal`)
|
|
73
|
-
`
|
|
72
|
+
`signDeltaProposal`), execution requests and status reads
|
|
73
|
+
(`executeDeltaProposal`, `getDeltaProposalExecution`, `getCurrentExecution`)
|
|
74
|
+
and delta pushes (`pushDelta`). Every other route uses the wallet signer,
|
|
75
|
+
including `configure`, `abandonCandidate`, account lookup and
|
|
74
76
|
`revokeAllSessions`; the server rejects session credentials there with
|
|
75
|
-
`wallet_signature_required`.
|
|
77
|
+
`wallet_signature_required`, as an older Guardian does for `pushDelta`.
|
|
78
|
+
|
|
79
|
+
Session requests carry `x-auth-format: session-v2`. A `SessionRequestSigner`
|
|
80
|
+
receives the route's `SessionOperation` as the first argument of
|
|
81
|
+
`signRequest(operation, accountId, timestamp, payload)` and signs
|
|
82
|
+
`sessionRequestEnvelope(SessionTransport.Http, operation, requestWord)` (62
|
|
83
|
+
bytes, P-256 over SHA-256), where `requestWord` is the 32-byte
|
|
84
|
+
`AuthRequestMessage` word a wallet would sign. `createSession` throws
|
|
85
|
+
`UnsupportedAuthVersionError` when the Guardian does not report
|
|
86
|
+
`requestAuthVersion: 2`, and requests in the old format are answered with
|
|
87
|
+
`unsupported_auth_version`; neither ends the session or falls back to the
|
|
88
|
+
wallet.
|
|
76
89
|
|
|
77
90
|
A session is used only while the wallet that granted it
|
|
78
91
|
(`session.signerCommitment`) is the client's signer. It is dropped 30 seconds
|
|
@@ -104,6 +117,23 @@ await client.configure({
|
|
|
104
117
|
});
|
|
105
118
|
```
|
|
106
119
|
|
|
120
|
+
An account whose cosigners do not all use one signature scheme (for example
|
|
121
|
+
an ECDSA wallet and a locally held Falcon key) declares each cosigner's scheme
|
|
122
|
+
and the GUARDIAN's scheme with the `Miden` variant. Keep the single-scheme
|
|
123
|
+
variants for every other account: Guardian versions before this variant reject it.
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
const auth: AuthConfig = {
|
|
127
|
+
Miden: {
|
|
128
|
+
cosigners: [
|
|
129
|
+
{ commitment: walletCommitment, scheme: 'ecdsa' },
|
|
130
|
+
{ commitment: falconCommitment, scheme: 'falcon' },
|
|
131
|
+
],
|
|
132
|
+
guardian_scheme: 'ecdsa',
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
```
|
|
136
|
+
|
|
107
137
|
### Get Account State
|
|
108
138
|
|
|
109
139
|
```typescript
|
|
@@ -131,27 +161,81 @@ if (!inSync) {
|
|
|
131
161
|
}
|
|
132
162
|
```
|
|
133
163
|
|
|
164
|
+
### Get the Queue Tail
|
|
165
|
+
|
|
166
|
+
With `GUARDIAN_MAX_PENDING_CANDIDATES_PER_ACCOUNT` above 1 on the server, a new
|
|
167
|
+
delta or proposal must build on the tail of the account's candidate queue
|
|
168
|
+
(issue #517), which `getState` does not serve. `getStateTail` returns it, shaped
|
|
169
|
+
as `getState` returns a state, with the queued candidates that lead there,
|
|
170
|
+
oldest first (`GET /state/tail`). With nothing queued it is the canonical
|
|
171
|
+
state and `queue` is empty. The tail is not on chain until the queued
|
|
172
|
+
candidates land: check that the chain sits at the canonical state or a queued
|
|
173
|
+
`newCommitment` before building on it, and expect to resync if one never
|
|
174
|
+
lands. `acceptsSubmissions` is false while the queue would refuse anything
|
|
175
|
+
built on the tail with `conflict_pending_delta` (a full queue, which at the
|
|
176
|
+
default depth of 1 is any queue; a tail that changes the signers or the
|
|
177
|
+
guardian key; a candidate a server before 0.19.0 queued under another label):
|
|
178
|
+
wait for the queue to drain instead. Do not import the tail into a
|
|
179
|
+
miden-client store, which cannot roll it back if a queued candidate never
|
|
180
|
+
lands; see
|
|
181
|
+
[Queue tail for cosigners](../../docs/MIDEN_COMPATIBILITY.md#queue-tail-for-cosigners-0190)
|
|
182
|
+
for how to check it. Each read replays the queue on the server, so read it
|
|
183
|
+
before building and poll `getCanonicalNonce`. A server before 0.19.0 answers
|
|
184
|
+
404.
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
const { state, queue, acceptsSubmissions } = await client.getStateTail(accountId);
|
|
188
|
+
if (!acceptsSubmissions) {
|
|
189
|
+
// anything built on the tail would be refused: wait for the queue to drain
|
|
190
|
+
}
|
|
191
|
+
// build the next transaction on `state`, then propose it on that base:
|
|
192
|
+
await client.pushDeltaProposal({
|
|
193
|
+
accountId,
|
|
194
|
+
nonce: tailAccountNonce + 1, // the nonce of the account in `state.stateJson`, plus one
|
|
195
|
+
deltaPayload: { txSummary, signatures: [], metadata, baseCommitment: state.commitment },
|
|
196
|
+
});
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
`deltaPayload.baseCommitment` names the state a proposal's summary was built
|
|
200
|
+
on. When it is present, GUARDIAN 0.19.0 and later record the proposal only if
|
|
201
|
+
that state is the queue tail (the canonical state when nothing is queued),
|
|
202
|
+
refusing a base another queued candidate claimed with `conflict_pending_delta`
|
|
203
|
+
and any other with `commitment_mismatch`; earlier servers store it and ignore
|
|
204
|
+
it. Without it, the proposal is judged by its nonce alone.
|
|
205
|
+
|
|
134
206
|
### Abandon a Stuck Candidate
|
|
135
207
|
|
|
136
208
|
If an approved transaction died client-side after guardian approval, its
|
|
137
209
|
candidate keeps the account locked: new proposals and deltas answer
|
|
138
210
|
`409 conflict_pending_delta` while the account's candidate queue (one
|
|
139
211
|
candidate by default) is full, when they build on the state that candidate
|
|
140
|
-
already claimed, or when their nonce does not
|
|
141
|
-
|
|
142
|
-
behind it can never land. Record an
|
|
212
|
+
already claimed, or when their nonce does not exceed the newest queued
|
|
213
|
+
candidate's, and any candidate queued behind it can never land. Record an
|
|
143
214
|
abandon intent and poll for the resolution:
|
|
144
215
|
|
|
145
216
|
```typescript
|
|
146
|
-
|
|
217
|
+
// `proposalId` names the transaction: its summary's commitment (the
|
|
218
|
+
// proposal id of a multisig proposal).
|
|
219
|
+
const accepted = await client.abandonCandidate(accountId, nonce, proposalId);
|
|
147
220
|
console.log(accepted.state); // 'pending'
|
|
148
221
|
|
|
149
222
|
// The guardian's worker confirms over a short quarantine that the tx did
|
|
150
223
|
// not land, then releases the account.
|
|
151
|
-
const status = await client.abandonStatus(accountId, nonce);
|
|
224
|
+
const status = await client.abandonStatus(accountId, nonce, accepted.commitment);
|
|
152
225
|
// 'waiting' | 'landed' | 'abandoned' | 'retained' | 'unexpected'
|
|
153
226
|
```
|
|
154
227
|
|
|
228
|
+
Pass the `commitment` the abandon returned: a Guardian execution can archive
|
|
229
|
+
the abandoned delta and take its nonce, so the nonce alone does not identify
|
|
230
|
+
it. Once that other delta is canonical the status is `'abandoned'`, since the
|
|
231
|
+
abandoned transaction can no longer land.
|
|
232
|
+
|
|
233
|
+
`proposalId` is the transaction summary's commitment, the id the server gave
|
|
234
|
+
the proposal when it was pushed (the `commitment` of the
|
|
235
|
+
`pushDeltaProposal` response). Naming it needs a Guardian server from the
|
|
236
|
+
same release: an older server does not know `proposal_id` and refuses the
|
|
237
|
+
signed request as unauthenticated, before recording anything.
|
|
238
|
+
|
|
155
239
|
`'retained'` means the guardian stopped actively verifying the candidate
|
|
156
240
|
and released the account slot, but the on-chain outcome is still
|
|
157
241
|
**uncertain**: background reconciliation may promote the delta to
|
|
@@ -247,6 +331,40 @@ const result = await client.pushDelta({
|
|
|
247
331
|
});
|
|
248
332
|
```
|
|
249
333
|
|
|
334
|
+
`nonce` is the account nonce the transaction leaves the account at: the
|
|
335
|
+
current account nonce plus one (`1` above, for an account at nonce 0). A
|
|
336
|
+
proposal carries the nonce its delta will be pushed with. Guardian 0.19.0
|
|
337
|
+
and later refuse any other label with `invalid_delta`.
|
|
338
|
+
|
|
339
|
+
### Execute a Proposal Through Guardian
|
|
340
|
+
|
|
341
|
+
A proposal pushed with a `transactionRequest` (a Guardian-executable proposal) can be proved,
|
|
342
|
+
submitted and committed by Guardian once it has enough signatures. Fetched proposals keep the
|
|
343
|
+
stored request in `deltaPayload.transactionRequest`.
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
import { isTerminalExecutionState } from '@openzeppelin/guardian-client';
|
|
347
|
+
|
|
348
|
+
let execution = await client.executeDeltaProposal(accountId, proposalId);
|
|
349
|
+
while (!isTerminalExecutionState(execution.state)) {
|
|
350
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
351
|
+
execution = await client.getDeltaProposalExecution(accountId, proposalId);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// The account's in-flight execution, or null
|
|
355
|
+
const current = await client.getCurrentExecution(accountId);
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Guardian refuses a guardian switch with `proposal_executes_locally` (`meta.reason`
|
|
359
|
+
`switch_guardian`): the client that executes a switch registers the account at the new Guardian.
|
|
360
|
+
|
|
361
|
+
A refusal throws a `GuardianHttpError` whose `rawCode` is the wire code (for example
|
|
362
|
+
`GUARDIAN_EXECUTION_CONFLICT`, with `meta.blockingProposalId`). `getStatus()` reports in
|
|
363
|
+
`execution` whether the server offers Guardian execution at all; a Guardian that predates
|
|
364
|
+
Guardian execution sends none, and `execution` is then absent: it does not offer it. The multisig SDK adds a
|
|
365
|
+
`waitForGuardianExecution` helper with backoff, retries and a deadline; see
|
|
366
|
+
[`docs/MULTISIG_SDK.md`](../../docs/MULTISIG_SDK.md#guardian-execution).
|
|
367
|
+
|
|
250
368
|
### Get Deltas
|
|
251
369
|
|
|
252
370
|
```typescript
|
package/dist/auth-request.d.ts
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An operation whose signed payload is domain-separated from every other request's, so a
|
|
3
|
+
* signature over one never authenticates another request with the same body. Mirrors the Rust
|
|
4
|
+
* `SignedOperation`.
|
|
5
|
+
*/
|
|
6
|
+
export type SignedOperation = 'ExecuteDeltaProposal';
|
|
1
7
|
export declare class RequestAuthPayload {
|
|
2
8
|
private readonly canonicalJson;
|
|
9
|
+
private readonly tag;
|
|
3
10
|
private constructor();
|
|
4
11
|
static fromRequest(requestPayload: unknown): RequestAuthPayload;
|
|
12
|
+
/**
|
|
13
|
+
* The payload of `requestPayload` signed as `operation`: the bytes are the operation's tag
|
|
14
|
+
* followed by the canonical JSON, as the Rust `AuthRequestPayload::for_operation` builds them.
|
|
15
|
+
*/
|
|
16
|
+
static forOperation(operation: SignedOperation, requestPayload: unknown): RequestAuthPayload;
|
|
5
17
|
toCanonicalJson(): string;
|
|
6
18
|
toBytes(): Uint8Array;
|
|
19
|
+
private static canonicalJsonOf;
|
|
7
20
|
private static normalizeJson;
|
|
8
21
|
private static canonicalizeJson;
|
|
9
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-request.d.ts","sourceRoot":"","sources":["../src/auth-request.ts"],"names":[],"mappings":"AAQA,qBAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"auth-request.d.ts","sourceRoot":"","sources":["../src/auth-request.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAarD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFtB,OAAO;IAKP,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,GAAG,kBAAkB;IAI/D;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,GAAG,kBAAkB;IAI5F,eAAe,IAAI,MAAM;IAIzB,OAAO,IAAI,UAAU;IAIrB,OAAO,CAAC,MAAM,CAAC,eAAe;IAK9B,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAgBhC"}
|
package/dist/auth-request.js
CHANGED
|
@@ -1,18 +1,39 @@
|
|
|
1
|
+
function operationTag(operation) {
|
|
2
|
+
switch (operation) {
|
|
3
|
+
case 'ExecuteDeltaProposal':
|
|
4
|
+
return 'guardian.ExecuteDeltaProposal\0';
|
|
5
|
+
default: {
|
|
6
|
+
const unreachable = operation;
|
|
7
|
+
throw new Error(`Unknown signed operation: ${JSON.stringify(unreachable)}`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
1
11
|
export class RequestAuthPayload {
|
|
2
12
|
canonicalJson;
|
|
3
|
-
|
|
13
|
+
tag;
|
|
14
|
+
constructor(canonicalJson, tag) {
|
|
4
15
|
this.canonicalJson = canonicalJson;
|
|
16
|
+
this.tag = tag;
|
|
5
17
|
}
|
|
6
18
|
static fromRequest(requestPayload) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
19
|
+
return new RequestAuthPayload(RequestAuthPayload.canonicalJsonOf(requestPayload), '');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The payload of `requestPayload` signed as `operation`: the bytes are the operation's tag
|
|
23
|
+
* followed by the canonical JSON, as the Rust `AuthRequestPayload::for_operation` builds them.
|
|
24
|
+
*/
|
|
25
|
+
static forOperation(operation, requestPayload) {
|
|
26
|
+
return new RequestAuthPayload(RequestAuthPayload.canonicalJsonOf(requestPayload), operationTag(operation));
|
|
10
27
|
}
|
|
11
28
|
toCanonicalJson() {
|
|
12
29
|
return this.canonicalJson;
|
|
13
30
|
}
|
|
14
31
|
toBytes() {
|
|
15
|
-
return new TextEncoder().encode(this.canonicalJson);
|
|
32
|
+
return new TextEncoder().encode(this.tag + this.canonicalJson);
|
|
33
|
+
}
|
|
34
|
+
static canonicalJsonOf(requestPayload) {
|
|
35
|
+
const normalized = RequestAuthPayload.normalizeJson(requestPayload);
|
|
36
|
+
return JSON.stringify(RequestAuthPayload.canonicalizeJson(normalized));
|
|
16
37
|
}
|
|
17
38
|
static normalizeJson(value) {
|
|
18
39
|
if (value === undefined) {
|
package/dist/auth-request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-request.js","sourceRoot":"","sources":["../src/auth-request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-request.js","sourceRoot":"","sources":["../src/auth-request.ts"],"names":[],"mappings":"AAeA,SAAS,YAAY,CAAC,SAA0B;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,sBAAsB;YACzB,OAAO,iCAAiC,CAAC;QAC3C,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,SAAS,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,kBAAkB;IAEV;IACA;IAFnB,YACmB,aAAqB,EACrB,GAAW;QADX,kBAAa,GAAb,aAAa,CAAQ;QACrB,QAAG,GAAH,GAAG,CAAQ;IAC3B,CAAC;IAEJ,MAAM,CAAC,WAAW,CAAC,cAAuB;QACxC,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,SAA0B,EAAE,cAAuB;QACrE,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,cAAuB;QACpD,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAc;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;IACxD,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,KAAgB;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAiC,EAAE,CAAC;YACpD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClC,UAAU,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/conversion.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { CanonicalNonce, CosignerSignature, ConfigureRequest, ConfigureResponse, CreateSessionRequest, CreateSessionResponse, DeltaObject, DeltaProposalRequest, DeltaStatus, ExecutionDelta, HistoryEntry, HistoryPage, LookupResponse, ProposalSignature, ProposalMetadata, SignProposalRequest, StateObject } from './types.js';
|
|
2
|
-
import type { ServerCanonicalNonceResponse, ServerCosignerSignature, ServerConfigureRequest, ServerConfigureResponse, ServerCreateSessionRequest, ServerCreateSessionResponse, ServerDeltaObject, ServerDeltaProposalRequest, ServerDeltaStatus, ServerExecutionDelta, ServerHistoryEntry, ServerHistoryPage, ServerLookupResponse, ServerProposalSignature, ServerProposalMetadata, ServerSignProposalRequest, ServerStateObject } from './server-types.js';
|
|
1
|
+
import type { CanonicalNonce, CosignerSignature, ConfigureRequest, ConfigureResponse, CreateSessionRequest, CreateSessionResponse, DeltaObject, DeltaProposalRequest, DeltaStatus, ExecutionDelta, HistoryEntry, HistoryPage, LookupResponse, ProposalSignature, ProposalMetadata, SignProposalRequest, StateObject, StateTail } from './types.js';
|
|
2
|
+
import type { ServerCanonicalNonceResponse, ServerCosignerSignature, ServerConfigureRequest, ServerConfigureResponse, ServerCreateSessionRequest, ServerCreateSessionResponse, ServerDeltaObject, ServerDeltaProposalRequest, ServerDeltaStatus, ServerExecutionDelta, ServerHistoryEntry, ServerHistoryPage, ServerLookupResponse, ServerProposalSignature, ServerProposalMetadata, ServerSignProposalRequest, ServerStateObject, ServerStateTail } from './server-types.js';
|
|
3
3
|
export declare function fromServerSignature(signature: ServerProposalSignature): ProposalSignature;
|
|
4
4
|
export declare function fromServerCosignerSignature(server: ServerCosignerSignature): CosignerSignature;
|
|
5
5
|
export declare function fromServerDeltaStatus(server: ServerDeltaStatus): DeltaStatus;
|
|
6
6
|
export declare function fromServerProposalMetadata(server: ServerProposalMetadata): ProposalMetadata;
|
|
7
7
|
export declare function fromServerDeltaObject(server: ServerDeltaObject): DeltaObject;
|
|
8
8
|
export declare function fromServerStateObject(server: ServerStateObject): StateObject;
|
|
9
|
+
export declare function fromServerStateTail(server: ServerStateTail): StateTail;
|
|
9
10
|
export declare function fromServerCanonicalNonce(server: ServerCanonicalNonceResponse): CanonicalNonce;
|
|
10
11
|
export declare function fromServerConfigureResponse(server: ServerConfigureResponse): ConfigureResponse;
|
|
11
12
|
export declare function fromServerLookupResponse(server: ServerLookupResponse): LookupResponse;
|
|
@@ -15,6 +16,11 @@ export declare function toServerDeltaStatus(status: DeltaStatus): ServerDeltaSta
|
|
|
15
16
|
export declare function toServerProposalMetadata(meta: ProposalMetadata): ServerProposalMetadata;
|
|
16
17
|
export declare function toServerConfigureRequest(req: ConfigureRequest): ServerConfigureRequest;
|
|
17
18
|
export declare function toServerCreateSessionRequest(req: CreateSessionRequest): ServerCreateSessionRequest;
|
|
19
|
+
/**
|
|
20
|
+
* Throws `UnsupportedAuthVersionError` unless the server reports the
|
|
21
|
+
* session request version this client signs: such a server would refuse
|
|
22
|
+
* every session request.
|
|
23
|
+
*/
|
|
18
24
|
export declare function fromServerCreateSessionResponse(server: ServerCreateSessionResponse): CreateSessionResponse;
|
|
19
25
|
export declare function toServerDeltaProposalRequest(req: DeltaProposalRequest): ServerDeltaProposalRequest;
|
|
20
26
|
export declare function toServerSignProposalRequest(req: SignProposalRequest): ServerSignProposalRequest;
|
package/dist/conversion.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAElB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAkC3B,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,uBAAuB,GAAG,iBAAiB,CAUzF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,GAAG,iBAAiB,CAM9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAkB5E;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAwB3F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAwB5E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAS5E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAoBtE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,4BAA4B,GAAG,cAAc,CAS7F;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,GAAG,iBAAiB,CAO9F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAOrF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,uBAAuB,CAUjF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,iBAAiB,GAAG,uBAAuB,CAMzF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAkB1E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,sBAAsB,CAwBvF;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,sBAAsB,CAMtF;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,oBAAoB,GAAG,0BAA0B,CAgBlG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,2BAA2B,GAClC,qBAAqB,CAOvB;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,oBAAoB,GAAG,0BAA0B,CAmBlG;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,mBAAmB,GAAG,yBAAyB,CAM/F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,oBAAoB,CAUlF;AAiBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAU/E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAK5E"}
|
package/dist/conversion.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { SESSION_REQUEST_VERSION, assertSupportedSessionPolicy, } from './session-request.js';
|
|
2
|
+
import { decodeTransactionRequestEnvelope } from './request-envelope.js';
|
|
1
3
|
function extractDeltaPayload(payload) {
|
|
2
4
|
const txSummary = 'tx_summary' in payload ? payload.tx_summary : { data: payload.data };
|
|
3
5
|
const signatures = 'signatures' in payload && Array.isArray(payload.signatures) ? payload.signatures : [];
|
|
4
6
|
const metadata = 'metadata' in payload ? payload.metadata : undefined;
|
|
5
|
-
|
|
7
|
+
const transactionRequest = 'transaction_request' in payload && payload.transaction_request !== undefined && payload.transaction_request !== null
|
|
8
|
+
? decodeTransactionRequestEnvelope(payload.transaction_request)
|
|
9
|
+
: undefined;
|
|
10
|
+
return { txSummary, signatures, metadata, transactionRequest };
|
|
6
11
|
}
|
|
7
12
|
export function fromServerSignature(signature) {
|
|
8
13
|
if (signature.scheme === 'ecdsa') {
|
|
@@ -47,6 +52,7 @@ export function fromServerProposalMetadata(server) {
|
|
|
47
52
|
targetThreshold: server.target_threshold,
|
|
48
53
|
requiredSignatures: server.required_signatures,
|
|
49
54
|
signerCommitments: server.signer_commitments,
|
|
55
|
+
signerSchemes: server.signer_schemes,
|
|
50
56
|
targetProcedure: server.target_procedure,
|
|
51
57
|
salt: server.salt,
|
|
52
58
|
description: server.description,
|
|
@@ -66,7 +72,7 @@ export function fromServerProposalMetadata(server) {
|
|
|
66
72
|
};
|
|
67
73
|
}
|
|
68
74
|
export function fromServerDeltaObject(server) {
|
|
69
|
-
const { txSummary, signatures, metadata } = extractDeltaPayload(server.delta_payload);
|
|
75
|
+
const { txSummary, signatures, metadata, transactionRequest } = extractDeltaPayload(server.delta_payload);
|
|
70
76
|
return {
|
|
71
77
|
accountId: server.account_id,
|
|
72
78
|
nonce: server.nonce,
|
|
@@ -79,6 +85,7 @@ export function fromServerDeltaObject(server) {
|
|
|
79
85
|
signature: fromServerSignature(s.signature),
|
|
80
86
|
})),
|
|
81
87
|
metadata: metadata ? fromServerProposalMetadata(metadata) : undefined,
|
|
88
|
+
...(transactionRequest ? { transactionRequest } : {}),
|
|
82
89
|
},
|
|
83
90
|
ackSig: server.ack_sig,
|
|
84
91
|
ackPubkey: server.ack_pubkey,
|
|
@@ -96,6 +103,25 @@ export function fromServerStateObject(server) {
|
|
|
96
103
|
authScheme: server.auth_scheme,
|
|
97
104
|
};
|
|
98
105
|
}
|
|
106
|
+
export function fromServerStateTail(server) {
|
|
107
|
+
if (typeof server.accepts_submissions !== 'boolean') {
|
|
108
|
+
throw new Error(`Invalid accepts_submissions from server: ${String(server.accepts_submissions)}`);
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
state: fromServerStateObject(server.state),
|
|
112
|
+
acceptsSubmissions: server.accepts_submissions,
|
|
113
|
+
queue: server.queue.map((candidate) => {
|
|
114
|
+
if (!Number.isSafeInteger(candidate.nonce) || candidate.nonce < 0) {
|
|
115
|
+
throw new Error(`Invalid queued candidate nonce from server: ${String(candidate.nonce)}`);
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
nonce: candidate.nonce,
|
|
119
|
+
prevCommitment: candidate.prev_commitment,
|
|
120
|
+
newCommitment: candidate.new_commitment,
|
|
121
|
+
};
|
|
122
|
+
}),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
99
125
|
export function fromServerCanonicalNonce(server) {
|
|
100
126
|
if (!Number.isSafeInteger(server.nonce) || server.nonce < 0) {
|
|
101
127
|
throw new Error(`Invalid canonical nonce from server: ${String(server.nonce)}`);
|
|
@@ -165,6 +191,7 @@ export function toServerProposalMetadata(meta) {
|
|
|
165
191
|
target_threshold: meta.targetThreshold,
|
|
166
192
|
required_signatures: meta.requiredSignatures,
|
|
167
193
|
signer_commitments: meta.signerCommitments,
|
|
194
|
+
signer_schemes: meta.signerSchemes,
|
|
168
195
|
target_procedure: meta.targetProcedure,
|
|
169
196
|
salt: meta.salt,
|
|
170
197
|
description: meta.description,
|
|
@@ -207,8 +234,18 @@ export function toServerCreateSessionRequest(req) {
|
|
|
207
234
|
},
|
|
208
235
|
};
|
|
209
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Throws `UnsupportedAuthVersionError` unless the server reports the
|
|
239
|
+
* session request version this client signs: such a server would refuse
|
|
240
|
+
* every session request.
|
|
241
|
+
*/
|
|
210
242
|
export function fromServerCreateSessionResponse(server) {
|
|
211
|
-
|
|
243
|
+
assertSupportedSessionPolicy({ requestAuthVersion: server.request_auth_version });
|
|
244
|
+
return {
|
|
245
|
+
signerCommitment: server.signer_commitment,
|
|
246
|
+
expiresAt: server.expires_at,
|
|
247
|
+
requestAuthVersion: SESSION_REQUEST_VERSION,
|
|
248
|
+
};
|
|
212
249
|
}
|
|
213
250
|
export function toServerDeltaProposalRequest(req) {
|
|
214
251
|
return {
|
|
@@ -221,6 +258,12 @@ export function toServerDeltaProposalRequest(req) {
|
|
|
221
258
|
signature: toServerSignature(s.signature),
|
|
222
259
|
})),
|
|
223
260
|
metadata: req.deltaPayload.metadata ? toServerProposalMetadata(req.deltaPayload.metadata) : undefined,
|
|
261
|
+
...(req.deltaPayload.transactionRequest
|
|
262
|
+
? { transaction_request: req.deltaPayload.transactionRequest }
|
|
263
|
+
: {}),
|
|
264
|
+
...(req.deltaPayload.baseCommitment !== undefined
|
|
265
|
+
? { base_commitment: req.deltaPayload.baseCommitment }
|
|
266
|
+
: {}),
|
|
224
267
|
},
|
|
225
268
|
};
|
|
226
269
|
}
|
package/dist/conversion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"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"}
|
package/dist/error-codes.d.ts
CHANGED
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
* Typed vocabulary of Guardian's stable, machine-readable error codes
|
|
3
3
|
* (issue #318). Mirrors `GuardianError::code()` in
|
|
4
4
|
* `crates/server/src/error.rs` — a drift-guard test asserts the two stay in
|
|
5
|
-
* sync. The
|
|
6
|
-
*
|
|
7
|
-
* `GUARDIAN_INSUFFICIENT_OPERATOR_PERMISSION`, `GUARDIAN_CANDIDATE_LANDED`)
|
|
8
|
-
* are normalized to snake_case here so the union has one consistent shape; use
|
|
5
|
+
* sync. The codes the server emits in SCREAMING_SNAKE wire form (see
|
|
6
|
+
* `WIRE_ALIASES`) are normalized to snake_case here so the union has one consistent shape; use
|
|
9
7
|
* {@link normalizeGuardianErrorCode} at the wire boundary.
|
|
10
8
|
*/
|
|
11
|
-
export declare const GUARDIAN_ERROR_CODES: readonly ["account_already_exists", "account_data_unavailable", "account_not_found", "account_paused", "account_released", "authentication_failed", "authentication_replay", "authorization_failed", "candidate_landed", "commitment_mismatch", "configuration_error", "conflict_pending_delta", "conflict_pending_proposal", "data_unavailable", "delta_not_found", "insufficient_operator_permission", "insufficient_signatures", "invalid_account_id", "invalid_commitment", "invalid_cursor", "invalid_delta", "invalid_evm_proposal", "invalid_input", "invalid_limit", "invalid_network_config", "invalid_proposal_signature", "invalid_status_filter", "invalid_timestamp", "network_error", "pending_proposals_limit", "proposal_already_signed", "proposal_not_found", "rate_limit_exceeded", "rpc_unavailable", "rpc_validation_failed", "session_expired", "session_revoked", "signature_scheme_not_allowed", "signer_not_authorized", "signing_error", "state_not_found", "storage_error", "unsupported_evm_chain", "unsupported_for_network", "wallet_signature_required"];
|
|
9
|
+
export declare const GUARDIAN_ERROR_CODES: readonly ["account_already_exists", "account_data_unavailable", "account_not_found", "account_paused", "account_released", "account_request_capacity_exceeded", "authentication_failed", "authentication_replay", "authorization_failed", "candidate_landed", "commitment_mismatch", "configuration_error", "conflict_pending_delta", "conflict_pending_proposal", "data_unavailable", "delta_not_found", "execution_busy", "execution_conflict", "execution_not_found", "insufficient_operator_permission", "insufficient_signatures", "invalid_account_id", "invalid_commitment", "invalid_cursor", "invalid_delta", "invalid_evm_proposal", "invalid_input", "invalid_limit", "invalid_network_config", "invalid_proposal_signature", "invalid_status_filter", "invalid_timestamp", "network_error", "pending_proposals_limit", "proposal_already_signed", "proposal_executes_locally", "proposal_missing_transaction_request", "proposal_not_found", "proposal_not_ready", "proposal_request_too_large", "proving_unavailable", "rate_limit_exceeded", "rpc_unavailable", "rpc_validation_failed", "session_expired", "session_revoked", "signature_scheme_not_allowed", "signer_not_authorized", "signing_error", "state_not_found", "state_not_on_chain", "storage_error", "timestamp_out_of_window", "unsupported_evm_chain", "unsupported_auth_version", "unsupported_for_network", "wallet_signature_required"];
|
|
12
10
|
/**
|
|
13
11
|
* A stable Guardian error code, compiler-checked: comparing against a
|
|
14
12
|
* non-member literal is a type error, and `switch` statements can be
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,01CA0DvB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAwBtE,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAIhF"}
|
package/dist/error-codes.js
CHANGED
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
* Typed vocabulary of Guardian's stable, machine-readable error codes
|
|
3
3
|
* (issue #318). Mirrors `GuardianError::code()` in
|
|
4
4
|
* `crates/server/src/error.rs` — a drift-guard test asserts the two stay in
|
|
5
|
-
* sync. The
|
|
6
|
-
*
|
|
7
|
-
* `GUARDIAN_INSUFFICIENT_OPERATOR_PERMISSION`, `GUARDIAN_CANDIDATE_LANDED`)
|
|
8
|
-
* are normalized to snake_case here so the union has one consistent shape; use
|
|
5
|
+
* sync. The codes the server emits in SCREAMING_SNAKE wire form (see
|
|
6
|
+
* `WIRE_ALIASES`) are normalized to snake_case here so the union has one consistent shape; use
|
|
9
7
|
* {@link normalizeGuardianErrorCode} at the wire boundary.
|
|
10
8
|
*/
|
|
11
9
|
export const GUARDIAN_ERROR_CODES = [
|
|
@@ -14,6 +12,7 @@ export const GUARDIAN_ERROR_CODES = [
|
|
|
14
12
|
'account_not_found',
|
|
15
13
|
'account_paused',
|
|
16
14
|
'account_released',
|
|
15
|
+
'account_request_capacity_exceeded',
|
|
17
16
|
'authentication_failed',
|
|
18
17
|
'authentication_replay',
|
|
19
18
|
'authorization_failed',
|
|
@@ -24,6 +23,9 @@ export const GUARDIAN_ERROR_CODES = [
|
|
|
24
23
|
'conflict_pending_proposal',
|
|
25
24
|
'data_unavailable',
|
|
26
25
|
'delta_not_found',
|
|
26
|
+
'execution_busy',
|
|
27
|
+
'execution_conflict',
|
|
28
|
+
'execution_not_found',
|
|
27
29
|
'insufficient_operator_permission',
|
|
28
30
|
'insufficient_signatures',
|
|
29
31
|
'invalid_account_id',
|
|
@@ -40,7 +42,12 @@ export const GUARDIAN_ERROR_CODES = [
|
|
|
40
42
|
'network_error',
|
|
41
43
|
'pending_proposals_limit',
|
|
42
44
|
'proposal_already_signed',
|
|
45
|
+
'proposal_executes_locally',
|
|
46
|
+
'proposal_missing_transaction_request',
|
|
43
47
|
'proposal_not_found',
|
|
48
|
+
'proposal_not_ready',
|
|
49
|
+
'proposal_request_too_large',
|
|
50
|
+
'proving_unavailable',
|
|
44
51
|
'rate_limit_exceeded',
|
|
45
52
|
'rpc_unavailable',
|
|
46
53
|
'rpc_validation_failed',
|
|
@@ -50,8 +57,11 @@ export const GUARDIAN_ERROR_CODES = [
|
|
|
50
57
|
'signer_not_authorized',
|
|
51
58
|
'signing_error',
|
|
52
59
|
'state_not_found',
|
|
60
|
+
'state_not_on_chain',
|
|
53
61
|
'storage_error',
|
|
62
|
+
'timestamp_out_of_window',
|
|
54
63
|
'unsupported_evm_chain',
|
|
64
|
+
'unsupported_auth_version',
|
|
55
65
|
'unsupported_for_network',
|
|
56
66
|
'wallet_signature_required',
|
|
57
67
|
];
|
|
@@ -65,6 +75,15 @@ const WIRE_ALIASES = {
|
|
|
65
75
|
GUARDIAN_ACCOUNT_RELEASED: 'account_released',
|
|
66
76
|
GUARDIAN_INSUFFICIENT_OPERATOR_PERMISSION: 'insufficient_operator_permission',
|
|
67
77
|
GUARDIAN_CANDIDATE_LANDED: 'candidate_landed',
|
|
78
|
+
GUARDIAN_PROVING_UNAVAILABLE: 'proving_unavailable',
|
|
79
|
+
GUARDIAN_PROPOSAL_MISSING_TRANSACTION_REQUEST: 'proposal_missing_transaction_request',
|
|
80
|
+
GUARDIAN_PROPOSAL_EXECUTES_LOCALLY: 'proposal_executes_locally',
|
|
81
|
+
GUARDIAN_PROPOSAL_NOT_READY: 'proposal_not_ready',
|
|
82
|
+
GUARDIAN_EXECUTION_CONFLICT: 'execution_conflict',
|
|
83
|
+
GUARDIAN_EXECUTION_BUSY: 'execution_busy',
|
|
84
|
+
GUARDIAN_EXECUTION_NOT_FOUND: 'execution_not_found',
|
|
85
|
+
GUARDIAN_PROPOSAL_REQUEST_TOO_LARGE: 'proposal_request_too_large',
|
|
86
|
+
GUARDIAN_ACCOUNT_REQUEST_CAPACITY_EXCEEDED: 'account_request_capacity_exceeded',
|
|
68
87
|
};
|
|
69
88
|
/** Type guard narrowing an arbitrary string to {@link GuardianErrorCode}. */
|
|
70
89
|
export function isGuardianErrorCode(value) {
|
package/dist/error-codes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,wBAAwB;IACxB,0BAA0B;IAC1B,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,mCAAmC;IACnC,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,kCAAkC;IAClC,yBAAyB;IACzB,oBAAoB;IACpB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,sBAAsB;IACtB,eAAe;IACf,eAAe;IACf,wBAAwB;IACxB,4BAA4B;IAC5B,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;IACf,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,sCAAsC;IACtC,oBAAoB;IACpB,oBAAoB;IACpB,4BAA4B;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,8BAA8B;IAC9B,uBAAuB;IACvB,eAAe;IACf,iBAAiB;IACjB,oBAAoB;IACpB,eAAe;IACf,yBAAyB;IACzB,uBAAuB;IACvB,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;CACnB,CAAC;AAUX,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,YAAY,GAAgD;IAChE,uBAAuB,EAAE,gBAAgB;IACzC,yBAAyB,EAAE,kBAAkB;IAC7C,yCAAyC,EAAE,kCAAkC;IAC7E,yBAAyB,EAAE,kBAAkB;IAC7C,4BAA4B,EAAE,qBAAqB;IACnD,6CAA6C,EAAE,sCAAsC;IACrF,kCAAkC,EAAE,2BAA2B;IAC/D,2BAA2B,EAAE,oBAAoB;IACjD,2BAA2B,EAAE,oBAAoB;IACjD,uBAAuB,EAAE,gBAAgB;IACzC,4BAA4B,EAAE,qBAAqB;IACnD,mCAAmC,EAAE,4BAA4B;IACjE,0CAA0C,EAAE,mCAAmC;CAChF,CAAC;AAEF,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC"}
|