@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.
Files changed (59) hide show
  1. package/README.md +5 -6
  2. package/dist/bin/daski.js +5 -1
  3. package/dist/bin/daski.js.map +1 -1
  4. package/dist/chain/easProfiles.d.ts +1 -1
  5. package/dist/chain/easProfiles.d.ts.map +1 -1
  6. package/dist/chain/easProfiles.js +4 -2
  7. package/dist/chain/easProfiles.js.map +1 -1
  8. package/dist/chain/reader.d.ts +42 -0
  9. package/dist/chain/reader.d.ts.map +1 -1
  10. package/dist/chain/reader.js +107 -13
  11. package/dist/chain/reader.js.map +1 -1
  12. package/dist/cli/output.d.ts.map +1 -1
  13. package/dist/cli/output.js +3 -1
  14. package/dist/cli/output.js.map +1 -1
  15. package/dist/cli/redact.d.ts +8 -1
  16. package/dist/cli/redact.d.ts.map +1 -1
  17. package/dist/cli/redact.js +19 -1
  18. package/dist/cli/redact.js.map +1 -1
  19. package/dist/commands/buy.d.ts.map +1 -1
  20. package/dist/commands/buy.js +31 -4
  21. package/dist/commands/buy.js.map +1 -1
  22. package/dist/commands/confirmation.d.ts.map +1 -1
  23. package/dist/commands/confirmation.js +279 -70
  24. package/dist/commands/confirmation.js.map +1 -1
  25. package/dist/commands/doctor.d.ts.map +1 -1
  26. package/dist/commands/doctor.js +2 -1
  27. package/dist/commands/doctor.js.map +1 -1
  28. package/dist/gateway/balance.d.ts.map +1 -1
  29. package/dist/gateway/balance.js +3 -1
  30. package/dist/gateway/balance.js.map +1 -1
  31. package/dist/gateway/catalog.d.ts +8 -2
  32. package/dist/gateway/catalog.d.ts.map +1 -1
  33. package/dist/gateway/catalog.js +7 -3
  34. package/dist/gateway/catalog.js.map +1 -1
  35. package/dist/gateway/client.d.ts +8 -0
  36. package/dist/gateway/client.d.ts.map +1 -1
  37. package/dist/gateway/client.js +20 -0
  38. package/dist/gateway/client.js.map +1 -1
  39. package/dist/gateway/lifecycle.d.ts.map +1 -1
  40. package/dist/gateway/lifecycle.js +2 -2
  41. package/dist/gateway/lifecycle.js.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/signers/circleReview.d.ts +43 -15
  47. package/dist/signers/circleReview.d.ts.map +1 -1
  48. package/dist/signers/circleReview.js +128 -29
  49. package/dist/signers/circleReview.js.map +1 -1
  50. package/dist/signers/circleReviewChild.js +8 -4
  51. package/dist/signers/circleReviewChild.js.map +1 -1
  52. package/dist/signers/circleReviewTransport.d.ts +58 -1
  53. package/dist/signers/circleReviewTransport.d.ts.map +1 -1
  54. package/dist/signers/circleReviewTransport.js +145 -6
  55. package/dist/signers/circleReviewTransport.js.map +1 -1
  56. package/dist/store/orders.d.ts +6 -0
  57. package/dist/store/orders.d.ts.map +1 -1
  58. package/dist/store/orders.js.map +1 -1
  59. 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":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AAerB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC3D,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IACD,2EAA2E;IAC3E,sCAAsC;IACtC,IAAI,aAAa,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACjD,IAAI,eAAe,CAAC,OAAO;YAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC/E,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,4BAA4B,CAAC,aAAa,CAAC,SAAS,EAAE;QACtE,WAAW;QACX,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAClD,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CACrE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACjD,WAAW;QACX,OAAO;QACP,aAAa,EAAE,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE;KAC3C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAeD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,aAAa,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACjD,IAAI,eAAe,CAAC,OAAO;YAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC/E,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,6BAA6B,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE;QACxF,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,UAAU;QAC5B,OAAO;QACP,sBAAsB,EAAE,KAAK;QAC7B,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACjD,KAAK;QACL,GAAG,OAAO;QACV,aAAa,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE;KACzD,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,MAAqB;IACtE,yEAAyE;IACzE,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC;IACxF,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ;QAC/C,CAAC,CAAC,IAAI,CAAC,OAAO;QACd,CAAC,CAAC,GAAG,QAAQ,+BAA+B,CAAC;IAC/C,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI;QACJ,OAAO;QACP,WAAW,EAAE,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ;YAC1F,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,uEAAuE,CAAC;QAC5E,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC;YACvC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D;KACF,CAAC,CAAC;AACL,CAAC"}
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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,EAAsC,MAAM,mBAAmB,CAAC;AAE1G,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
+ {"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
- transactionId?: string;
8
- txHash?: Hex;
9
- }>;
10
- lookup(request: CircleReviewRequest, transactionId?: string): Promise<{
11
- transactionId?: string;
12
- hashes: Hex[];
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<unknown>;
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
- /** Matching needs vendor identity/key AND exact payload. A nearby transaction is never enough. */
22
- export declare function matchedCircleTransactions(value: unknown, request: CircleReviewRequest, transactionId?: string): {
23
- transactionId?: string;
24
- hashes: Hex[];
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":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAyD,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE7H,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;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACxF,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;CAClH;AACD,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAMnG,+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,CAO7D;AACD,eAAO,MAAM,iBAAiB,EAAE,kBAsB/B,CAAC;AAYF,kGAAkG;AAClG,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,CAgBzJ;AACD,wBAAgB,yBAAyB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,kBAAkB,CAAA;CAAO,GAAG,6BAA6B,CAqBnI"}
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
- function failure(code, message) {
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 failure("DASKI_CIRCLE_REVIEW_PACKAGE_UNSUPPORTED", "The installed Circle entrypoint differs from the qualified 1.0.0/1.1.4 artifacts.");
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: 90_000, killSignal: "SIGKILL", windowsHide: true,
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", () => reject(failure("DASKI_CIRCLE_REVIEW_UNKNOWN", "The Circle review process could not complete.")));
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
- /** Matching needs vendor identity/key AND exact payload. A nearby transaction is never enough. */
95
- export function matchedCircleTransactions(value, request, transactionId) {
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 identity = transactionId ? row.id === transactionId : row.idempotencyKey === request.idempotencyKey;
101
- const calldata = row.callData ?? row.calldata;
102
- return identity && row.operation === "CONTRACT_EXECUTION" &&
103
- String(row.sourceAddress ?? "").toLowerCase() === request.wallet.toLowerCase() &&
104
- row.blockchain === (request.call.chainId === 8453 ? "BASE" : "BASE-SEPOLIA") &&
105
- String(row.contractAddress ?? row.destinationAddress ?? "").toLowerCase() === request.call.to.toLowerCase() &&
106
- typeof calldata === "string" && calldata.toLowerCase() === request.call.calldata.toLowerCase();
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
- return { transactionId: ids[0], hashes: [...new Set(matched.map(row => hash(row.txHash)).filter((h) => !!h))] };
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
- const packageVersion = verifyCircleReviewEntry(entry);
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 data = unwrap(await run(entry, { ...request, mode: "execute" }));
127
- return { ...(identifier(data.id) ? { transactionId: identifier(data.id) } : {}), ...(hash(data.txHash) ? { txHash: hash(data.txHash) } : {}) };
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, transactionId) {
130
- return matchedCircleTransactions(await run(entry, { ...request, mode: "lookup" }), request, transactionId);
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
- if (!entry)
13
- throw new Error("Missing vendor entry");
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;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,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,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,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,CAAC,CAAC;IACtE,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
+ {"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
- export declare function circleReviewFetchPolicy(request: CircleReviewRequest, original: typeof fetch): typeof fetch;
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;;;GAGG;AACH,OAAO,EAAgC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,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;AAKD,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;AACD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,KAAK,GAAG,OAAO,KAAK,CAmC1G"}
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"}