@openzeppelin/guardian-client 0.19.0-rc.1 → 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 +61 -4
- package/dist/conversion.d.ts +8 -2
- package/dist/conversion.d.ts.map +1 -1
- package/dist/conversion.js +34 -1
- package/dist/conversion.js.map +1 -1
- package/dist/error-codes.d.ts +1 -1
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +2 -0
- package/dist/error-codes.js.map +1 -1
- package/dist/http.d.ts +24 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +74 -20
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/request-envelope.d.ts +2 -2
- package/dist/request-envelope.d.ts.map +1 -1
- package/dist/request-envelope.js +2 -2
- package/dist/request-envelope.js.map +1 -1
- package/dist/server-types.d.ts +13 -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 +76 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/conversion.test.ts +17 -0
- package/src/conversion.ts +42 -1
- package/src/error-codes.ts +2 -0
- package/src/http.test.ts +328 -11
- package/src/http.ts +97 -23
- package/src/index.ts +16 -0
- package/src/request-envelope.test.ts +4 -4
- package/src/request-envelope.ts +2 -2
- package/src/server-types.ts +15 -0
- package/src/session-request.test.ts +178 -0
- package/src/session-request.ts +191 -0
- package/src/types.ts +79 -3
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ 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
72
|
`signDeltaProposal`), execution requests and status reads
|
|
@@ -76,6 +76,17 @@ including `configure`, `abandonCandidate`, account lookup and
|
|
|
76
76
|
`revokeAllSessions`; the server rejects session credentials there with
|
|
77
77
|
`wallet_signature_required`, as an older Guardian does for `pushDelta`.
|
|
78
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.
|
|
89
|
+
|
|
79
90
|
A session is used only while the wallet that granted it
|
|
80
91
|
(`session.signerCommitment`) is the client's signer. It is dropped 30 seconds
|
|
81
92
|
before it expires (`expired`), or as soon as Guardian answers
|
|
@@ -150,15 +161,56 @@ if (!inSync) {
|
|
|
150
161
|
}
|
|
151
162
|
```
|
|
152
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
|
+
|
|
153
206
|
### Abandon a Stuck Candidate
|
|
154
207
|
|
|
155
208
|
If an approved transaction died client-side after guardian approval, its
|
|
156
209
|
candidate keeps the account locked: new proposals and deltas answer
|
|
157
210
|
`409 conflict_pending_delta` while the account's candidate queue (one
|
|
158
211
|
candidate by default) is full, when they build on the state that candidate
|
|
159
|
-
already claimed, or when their nonce does not
|
|
160
|
-
|
|
161
|
-
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
|
|
162
214
|
abandon intent and poll for the resolution:
|
|
163
215
|
|
|
164
216
|
```typescript
|
|
@@ -279,6 +331,11 @@ const result = await client.pushDelta({
|
|
|
279
331
|
});
|
|
280
332
|
```
|
|
281
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
|
+
|
|
282
339
|
### Execute a Proposal Through Guardian
|
|
283
340
|
|
|
284
341
|
A proposal pushed with a `transactionRequest` (a Guardian-executable proposal) can be proved,
|
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,3 +1,4 @@
|
|
|
1
|
+
import { SESSION_REQUEST_VERSION, assertSupportedSessionPolicy, } from './session-request.js';
|
|
1
2
|
import { decodeTransactionRequestEnvelope } from './request-envelope.js';
|
|
2
3
|
function extractDeltaPayload(payload) {
|
|
3
4
|
const txSummary = 'tx_summary' in payload ? payload.tx_summary : { data: payload.data };
|
|
@@ -102,6 +103,25 @@ export function fromServerStateObject(server) {
|
|
|
102
103
|
authScheme: server.auth_scheme,
|
|
103
104
|
};
|
|
104
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
|
+
}
|
|
105
125
|
export function fromServerCanonicalNonce(server) {
|
|
106
126
|
if (!Number.isSafeInteger(server.nonce) || server.nonce < 0) {
|
|
107
127
|
throw new Error(`Invalid canonical nonce from server: ${String(server.nonce)}`);
|
|
@@ -214,8 +234,18 @@ export function toServerCreateSessionRequest(req) {
|
|
|
214
234
|
},
|
|
215
235
|
};
|
|
216
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
|
+
*/
|
|
217
242
|
export function fromServerCreateSessionResponse(server) {
|
|
218
|
-
|
|
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
|
+
};
|
|
219
249
|
}
|
|
220
250
|
export function toServerDeltaProposalRequest(req) {
|
|
221
251
|
return {
|
|
@@ -231,6 +261,9 @@ export function toServerDeltaProposalRequest(req) {
|
|
|
231
261
|
...(req.deltaPayload.transactionRequest
|
|
232
262
|
? { transaction_request: req.deltaPayload.transactionRequest }
|
|
233
263
|
: {}),
|
|
264
|
+
...(req.deltaPayload.baseCommitment !== undefined
|
|
265
|
+
? { base_commitment: req.deltaPayload.baseCommitment }
|
|
266
|
+
: {}),
|
|
234
267
|
},
|
|
235
268
|
};
|
|
236
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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* `WIRE_ALIASES`) are normalized to snake_case here so the union has one consistent shape; use
|
|
7
7
|
* {@link normalizeGuardianErrorCode} at the wire boundary.
|
|
8
8
|
*/
|
|
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", "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"];
|
|
10
10
|
/**
|
|
11
11
|
* A stable Guardian error code, compiler-checked: comparing against a
|
|
12
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;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,
|
|
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
|
@@ -59,7 +59,9 @@ export const GUARDIAN_ERROR_CODES = [
|
|
|
59
59
|
'state_not_found',
|
|
60
60
|
'state_not_on_chain',
|
|
61
61
|
'storage_error',
|
|
62
|
+
'timestamp_out_of_window',
|
|
62
63
|
'unsupported_evm_chain',
|
|
64
|
+
'unsupported_auth_version',
|
|
63
65
|
'unsupported_for_network',
|
|
64
66
|
'wallet_signature_required',
|
|
65
67
|
];
|
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;;;;;;;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,uBAAuB;IACvB,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"}
|
|
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"}
|
package/dist/http.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type GuardianErrorCode } from './error-codes.js';
|
|
2
|
-
import type { AbandonCandidateResponse, AbandonStatus, ConfigureRequest, ConfigureResponse, CreateSessionRequest, CreateSessionResponse, DeltaObject, DeltaProposalRequest, DeltaProposalResponse, ExecutionDelta, HistoryOptions, HistoryPage, LookupResponse, PubkeyResponse, PushDeltaResponse, SessionRequestSigner, SignProposalRequest, SignatureScheme, Signer, StateObject, StatusResponse, CanonicalNonce } from './types.js';
|
|
2
|
+
import type { AbandonCandidateResponse, AbandonStatus, ConfigureRequest, ConfigureResponse, CreateSessionRequest, CreateSessionResponse, DeltaObject, DeltaProposalRequest, DeltaProposalResponse, ExecutionDelta, HistoryOptions, HistoryPage, LookupResponse, PubkeyResponse, PushDeltaResponse, SessionRequestSigner, SignProposalRequest, SignatureScheme, Signer, StateObject, StateTail, StatusResponse, CanonicalNonce } from './types.js';
|
|
3
3
|
import type { ProposalExecution } from './execution.js';
|
|
4
4
|
/**
|
|
5
5
|
* Structured machine-readable side-data on a GUARDIAN error
|
|
@@ -158,6 +158,21 @@ export declare class GuardianHttpClient {
|
|
|
158
158
|
getStatus(): Promise<StatusResponse>;
|
|
159
159
|
configure(request: ConfigureRequest): Promise<ConfigureResponse>;
|
|
160
160
|
getState(accountId: string): Promise<StateObject>;
|
|
161
|
+
/**
|
|
162
|
+
* The queue tail (`GET /state/tail`, issue #517): the state a new delta or
|
|
163
|
+
* proposal must build on, and the queued candidates that lead to it. With
|
|
164
|
+
* nothing queued it is the canonical state and `queue` is empty. Otherwise
|
|
165
|
+
* it is not on chain until the queued candidates land, and if one never
|
|
166
|
+
* does, the tail is abandoned with it. `acceptsSubmissions` is false while
|
|
167
|
+
* the queue would refuse anything built on the tail with
|
|
168
|
+
* `conflict_pending_delta` (a full queue, which at the default depth of 1 is
|
|
169
|
+
* any queue; a tail that changes the signers or the guardian key; a
|
|
170
|
+
* candidate a server before 0.19.0 queued under another label): wait for
|
|
171
|
+
* the queue to drain instead of building. Each read replays the queue on the
|
|
172
|
+
* server, so read it before building on the account; poll
|
|
173
|
+
* `getCanonicalNonce` instead. A server before 0.19.0 answers 404.
|
|
174
|
+
*/
|
|
175
|
+
getStateTail(accountId: string): Promise<StateTail>;
|
|
161
176
|
/**
|
|
162
177
|
* Nonce and commitment of the latest canonical state, without the state
|
|
163
178
|
* blob (`GET /state/nonce`). A client can skip `getState` when the
|
|
@@ -261,6 +276,14 @@ export declare class GuardianHttpClient {
|
|
|
261
276
|
private fetchLookupAuthenticated;
|
|
262
277
|
private fetchAuthenticated;
|
|
263
278
|
private fetchSigned;
|
|
279
|
+
/**
|
|
280
|
+
* Signs with `session` (the wallet when null) and retries replay
|
|
281
|
+
* rejections. Returns null, without sending, once `session` is no longer
|
|
282
|
+
* this client's session: a session write only ever signs within the write
|
|
283
|
+
* turn of the session it holds, and the caller starts over with the
|
|
284
|
+
* current one.
|
|
285
|
+
*/
|
|
286
|
+
private sendSigned;
|
|
264
287
|
private walletAuthHeaders;
|
|
265
288
|
}
|
|
266
289
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/http.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { SESSION_REQUEST_AUTH_FORMAT, SessionOperation, isSessionWrite, } from './session-request.js';
|
|
1
2
|
import { normalizeGuardianErrorCode, } from './error-codes.js';
|
|
2
3
|
import { RequestAuthPayload } from './auth-request.js';
|
|
3
4
|
import { fromServerExecution, fromServerExecutionCapability } from './execution.js';
|
|
4
|
-
import { fromServerCanonicalNonce, fromServerConfigureResponse, fromServerCreateSessionResponse, fromServerDeltaObject, fromServerHistoryPage, fromServerLookupResponse, fromServerStateObject, toServerConfigureRequest, toServerCreateSessionRequest, toServerDeltaProposalRequest, toServerExecutionDelta, toServerSignProposalRequest, } from './conversion.js';
|
|
5
|
+
import { fromServerCanonicalNonce, fromServerConfigureResponse, fromServerCreateSessionResponse, fromServerDeltaObject, fromServerHistoryPage, fromServerLookupResponse, fromServerStateObject, fromServerStateTail, toServerConfigureRequest, toServerCreateSessionRequest, toServerDeltaProposalRequest, toServerExecutionDelta, toServerSignProposalRequest, } from './conversion.js';
|
|
5
6
|
function localExecutionReason(value) {
|
|
6
7
|
switch (value) {
|
|
7
8
|
case 'switch_guardian':
|
|
@@ -160,6 +161,8 @@ function parseRetryAfterSeconds(header) {
|
|
|
160
161
|
* reaches the server already expired; requests then fall back to the wallet.
|
|
161
162
|
*/
|
|
162
163
|
const SESSION_EXPIRY_MARGIN_MS = 30_000;
|
|
164
|
+
/** Replay rejections a request is re-signed and resent for. */
|
|
165
|
+
const REPLAY_RETRIES = 2;
|
|
163
166
|
/** Codes that end a session-signed request's session for good. */
|
|
164
167
|
const SESSION_END_REASONS = {
|
|
165
168
|
session_expired: 'expired',
|
|
@@ -333,6 +336,9 @@ export class GuardianHttpClient {
|
|
|
333
336
|
? {
|
|
334
337
|
sessions: {
|
|
335
338
|
maxTtlSeconds: data.sessions.max_ttl_seconds,
|
|
339
|
+
...(data.sessions.request_auth_version === undefined
|
|
340
|
+
? {}
|
|
341
|
+
: { requestAuthVersion: data.sessions.request_auth_version }),
|
|
336
342
|
},
|
|
337
343
|
}
|
|
338
344
|
: {}),
|
|
@@ -353,10 +359,33 @@ export class GuardianHttpClient {
|
|
|
353
359
|
const params = new URLSearchParams(requestQuery);
|
|
354
360
|
const response = await this.fetchAuthenticated(`/state?${params}`, {
|
|
355
361
|
method: 'GET',
|
|
356
|
-
}, accountId, requestQuery,
|
|
362
|
+
}, accountId, requestQuery, SessionOperation.GetState);
|
|
357
363
|
const server = (await response.json());
|
|
358
364
|
return fromServerStateObject(server);
|
|
359
365
|
}
|
|
366
|
+
/**
|
|
367
|
+
* The queue tail (`GET /state/tail`, issue #517): the state a new delta or
|
|
368
|
+
* proposal must build on, and the queued candidates that lead to it. With
|
|
369
|
+
* nothing queued it is the canonical state and `queue` is empty. Otherwise
|
|
370
|
+
* it is not on chain until the queued candidates land, and if one never
|
|
371
|
+
* does, the tail is abandoned with it. `acceptsSubmissions` is false while
|
|
372
|
+
* the queue would refuse anything built on the tail with
|
|
373
|
+
* `conflict_pending_delta` (a full queue, which at the default depth of 1 is
|
|
374
|
+
* any queue; a tail that changes the signers or the guardian key; a
|
|
375
|
+
* candidate a server before 0.19.0 queued under another label): wait for
|
|
376
|
+
* the queue to drain instead of building. Each read replays the queue on the
|
|
377
|
+
* server, so read it before building on the account; poll
|
|
378
|
+
* `getCanonicalNonce` instead. A server before 0.19.0 answers 404.
|
|
379
|
+
*/
|
|
380
|
+
async getStateTail(accountId) {
|
|
381
|
+
const requestQuery = { account_id: accountId };
|
|
382
|
+
const params = new URLSearchParams(requestQuery);
|
|
383
|
+
const response = await this.fetchAuthenticated(`/state/tail?${params}`, {
|
|
384
|
+
method: 'GET',
|
|
385
|
+
}, accountId, requestQuery, SessionOperation.GetStateTail);
|
|
386
|
+
const server = (await response.json());
|
|
387
|
+
return fromServerStateTail(server);
|
|
388
|
+
}
|
|
360
389
|
/**
|
|
361
390
|
* Nonce and commitment of the latest canonical state, without the state
|
|
362
391
|
* blob (`GET /state/nonce`). A client can skip `getState` when the
|
|
@@ -369,7 +398,7 @@ export class GuardianHttpClient {
|
|
|
369
398
|
const params = new URLSearchParams(requestQuery);
|
|
370
399
|
const response = await this.fetchAuthenticated(`/state/nonce?${params}`, {
|
|
371
400
|
method: 'GET',
|
|
372
|
-
}, accountId, requestQuery,
|
|
401
|
+
}, accountId, requestQuery, SessionOperation.GetCanonicalNonce);
|
|
373
402
|
const server = (await response.json());
|
|
374
403
|
return fromServerCanonicalNonce(server);
|
|
375
404
|
}
|
|
@@ -390,7 +419,7 @@ export class GuardianHttpClient {
|
|
|
390
419
|
const params = new URLSearchParams(requestQuery);
|
|
391
420
|
const response = await this.fetchAuthenticated(`/delta/proposal?${params}`, {
|
|
392
421
|
method: 'GET',
|
|
393
|
-
}, accountId, requestQuery,
|
|
422
|
+
}, accountId, requestQuery, SessionOperation.GetDeltaProposals);
|
|
394
423
|
const data = (await response.json());
|
|
395
424
|
return data.proposals.map(fromServerDeltaObject);
|
|
396
425
|
}
|
|
@@ -399,7 +428,7 @@ export class GuardianHttpClient {
|
|
|
399
428
|
const params = new URLSearchParams(requestQuery);
|
|
400
429
|
const response = await this.fetchAuthenticated(`/delta/proposal/single?${params}`, {
|
|
401
430
|
method: 'GET',
|
|
402
|
-
}, accountId, requestQuery,
|
|
431
|
+
}, accountId, requestQuery, SessionOperation.GetDeltaProposal);
|
|
403
432
|
const data = (await response.json());
|
|
404
433
|
return fromServerDeltaObject(data);
|
|
405
434
|
}
|
|
@@ -408,7 +437,7 @@ export class GuardianHttpClient {
|
|
|
408
437
|
const response = await this.fetchAuthenticated('/delta/proposal', {
|
|
409
438
|
method: 'POST',
|
|
410
439
|
body: JSON.stringify(serverRequest),
|
|
411
|
-
}, request.accountId, serverRequest,
|
|
440
|
+
}, request.accountId, serverRequest, SessionOperation.PushDeltaProposal);
|
|
412
441
|
const server = (await response.json());
|
|
413
442
|
return {
|
|
414
443
|
delta: fromServerDeltaObject(server.delta),
|
|
@@ -432,7 +461,7 @@ export class GuardianHttpClient {
|
|
|
432
461
|
const response = await this.fetchSigned('/delta/proposal/execution', {
|
|
433
462
|
method: 'POST',
|
|
434
463
|
body: JSON.stringify(serverRequest),
|
|
435
|
-
}, accountId, RequestAuthPayload.forOperation('ExecuteDeltaProposal', serverRequest),
|
|
464
|
+
}, accountId, RequestAuthPayload.forOperation('ExecuteDeltaProposal', serverRequest), SessionOperation.ExecuteDeltaProposal);
|
|
436
465
|
return fromServerExecution((await response.json()));
|
|
437
466
|
}
|
|
438
467
|
/** The latest execution attempt of a proposal. */
|
|
@@ -441,7 +470,7 @@ export class GuardianHttpClient {
|
|
|
441
470
|
const params = new URLSearchParams(requestQuery);
|
|
442
471
|
const response = await this.fetchAuthenticated(`/delta/proposal/execution?${params}`, {
|
|
443
472
|
method: 'GET',
|
|
444
|
-
}, accountId, requestQuery,
|
|
473
|
+
}, accountId, requestQuery, SessionOperation.GetDeltaProposalExecution);
|
|
445
474
|
return fromServerExecution((await response.json()));
|
|
446
475
|
}
|
|
447
476
|
/** The account's in-flight execution, or `null`. A finished execution is not in flight. */
|
|
@@ -450,7 +479,7 @@ export class GuardianHttpClient {
|
|
|
450
479
|
const params = new URLSearchParams(requestQuery);
|
|
451
480
|
const response = await this.fetchAuthenticated(`/delta/execution/current?${params}`, {
|
|
452
481
|
method: 'GET',
|
|
453
|
-
}, accountId, requestQuery,
|
|
482
|
+
}, accountId, requestQuery, SessionOperation.GetCurrentExecution);
|
|
454
483
|
const server = (await response.json());
|
|
455
484
|
return server.execution === null ? null : fromServerExecution(server.execution);
|
|
456
485
|
}
|
|
@@ -553,7 +582,7 @@ export class GuardianHttpClient {
|
|
|
553
582
|
const response = await this.fetchAuthenticated('/delta/proposal', {
|
|
554
583
|
method: 'PUT',
|
|
555
584
|
body: JSON.stringify(serverRequest),
|
|
556
|
-
}, request.accountId, serverRequest,
|
|
585
|
+
}, request.accountId, serverRequest, SessionOperation.SignDeltaProposal);
|
|
557
586
|
const server = (await response.json());
|
|
558
587
|
return fromServerDeltaObject(server);
|
|
559
588
|
}
|
|
@@ -569,7 +598,7 @@ export class GuardianHttpClient {
|
|
|
569
598
|
async pushDelta(delta) {
|
|
570
599
|
const serverDelta = toServerExecutionDelta(delta);
|
|
571
600
|
const init = { method: 'POST', body: JSON.stringify(serverDelta) };
|
|
572
|
-
const response = await this.fetchAuthenticated('/delta', init, delta.accountId, serverDelta,
|
|
601
|
+
const response = await this.fetchAuthenticated('/delta', init, delta.accountId, serverDelta, SessionOperation.PushDelta).catch((err) => {
|
|
573
602
|
if (err instanceof GuardianHttpError && err.code === 'wallet_signature_required') {
|
|
574
603
|
return this.fetchAuthenticated('/delta', init, delta.accountId, serverDelta, 'wallet');
|
|
575
604
|
}
|
|
@@ -597,7 +626,7 @@ export class GuardianHttpClient {
|
|
|
597
626
|
const params = new URLSearchParams(requestQuery);
|
|
598
627
|
const response = await this.fetchAuthenticated(`/delta?${params}`, {
|
|
599
628
|
method: 'GET',
|
|
600
|
-
}, accountId, requestPayload,
|
|
629
|
+
}, accountId, requestPayload, SessionOperation.GetDelta);
|
|
601
630
|
const server = (await response.json());
|
|
602
631
|
return fromServerDeltaObject(server);
|
|
603
632
|
}
|
|
@@ -613,7 +642,7 @@ export class GuardianHttpClient {
|
|
|
613
642
|
const params = new URLSearchParams(requestQuery);
|
|
614
643
|
const response = await this.fetchAuthenticated(`/delta/since?${params}`, {
|
|
615
644
|
method: 'GET',
|
|
616
|
-
}, accountId, requestPayload,
|
|
645
|
+
}, accountId, requestPayload, SessionOperation.GetDeltaSince);
|
|
617
646
|
const server = (await response.json());
|
|
618
647
|
return fromServerDeltaObject(server);
|
|
619
648
|
}
|
|
@@ -639,7 +668,7 @@ export class GuardianHttpClient {
|
|
|
639
668
|
const params = new URLSearchParams(requestPayload);
|
|
640
669
|
const response = await this.fetchAuthenticated(`/delta/history?${params}`, {
|
|
641
670
|
method: 'GET',
|
|
642
|
-
}, accountId, requestPayload,
|
|
671
|
+
}, accountId, requestPayload, SessionOperation.GetDeltaHistory);
|
|
643
672
|
const server = (await response.json());
|
|
644
673
|
return fromServerHistoryPage(server);
|
|
645
674
|
}
|
|
@@ -686,12 +715,37 @@ export class GuardianHttpClient {
|
|
|
686
715
|
async fetchAuthenticated(path, init, accountId, requestPayload, mode = 'wallet') {
|
|
687
716
|
return this.fetchSigned(path, init, accountId, RequestAuthPayload.fromRequest(requestPayload), mode);
|
|
688
717
|
}
|
|
689
|
-
async fetchSigned(path, init, accountId, authPayload, mode
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
718
|
+
async fetchSigned(path, init, accountId, authPayload, mode) {
|
|
719
|
+
for (;;) {
|
|
720
|
+
const session = mode === 'wallet' ? null : this.getSession();
|
|
721
|
+
const response = session && mode !== 'wallet' && isSessionWrite(mode)
|
|
722
|
+
? await session.writeSequencer.run(accountId, () => this.sendSigned(path, init, accountId, authPayload, mode, session))
|
|
723
|
+
: await this.sendSigned(path, init, accountId, authPayload, mode, session);
|
|
724
|
+
if (response) {
|
|
725
|
+
return response;
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
/**
|
|
730
|
+
* Signs with `session` (the wallet when null) and retries replay
|
|
731
|
+
* rejections. Returns null, without sending, once `session` is no longer
|
|
732
|
+
* this client's session: a session write only ever signs within the write
|
|
733
|
+
* turn of the session it holds, and the caller starts over with the
|
|
734
|
+
* current one.
|
|
735
|
+
*/
|
|
736
|
+
async sendSigned(path, init, accountId, authPayload, mode, session, retries = REPLAY_RETRIES) {
|
|
737
|
+
if (session && this.getSession() !== session) {
|
|
738
|
+
return null;
|
|
739
|
+
}
|
|
740
|
+
const timestamp = session
|
|
741
|
+
? await session.nextTimestamp(accountId, retries < REPLAY_RETRIES)
|
|
742
|
+
: this.nextTimestamp();
|
|
743
|
+
const headers = session && mode !== 'wallet'
|
|
744
|
+
? authHeaders(session.publicKey, await session.signRequest(mode, accountId, timestamp, authPayload), timestamp, SESSION_REQUEST_AUTH_FORMAT)
|
|
694
745
|
: await this.walletAuthHeaders(accountId, timestamp, authPayload);
|
|
746
|
+
if (session && this.getSession() !== session) {
|
|
747
|
+
return null;
|
|
748
|
+
}
|
|
695
749
|
try {
|
|
696
750
|
return await this.fetch(path, {
|
|
697
751
|
...init,
|
|
@@ -722,7 +776,7 @@ export class GuardianHttpClient {
|
|
|
722
776
|
err instanceof GuardianHttpError &&
|
|
723
777
|
err.code === 'authentication_replay') {
|
|
724
778
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
725
|
-
return this.
|
|
779
|
+
return this.sendSigned(path, init, accountId, authPayload, mode, session, retries - 1);
|
|
726
780
|
}
|
|
727
781
|
throw err;
|
|
728
782
|
}
|