@daski/pay 0.5.1 → 0.5.3
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 +5 -6
- package/dist/bin/daski.js +5 -1
- package/dist/bin/daski.js.map +1 -1
- package/dist/chain/easProfiles.d.ts +1 -1
- package/dist/chain/easProfiles.d.ts.map +1 -1
- package/dist/chain/easProfiles.js +4 -2
- package/dist/chain/easProfiles.js.map +1 -1
- package/dist/chain/reader.d.ts +42 -0
- package/dist/chain/reader.d.ts.map +1 -1
- package/dist/chain/reader.js +107 -13
- package/dist/chain/reader.js.map +1 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +3 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/redact.d.ts +8 -1
- package/dist/cli/redact.d.ts.map +1 -1
- package/dist/cli/redact.js +19 -1
- package/dist/cli/redact.js.map +1 -1
- package/dist/commands/buy.d.ts.map +1 -1
- package/dist/commands/buy.js +31 -4
- package/dist/commands/buy.js.map +1 -1
- package/dist/commands/confirmation.d.ts.map +1 -1
- package/dist/commands/confirmation.js +279 -70
- package/dist/commands/confirmation.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/gateway/balance.d.ts.map +1 -1
- package/dist/gateway/balance.js +3 -1
- package/dist/gateway/balance.js.map +1 -1
- package/dist/gateway/catalog.d.ts +8 -2
- package/dist/gateway/catalog.d.ts.map +1 -1
- package/dist/gateway/catalog.js +7 -3
- package/dist/gateway/catalog.js.map +1 -1
- package/dist/gateway/client.d.ts +8 -0
- package/dist/gateway/client.d.ts.map +1 -1
- package/dist/gateway/client.js +20 -0
- package/dist/gateway/client.js.map +1 -1
- package/dist/gateway/lifecycle.d.ts.map +1 -1
- package/dist/gateway/lifecycle.js +2 -2
- package/dist/gateway/lifecycle.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/signers/circleReview.d.ts +43 -15
- package/dist/signers/circleReview.d.ts.map +1 -1
- package/dist/signers/circleReview.js +128 -29
- package/dist/signers/circleReview.js.map +1 -1
- package/dist/signers/circleReviewChild.js +8 -4
- package/dist/signers/circleReviewChild.js.map +1 -1
- package/dist/signers/circleReviewTransport.d.ts +58 -1
- package/dist/signers/circleReviewTransport.d.ts.map +1 -1
- package/dist/signers/circleReviewTransport.js +145 -6
- package/dist/signers/circleReviewTransport.js.map +1 -1
- package/dist/store/orders.d.ts +6 -0
- package/dist/store/orders.d.ts.map +1 -1
- package/dist/store/orders.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { orderActionTypedData, validateOrderActionChallenge, validateWalletActionChallenge, walletActionTypedData, } from "@daski/x402-scheme";
|
|
9
9
|
import { CliError } from "../cli/errors.js";
|
|
10
|
-
import { describeResult, GatewayClient, gatewayRefusalRemediation, isRetryableGatewayCode, unreadableResultError, } from "./client.js";
|
|
10
|
+
import { describeResult, GatewayClient, gatewayRefusalRemediation, isRetryableGatewayCode, reviewHeldForOperator, unreadableResultError, } from "./client.js";
|
|
11
11
|
/**
|
|
12
12
|
* Runs one authorized lifecycle call. Two gateway calls: the challenge, then
|
|
13
13
|
* the authorized retry.
|
|
@@ -98,7 +98,7 @@ export function lifecycleFailure(toolName, result) {
|
|
|
98
98
|
details: {
|
|
99
99
|
tool: toolName,
|
|
100
100
|
gateway: body ?? describeResult(result),
|
|
101
|
-
...(isRetryableGatewayCode(code) ? { retryable: true } : {}),
|
|
101
|
+
...(isRetryableGatewayCode(code) && !reviewHeldForOperator(body) ? { retryable: true } : {}),
|
|
102
102
|
},
|
|
103
103
|
});
|
|
104
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/gateway/lifecycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/gateway/lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { redactText, redactValue } from "./cli/redact.js";
|
|
|
16
16
|
export { applyCapOverrides, atomicUsdc, configureBudgets, ensureConfig, loadConfig, permissionWarnings, type DaskiConfig, type LoadedConfig, type ProfileConfig, type SignerKind, } from "./config.js";
|
|
17
17
|
export { createContext, type CommandContext, type ContextOptions, type OrderBinding } from "./context.js";
|
|
18
18
|
export { detectLegacyKeyringEntry, keyBackendFor, resolveHost, type HostClass, type HostEnvironment, type KeyBackend, type KeyDurability, } from "./host.js";
|
|
19
|
-
export { createChainReader, finalityTagFor, type ChainReader, type FinalityTag } from "./chain/reader.js";
|
|
19
|
+
export { createChainReader, finalityTagFor, readContracts, type ChainReader, type ContractRead, type FinalityTag } from "./chain/reader.js";
|
|
20
20
|
export { Catalog, CATALOG_TTL_SECONDS, type OutcomeSummary } from "./gateway/catalog.js";
|
|
21
21
|
export { GatewayClient, readiness, type GatewayCallLog, type PaymentChallenge, type PaymentRequirement, type PaymentSubmission, } from "./gateway/client.js";
|
|
22
22
|
export { callAuthorizedLifecycleTool, callWalletQuery } from "./gateway/lifecycle.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAC9F,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,GAC9F,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EAAE,+BAA+B,EAAE,kBAAkB,EAC3E,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,GACzF,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAC7F,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,GACzE,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1G,OAAO,EACL,wBAAwB,EAAE,aAAa,EAAE,WAAW,EACpD,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,GAC1E,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ export { redactText, redactValue } from "./cli/redact.js";
|
|
|
16
16
|
export { applyCapOverrides, atomicUsdc, configureBudgets, ensureConfig, loadConfig, permissionWarnings, } from "./config.js";
|
|
17
17
|
export { createContext } from "./context.js";
|
|
18
18
|
export { detectLegacyKeyringEntry, keyBackendFor, resolveHost, } from "./host.js";
|
|
19
|
-
export { createChainReader, finalityTagFor } from "./chain/reader.js";
|
|
19
|
+
export { createChainReader, finalityTagFor, readContracts } from "./chain/reader.js";
|
|
20
20
|
export { Catalog, CATALOG_TTL_SECONDS } from "./gateway/catalog.js";
|
|
21
21
|
export { GatewayClient, readiness, } from "./gateway/client.js";
|
|
22
22
|
export { callAuthorizedLifecycleTool, callWalletQuery } from "./gateway/lifecycle.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAA2D,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,GAE/F,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EAAE,+BAA+B,EAAE,kBAAkB,GAE5E,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAA2B,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAwB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,GAE9F,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAA+D,MAAM,cAAc,CAAC;AAC1G,OAAO,EACL,wBAAwB,EAAE,aAAa,EAAE,WAAW,GAErD,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAA2D,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,GAE/F,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EAAE,+BAA+B,EAAE,kBAAkB,GAE5E,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAA2B,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAwB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,GAE9F,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAA+D,MAAM,cAAc,CAAC;AAC1G,OAAO,EACL,wBAAwB,EAAE,aAAa,EAAE,WAAW,GAErD,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAyD,MAAM,mBAAmB,CAAC;AAE5I,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AACzF,OAAO,EACL,aAAa,EAAE,SAAS,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,GAE1D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAC7G,YAAY,EAAE,gBAAgB,EAAE,aAAa,GAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAiC,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,yBAAyB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,GAEnF,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,WAAW,EAAE,WAAW,GAErC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,MAAM,EAAE,SAAS,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,30 +1,58 @@
|
|
|
1
1
|
import type { Hex } from "viem";
|
|
2
|
-
import { type CircleReviewRequest } from "./circleReviewTransport.js";
|
|
2
|
+
import { type CircleReviewProgress, type CircleReviewRequest } from "./circleReviewTransport.js";
|
|
3
|
+
export interface CircleSubmission {
|
|
4
|
+
transactionId?: string;
|
|
5
|
+
txHash?: Hex;
|
|
6
|
+
/** Circle's last reported state for the transaction. */
|
|
7
|
+
state?: string;
|
|
8
|
+
progress: CircleReviewProgress;
|
|
9
|
+
}
|
|
10
|
+
export interface CircleLookup {
|
|
11
|
+
transactionId?: string;
|
|
12
|
+
hashes: Hex[];
|
|
13
|
+
/** Circle's state for the identified transaction, when exactly one is identified. */
|
|
14
|
+
state?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CircleLookupOptions {
|
|
17
|
+
/** The transaction the bound challenge named, when the submission recorded it. */
|
|
18
|
+
transactionId?: string | undefined;
|
|
19
|
+
/** When the submission started; a row created earlier is not this submission. */
|
|
20
|
+
notBefore?: string | undefined;
|
|
21
|
+
}
|
|
3
22
|
export interface DirectReviewSubmissionAdapter {
|
|
4
23
|
readonly packageVersion: string;
|
|
5
24
|
estimate(request: CircleReviewRequest): Promise<Record<string, string>>;
|
|
6
|
-
submit(request: CircleReviewRequest): Promise<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}>;
|
|
25
|
+
submit(request: CircleReviewRequest): Promise<CircleSubmission>;
|
|
26
|
+
lookup(request: CircleReviewRequest, options?: CircleLookupOptions): Promise<CircleLookup>;
|
|
27
|
+
}
|
|
28
|
+
/** The vendor's parsed JSON output and what the child recorded of the run. */
|
|
29
|
+
export interface CircleReviewRun {
|
|
30
|
+
output: unknown;
|
|
31
|
+
progress: CircleReviewProgress;
|
|
14
32
|
}
|
|
15
|
-
export type CircleReviewRunner = (entry: string, request: CircleReviewRequest) => Promise<
|
|
33
|
+
export type CircleReviewRunner = (entry: string, request: CircleReviewRequest) => Promise<CircleReviewRun>;
|
|
34
|
+
/** The pinned CLIs poll a challenge for up to 60 s and its transaction for up to 120 s. */
|
|
35
|
+
export declare const CIRCLE_REVIEW_TIMEOUT_MS = 210000;
|
|
36
|
+
/** The progress a failed vendor run recorded, when the failure came from the runner. */
|
|
37
|
+
export declare function circleProgressOf(error: unknown): CircleReviewProgress | undefined;
|
|
16
38
|
/** No shell, overrides, preload hooks, secret Daski environment or vendor output in errors. */
|
|
17
39
|
export declare function circleReviewEnvironment(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
18
40
|
export declare function resolveCircleReviewEntry(env?: NodeJS.ProcessEnv): string;
|
|
19
41
|
export declare function verifyCircleReviewEntry(entry: string): string;
|
|
20
42
|
export declare const spawnCircleReview: CircleReviewRunner;
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Matching needs vendor identity and the exact call. Identity is the
|
|
45
|
+
* transaction the bound challenge named, else the idempotency key, else a row
|
|
46
|
+
* created after the submission started. The call is the echoed calldata or
|
|
47
|
+
* the echoed signature and parameters re-encoded; a row that carries a
|
|
48
|
+
* different call never matches, and a row that carries none matches only by
|
|
49
|
+
* the recorded transaction ID. A nearby transaction is never enough, and every
|
|
50
|
+
* hash found here is still bound on chain before the journal closes.
|
|
51
|
+
*/
|
|
52
|
+
export declare function matchedCircleTransactions(value: unknown, request: CircleReviewRequest, options?: CircleLookupOptions): CircleLookup;
|
|
26
53
|
export declare function createCircleReviewAdapter(options?: {
|
|
27
54
|
entry?: string;
|
|
28
55
|
run?: CircleReviewRunner;
|
|
56
|
+
packageVersion?: string;
|
|
29
57
|
}): DirectReviewSubmissionAdapter;
|
|
30
58
|
//# sourceMappingURL=circleReview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circleReview.d.ts","sourceRoot":"","sources":["../../src/signers/circleReview.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"circleReview.d.ts","sourceRoot":"","sources":["../../src/signers/circleReview.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAEL,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EACpD,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AACD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AACD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5F;AACD,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAAG,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE;AACpF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAE3G,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAQhD,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAIjF;AACD,+FAA+F;AAC/F,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAI/F;AACD,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAarF;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU7D;AAiCD,eAAO,MAAM,iBAAiB,EAAE,kBA2C/B,CAAC;AAiBF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAiBvI;AACD,wBAAgB,yBAAyB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,6BAA6B,CA0B5J"}
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
/** Direct reviews are the only transaction-capable vendor integration. */
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
|
-
import { readFileSync, realpathSync, statSync } from "node:fs";
|
|
4
|
+
import { closeSync, mkdtempSync, openSync, readFileSync, readSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { tmpdir } from "node:os";
|
|
5
6
|
import { delimiter, dirname, join } from "node:path";
|
|
6
7
|
import { fileURLToPath } from "node:url";
|
|
7
8
|
import { CliError } from "../cli/errors.js";
|
|
8
9
|
import { resolveCircleCommand, vendorEnvironment } from "./circleAgent.js";
|
|
9
|
-
import { CIRCLE_REVIEW_ENTRY_HASHES, assertCircleReviewRequest } from "./circleReviewTransport.js";
|
|
10
|
-
|
|
10
|
+
import { CIRCLE_REVIEW_ENTRY_HASHES, assertCircleReviewRequest, circleReviewProgress, circleRowCarriesCall, } from "./circleReviewTransport.js";
|
|
11
|
+
/** The pinned CLIs poll a challenge for up to 60 s and its transaction for up to 120 s. */
|
|
12
|
+
export const CIRCLE_REVIEW_TIMEOUT_MS = 210_000;
|
|
13
|
+
const MAX_PROGRESS_BYTES = 64 * 1024;
|
|
14
|
+
function failure(code, message, progress) {
|
|
11
15
|
return new CliError({ code, message,
|
|
12
|
-
remediation: "Keep the saved review journal. Use --resume for read-only reconciliation; do not execute the call again after an uncertain response."
|
|
16
|
+
remediation: "Keep the saved review journal. Use --resume for read-only reconciliation; do not execute the call again after an uncertain response.",
|
|
17
|
+
...(progress ? { details: { circleProgress: progress } } : {}) });
|
|
18
|
+
}
|
|
19
|
+
/** The progress a failed vendor run recorded, when the failure came from the runner. */
|
|
20
|
+
export function circleProgressOf(error) {
|
|
21
|
+
if (!(error instanceof CliError))
|
|
22
|
+
return undefined;
|
|
23
|
+
const progress = error.details.circleProgress;
|
|
24
|
+
return progress && typeof progress.approvalSent === "boolean" && typeof progress.uncertain === "boolean" ? progress : undefined;
|
|
13
25
|
}
|
|
14
26
|
/** No shell, overrides, preload hooks, secret Daski environment or vendor output in errors. */
|
|
15
27
|
export function circleReviewEnvironment(env = process.env) {
|
|
@@ -44,17 +56,73 @@ export function verifyCircleReviewEntry(entry) {
|
|
|
44
56
|
return pkg.version;
|
|
45
57
|
}
|
|
46
58
|
catch { /* Bounded error, no package content or vendor output. */ }
|
|
47
|
-
throw
|
|
59
|
+
throw new CliError({ code: "DASKI_CIRCLE_REVIEW_PACKAGE_UNSUPPORTED",
|
|
60
|
+
message: `The installed Circle entrypoint differs from the qualified ${Object.keys(CIRCLE_REVIEW_ENTRY_HASHES).join("/")} artifacts.`,
|
|
61
|
+
remediation: "Nothing was sent. Install a qualified version, such as the one the gateway publishes under signerClis.circle-agent " +
|
|
62
|
+
"(npm install -g @circle-fin/cli@<version>), then repeat the same command. The saved review is kept." });
|
|
63
|
+
}
|
|
64
|
+
/** Reads at most the progress bound; a larger file is unreadable, so the run is uncertain. */
|
|
65
|
+
function readProgress(path) {
|
|
66
|
+
try {
|
|
67
|
+
const fd = openSync(path, "r");
|
|
68
|
+
try {
|
|
69
|
+
const buffer = Buffer.alloc(MAX_PROGRESS_BYTES + 1);
|
|
70
|
+
const length = readSync(fd, buffer, 0, buffer.length, 0);
|
|
71
|
+
if (length > MAX_PROGRESS_BYTES)
|
|
72
|
+
return { ...circleReviewProgress(""), uncertain: true };
|
|
73
|
+
return circleReviewProgress(buffer.subarray(0, length).toString("utf8"));
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
closeSync(fd);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return { ...circleReviewProgress(""), uncertain: true };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Removes a run's progress directory; one left behind holds no secret and decides nothing. */
|
|
84
|
+
function removeProgress(directory) {
|
|
85
|
+
try {
|
|
86
|
+
rmSync(directory, { recursive: true, force: true });
|
|
87
|
+
}
|
|
88
|
+
catch { /* Kept for the system's temporary cleanup. */ }
|
|
89
|
+
}
|
|
90
|
+
/** A private directory holding an empty progress file, or undefined when none can be made. */
|
|
91
|
+
function progressDirectory() {
|
|
92
|
+
let directory;
|
|
93
|
+
try {
|
|
94
|
+
directory = mkdtempSync(join(tmpdir(), "daski-circle-review-"));
|
|
95
|
+
writeFileSync(join(directory, "progress.jsonl"), "", { mode: 0o600 });
|
|
96
|
+
return directory;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
if (directory)
|
|
100
|
+
removeProgress(directory);
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
48
103
|
}
|
|
49
104
|
export const spawnCircleReview = (entry, request) => {
|
|
50
105
|
assertCircleReviewRequest(request);
|
|
106
|
+
// The child forwards nothing it cannot record, so a run without a progress
|
|
107
|
+
// file never starts. It fails as a run that sent nothing, which restores the
|
|
108
|
+
// prepared review instead of leaving it submitted with nothing to resume.
|
|
109
|
+
const directory = progressDirectory();
|
|
110
|
+
if (!directory)
|
|
111
|
+
return Promise.reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "The Circle review process could not start: it could not create its progress file in the system's temporary directory.", circleReviewProgress("")));
|
|
112
|
+
const progressFile = join(directory, "progress.jsonl");
|
|
113
|
+
const settle = () => {
|
|
114
|
+
const progress = readProgress(progressFile);
|
|
115
|
+
removeProgress(directory);
|
|
116
|
+
return progress;
|
|
117
|
+
};
|
|
51
118
|
return new Promise((resolve, reject) => {
|
|
52
|
-
const child = spawn(process.execPath, [fileURLToPath(new URL("./circleReviewChild.js", import.meta.url)), entry], {
|
|
119
|
+
const child = spawn(process.execPath, [fileURLToPath(new URL("./circleReviewChild.js", import.meta.url)), entry, progressFile], {
|
|
53
120
|
stdio: ["pipe", "pipe", "ignore"], env: circleReviewEnvironment(),
|
|
54
|
-
timeout:
|
|
121
|
+
timeout: CIRCLE_REVIEW_TIMEOUT_MS, killSignal: "SIGKILL", windowsHide: true,
|
|
55
122
|
});
|
|
56
123
|
const chunks = [];
|
|
57
124
|
let size = 0;
|
|
125
|
+
let settled = false;
|
|
58
126
|
child.stdout.on("data", (chunk) => {
|
|
59
127
|
size += chunk.length;
|
|
60
128
|
if (size > 256 * 1024)
|
|
@@ -62,17 +130,26 @@ export const spawnCircleReview = (entry, request) => {
|
|
|
62
130
|
else
|
|
63
131
|
chunks.push(chunk);
|
|
64
132
|
});
|
|
65
|
-
child.once("error", () =>
|
|
133
|
+
child.once("error", () => {
|
|
134
|
+
if (settled)
|
|
135
|
+
return;
|
|
136
|
+
settled = true;
|
|
137
|
+
reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "The Circle review process could not complete.", settle()));
|
|
138
|
+
});
|
|
66
139
|
child.once("close", (status) => {
|
|
140
|
+
if (settled)
|
|
141
|
+
return;
|
|
142
|
+
settled = true;
|
|
143
|
+
const progress = settle();
|
|
67
144
|
if (status !== 0 || size > 256 * 1024) {
|
|
68
|
-
reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "Circle did not return a definitive review result."));
|
|
145
|
+
reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "Circle did not return a definitive review result.", progress));
|
|
69
146
|
return;
|
|
70
147
|
}
|
|
71
148
|
try {
|
|
72
|
-
resolve(JSON.parse(Buffer.concat(chunks).toString("utf8")));
|
|
149
|
+
resolve({ output: JSON.parse(Buffer.concat(chunks).toString("utf8")), progress });
|
|
73
150
|
}
|
|
74
151
|
catch {
|
|
75
|
-
reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "Circle returned an unreadable review result."));
|
|
152
|
+
reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "Circle returned an unreadable review result.", progress));
|
|
76
153
|
}
|
|
77
154
|
});
|
|
78
155
|
child.stdin.on("error", () => { });
|
|
@@ -89,45 +166,67 @@ function identifier(value) {
|
|
|
89
166
|
return typeof value === "string" && /^[a-zA-Z0-9-]{1,128}$/.test(value) ? value : undefined;
|
|
90
167
|
}
|
|
91
168
|
function hash(value) {
|
|
92
|
-
return typeof value === "string" && /^0x[0-9a-fA-F]{64}$/.test(value) ? value : undefined;
|
|
169
|
+
return typeof value === "string" && /^0x[0-9a-fA-F]{64}$/.test(value) ? value.toLowerCase() : undefined;
|
|
170
|
+
}
|
|
171
|
+
function vendorState(value) {
|
|
172
|
+
return typeof value === "string" && /^[A-Z_]{1,32}$/.test(value) ? value : undefined;
|
|
93
173
|
}
|
|
94
|
-
/**
|
|
95
|
-
|
|
174
|
+
/** Rows are created by Circle's clock and started by ours; allow this much disagreement. */
|
|
175
|
+
const CLOCK_SKEW_MS = 5 * 60_000;
|
|
176
|
+
/**
|
|
177
|
+
* Matching needs vendor identity and the exact call. Identity is the
|
|
178
|
+
* transaction the bound challenge named, else the idempotency key, else a row
|
|
179
|
+
* created after the submission started. The call is the echoed calldata or
|
|
180
|
+
* the echoed signature and parameters re-encoded; a row that carries a
|
|
181
|
+
* different call never matches, and a row that carries none matches only by
|
|
182
|
+
* the recorded transaction ID. A nearby transaction is never enough, and every
|
|
183
|
+
* hash found here is still bound on chain before the journal closes.
|
|
184
|
+
*/
|
|
185
|
+
export function matchedCircleTransactions(value, request, options = {}) {
|
|
96
186
|
const unwrapped = unwrap(value);
|
|
97
187
|
const rows = Array.isArray(value) ? value : Array.isArray(unwrapped.transactions) ? unwrapped.transactions
|
|
98
188
|
: Array.isArray(value && isRecord(value) ? value.data : null) ? value.data : [];
|
|
189
|
+
const notBefore = options.notBefore === undefined ? undefined : Date.parse(options.notBefore) - CLOCK_SKEW_MS;
|
|
99
190
|
const matched = rows.filter(isRecord).filter(row => {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
191
|
+
const carriesCall = row.callData !== undefined || row.calldata !== undefined || row.abiFunctionSignature !== undefined || row.abiParameters !== undefined;
|
|
192
|
+
if (options.transactionId)
|
|
193
|
+
return row.id === options.transactionId && (!carriesCall || circleRowCarriesCall(row, request));
|
|
194
|
+
if (!carriesCall || !circleRowCarriesCall(row, request))
|
|
195
|
+
return false;
|
|
196
|
+
if (row.idempotencyKey !== undefined)
|
|
197
|
+
return row.idempotencyKey === request.idempotencyKey;
|
|
198
|
+
return notBefore !== undefined && Number.isFinite(notBefore) && typeof row.createDate === "string" && Date.parse(row.createDate) >= notBefore;
|
|
107
199
|
});
|
|
108
200
|
const ids = [...new Set(matched.map(row => identifier(row.id)).filter((id) => !!id))];
|
|
201
|
+
const hashes = [...new Set(matched.map(row => hash(row.txHash)).filter((h) => !!h))];
|
|
109
202
|
if (ids.length !== 1)
|
|
110
|
-
return { hashes
|
|
111
|
-
|
|
203
|
+
return { hashes };
|
|
204
|
+
const state = vendorState(matched.find(row => row.id === ids[0])?.state);
|
|
205
|
+
return { transactionId: ids[0], hashes, ...(state ? { state } : {}) };
|
|
112
206
|
}
|
|
113
207
|
export function createCircleReviewAdapter(options = {}) {
|
|
114
208
|
const entry = options.entry ?? resolveCircleReviewEntry();
|
|
115
|
-
|
|
209
|
+
// A scripted runner (tests) names its version; the installed vendor entry is always verified.
|
|
210
|
+
const packageVersion = options.run && options.packageVersion ? options.packageVersion : verifyCircleReviewEntry(entry);
|
|
116
211
|
const run = options.run ?? spawnCircleReview;
|
|
117
212
|
return {
|
|
118
213
|
packageVersion,
|
|
119
214
|
async estimate(request) {
|
|
120
|
-
const data = unwrap(await run(entry, { ...request, mode: "estimate" }));
|
|
215
|
+
const data = unwrap((await run(entry, { ...request, mode: "estimate" })).output);
|
|
121
216
|
const medium = unwrap(data.medium ?? data);
|
|
122
217
|
// Only known scalar fee facts leave the child; no raw vendor response is logged.
|
|
123
218
|
return Object.fromEntries(["gasLimit", "networkFee", "gasPrice", "maxFee"].flatMap(key => typeof medium[key] === "string" && /^[0-9.]+$/.test(medium[key]) ? [[key, medium[key]]] : []));
|
|
124
219
|
},
|
|
125
220
|
async submit(request) {
|
|
126
|
-
const
|
|
127
|
-
|
|
221
|
+
const { output, progress } = await run(entry, { ...request, mode: "execute" });
|
|
222
|
+
const data = unwrap(output);
|
|
223
|
+
const transactionId = identifier(data.id) ?? progress.transactionId;
|
|
224
|
+
const txHash = hash(data.txHash) ?? progress.txHash;
|
|
225
|
+
const state = vendorState(data.state) ?? progress.state;
|
|
226
|
+
return { ...(transactionId ? { transactionId } : {}), ...(txHash ? { txHash } : {}), ...(state ? { state } : {}), progress };
|
|
128
227
|
},
|
|
129
|
-
async lookup(request,
|
|
130
|
-
return matchedCircleTransactions(await run(entry, { ...request, mode: "lookup" }), request,
|
|
228
|
+
async lookup(request, lookupOptions = {}) {
|
|
229
|
+
return matchedCircleTransactions((await run(entry, { ...request, mode: "lookup" })).output, request, lookupOptions);
|
|
131
230
|
},
|
|
132
231
|
};
|
|
133
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circleReview.js","sourceRoot":"","sources":["../../src/signers/circleReview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"circleReview.js","sourceRoot":"","sources":["../../src/signers/circleReview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dedicated child entry point. Never preload into the buyer or alter the
|
|
3
3
|
* installed vendor. The pinned vendor retains its existing credential store.
|
|
4
|
+
* Each step that decides what Circle can execute is appended to the parent's
|
|
5
|
+
* progress file before it is forwarded; a step that cannot be recorded is not
|
|
6
|
+
* forwarded.
|
|
4
7
|
*/
|
|
5
8
|
import { createHash } from "node:crypto";
|
|
6
|
-
import { readFileSync } from "node:fs";
|
|
9
|
+
import { appendFileSync, readFileSync } from "node:fs";
|
|
7
10
|
import { dirname, join } from "node:path";
|
|
8
11
|
import { pathToFileURL } from "node:url";
|
|
9
12
|
import { CIRCLE_REVIEW_ENTRY_HASHES, circleReviewArguments, circleReviewFetchPolicy } from "./circleReviewTransport.js";
|
|
10
13
|
async function main() {
|
|
11
14
|
const entry = process.argv[2];
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
const progress = process.argv[3];
|
|
16
|
+
if (!entry || !progress)
|
|
17
|
+
throw new Error("Missing vendor entry or progress file");
|
|
14
18
|
const pkg = JSON.parse(readFileSync(join(dirname(entry), "..", "package.json"), "utf8"));
|
|
15
19
|
if (pkg.name !== "@circle-fin/cli" || CIRCLE_REVIEW_ENTRY_HASHES[pkg.version] !== createHash("sha256").update(readFileSync(entry)).digest("hex"))
|
|
16
20
|
throw new Error("Vendor integrity mismatch");
|
|
@@ -24,7 +28,7 @@ async function main() {
|
|
|
24
28
|
}
|
|
25
29
|
const request = JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
26
30
|
const args = circleReviewArguments(request);
|
|
27
|
-
globalThis.fetch = circleReviewFetchPolicy(request, globalThis.fetch);
|
|
31
|
+
globalThis.fetch = circleReviewFetchPolicy(request, globalThis.fetch, (event) => appendFileSync(progress, JSON.stringify(event) + "\n"));
|
|
28
32
|
process.argv = [process.execPath, entry, ...args];
|
|
29
33
|
await import(pathToFileURL(entry).href);
|
|
30
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circleReviewChild.js","sourceRoot":"","sources":["../../src/signers/circleReviewChild.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"circleReviewChild.js","sourceRoot":"","sources":["../../src/signers/circleReviewChild.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AAElJ,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAsC,CAAC;IAC9H,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/L,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;QAC3C,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAwB,CAAC;IAC1F,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC5C,UAAU,CAAC,KAAK,GAAG,uBAAuB,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAClE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Child-scoped Circle transport policy. Inputs are a buyer-validated EAS call,
|
|
3
3
|
* never arbitrary CLI commands. No credentials are persisted or returned here.
|
|
4
|
+
*
|
|
5
|
+
* The pinned CLIs (1.1.4, 1.2.0) run `wallet execute` as: list the wallets,
|
|
6
|
+
* POST the contract execution, read the encrypted challenge, POST its
|
|
7
|
+
* approval, poll the user challenge until COMPLETE, then poll the transaction
|
|
8
|
+
* the challenge names (GET /v1/w3s/transactions/<id>) until it is terminal.
|
|
9
|
+
* The policy permits exactly that sequence for the approved call, and records
|
|
10
|
+
* each step that decides whether Circle can execute before forwarding it, so
|
|
11
|
+
* the buyer knows what happened even when the vendor process fails later.
|
|
4
12
|
*/
|
|
5
13
|
import { type Address, type Hex } from "viem";
|
|
6
14
|
import type { DirectCall } from "../commands/confirmation.js";
|
|
15
|
+
/**
|
|
16
|
+
* dist/index.js SHA-256 of each @circle-fin/cli release whose review requests
|
|
17
|
+
* this policy was checked against. 1.2.0 sends exactly 1.1.4's. Circle's own
|
|
18
|
+
* version policy refuses every command below 1.1.4, so 1.0.0 is not run.
|
|
19
|
+
*/
|
|
7
20
|
export declare const CIRCLE_REVIEW_ENTRY_HASHES: Readonly<Record<string, string>>;
|
|
8
21
|
export type CircleReviewMode = "estimate" | "execute" | "lookup";
|
|
9
22
|
export interface CircleReviewRequest {
|
|
@@ -12,11 +25,55 @@ export interface CircleReviewRequest {
|
|
|
12
25
|
call: DirectCall;
|
|
13
26
|
idempotencyKey: string;
|
|
14
27
|
}
|
|
28
|
+
export declare const CIRCLE_REVIEW_SIGNATURES: {
|
|
29
|
+
readonly attest: "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))";
|
|
30
|
+
readonly revoke: "revoke((bytes32,(bytes32,uint256)))";
|
|
31
|
+
};
|
|
32
|
+
/** One step of a vendor run that decides what Circle can do, recorded before it is forwarded. */
|
|
33
|
+
export type CircleReviewEvent = {
|
|
34
|
+
event: "execution-requested";
|
|
35
|
+
} | {
|
|
36
|
+
event: "challenge";
|
|
37
|
+
challengeId: string;
|
|
38
|
+
} | {
|
|
39
|
+
event: "approval-sent";
|
|
40
|
+
} | {
|
|
41
|
+
event: "transaction";
|
|
42
|
+
transactionId: string;
|
|
43
|
+
} | {
|
|
44
|
+
event: "transaction-state";
|
|
45
|
+
transactionId: string;
|
|
46
|
+
state: string;
|
|
47
|
+
txHash: Hex | null;
|
|
48
|
+
};
|
|
49
|
+
export type CircleReviewReporter = (event: CircleReviewEvent) => void;
|
|
50
|
+
/** What a vendor run did, folded from its recorded events, whatever the vendor's exit status. */
|
|
51
|
+
export interface CircleReviewProgress {
|
|
52
|
+
/** The contract execution request left the child. */
|
|
53
|
+
executionRequested: boolean;
|
|
54
|
+
challengeId?: string;
|
|
55
|
+
/** The challenge approval left the child; Circle cannot execute without it. */
|
|
56
|
+
approvalSent: boolean;
|
|
57
|
+
transactionId?: string;
|
|
58
|
+
/** Circle's last reported state for that transaction. */
|
|
59
|
+
state?: string;
|
|
60
|
+
txHash?: Hex;
|
|
61
|
+
/** A line could not be read: treat the run as possibly executed. */
|
|
62
|
+
uncertain: boolean;
|
|
63
|
+
}
|
|
64
|
+
/** Folds the event lines a child recorded. An unreadable line makes the run uncertain, never harmless. */
|
|
65
|
+
export declare function circleReviewProgress(lines: string): CircleReviewProgress;
|
|
15
66
|
export declare function circleReviewTuple(call: DirectCall): unknown[];
|
|
16
67
|
export declare function encodedCircleTuple(action: "attest" | "revoke", tuple: unknown[]): Hex;
|
|
17
68
|
export declare function assertCircleReviewRequest(request: CircleReviewRequest): void;
|
|
18
69
|
export declare function circleReviewArguments(request: CircleReviewRequest): string[];
|
|
19
70
|
/** Correct exactly one known tuple; authentication and non-target fields stay unchanged. */
|
|
20
71
|
export declare function normalizeCircleReviewBody(request: CircleReviewRequest, body: unknown): Record<string, unknown>;
|
|
21
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Whether a vendor transaction row carries exactly the approved call: same
|
|
74
|
+
* wallet, chain, EAS target and operation, and calldata that is either echoed
|
|
75
|
+
* or re-encodes identically from the echoed signature and parameters.
|
|
76
|
+
*/
|
|
77
|
+
export declare function circleRowCarriesCall(row: Record<string, unknown>, request: CircleReviewRequest): boolean;
|
|
78
|
+
export declare function circleReviewFetchPolicy(request: CircleReviewRequest, original: typeof fetch, report?: CircleReviewReporter): typeof fetch;
|
|
22
79
|
//# sourceMappingURL=circleReviewTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circleReviewTransport.d.ts","sourceRoot":"","sources":["../../src/signers/circleReviewTransport.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"circleReviewTransport.d.ts","sourceRoot":"","sources":["../../src/signers/circleReviewTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAgC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGvE,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AACjE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;CACnF;AACD,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAOX,iGAAiG;AACjG,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,GAChC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,GAC1B;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,mBAAmB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,CAAC;AAC7F,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEtE,iGAAiG;AACjG,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,0GAA0G;AAC1G,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CA6BxE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE,CAK7D;AACD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAKrF;AACD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAW5E;AACD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAQ5E;AACD,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqB9G;AAUD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAexG;AAgBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,KAAK,EAC1F,MAAM,GAAE,oBAAsC,GAAG,OAAO,KAAK,CA+D9D"}
|