@daski/pay 0.5.1 → 0.5.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.
Files changed (44) hide show
  1. package/README.md +1 -1
  2. package/dist/chain/easProfiles.d.ts +1 -1
  3. package/dist/chain/easProfiles.d.ts.map +1 -1
  4. package/dist/chain/easProfiles.js +4 -2
  5. package/dist/chain/easProfiles.js.map +1 -1
  6. package/dist/chain/reader.d.ts +27 -0
  7. package/dist/chain/reader.d.ts.map +1 -1
  8. package/dist/chain/reader.js +94 -13
  9. package/dist/chain/reader.js.map +1 -1
  10. package/dist/cli/output.d.ts.map +1 -1
  11. package/dist/cli/output.js +3 -1
  12. package/dist/cli/output.js.map +1 -1
  13. package/dist/cli/redact.d.ts +8 -1
  14. package/dist/cli/redact.d.ts.map +1 -1
  15. package/dist/cli/redact.js +19 -1
  16. package/dist/cli/redact.js.map +1 -1
  17. package/dist/commands/buy.d.ts.map +1 -1
  18. package/dist/commands/buy.js +31 -4
  19. package/dist/commands/buy.js.map +1 -1
  20. package/dist/commands/confirmation.d.ts.map +1 -1
  21. package/dist/commands/confirmation.js +38 -12
  22. package/dist/commands/confirmation.js.map +1 -1
  23. package/dist/commands/doctor.d.ts.map +1 -1
  24. package/dist/commands/doctor.js +2 -1
  25. package/dist/commands/doctor.js.map +1 -1
  26. package/dist/gateway/balance.d.ts.map +1 -1
  27. package/dist/gateway/balance.js +3 -1
  28. package/dist/gateway/balance.js.map +1 -1
  29. package/dist/gateway/catalog.d.ts +8 -2
  30. package/dist/gateway/catalog.d.ts.map +1 -1
  31. package/dist/gateway/catalog.js +7 -3
  32. package/dist/gateway/catalog.js.map +1 -1
  33. package/dist/gateway/client.d.ts +8 -0
  34. package/dist/gateway/client.d.ts.map +1 -1
  35. package/dist/gateway/client.js +20 -0
  36. package/dist/gateway/client.js.map +1 -1
  37. package/dist/gateway/lifecycle.d.ts.map +1 -1
  38. package/dist/gateway/lifecycle.js +2 -2
  39. package/dist/gateway/lifecycle.js.map +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/package.json +2 -2
package/README.md CHANGED
@@ -5,7 +5,7 @@ The Daski buyer CLI obtains a quote, validates and signs an approved payment, an
5
5
  ## Setup and purchase
6
6
 
7
7
  ```bash
8
- npm install -g @daski/pay@0.5.1
8
+ npm install -g @daski/pay@0.5.2
9
9
  export DASKI_HOST_CLASS=durable # or ephemeral
10
10
  daski doctor --json
11
11
  ```
@@ -4,7 +4,7 @@
4
4
  * Unknown code, domains or type hashes fail before a payer signs anything.
5
5
  */
6
6
  import { type Address, type Hex } from "viem";
7
- import type { ChainReader } from "./reader.js";
7
+ import { type ChainReader } from "./reader.js";
8
8
  import { CliError } from "../cli/errors.js";
9
9
  export type EasReviewProfileId = "eas-native-1.0.1" | "eas-native-1.2.0";
10
10
  export interface EasReviewProfile {
@@ -1 +1 @@
1
- {"version":3,"file":"easProfiles.d.ts","sourceRoot":"","sources":["../../src/chain/easProfiles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAmC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AACzE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC;IACd,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;CACrB;AACD,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAW1E,CAAC;AACF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAGH,wBAAgB,eAAe,IAAI,QAAQ,CAI1C;AAED,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe3H"}
1
+ {"version":3,"file":"easProfiles.d.ts","sourceRoot":"","sources":["../../src/chain/easProfiles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAmC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC/E,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AACzE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC;IACd,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;CACrB;AACD,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAW1E,CAAC;AACF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAGH,wBAAgB,eAAe,IAAI,QAAQ,CAI1C;AAED,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgB3H"}
@@ -4,6 +4,7 @@
4
4
  * Unknown code, domains or type hashes fail before a payer signs anything.
5
5
  */
6
6
  import { hashDomain, keccak256, parseAbi } from "viem";
7
+ import { readContracts } from "./reader.js";
7
8
  import { CliError } from "../cli/errors.js";
8
9
  export const EAS_REVIEW_PROFILES = {
9
10
  8453: { id: "eas-native-1.0.1", contractVersion: "1.0.1", domainVersion: "1.0.1", signedDeadline: false,
@@ -33,10 +34,11 @@ export async function discoverEasReviewProfile(chain, chainId, eas) {
33
34
  if (!profile || eas.toLowerCase() !== "0x4200000000000000000000000000000000000021" || !chain.getStorageAt)
34
35
  throw incompatibleEas();
35
36
  const blockNumber = await chain.getFinalBlockNumber();
36
- const [slot, code, version, domain, attest, revoke] = await Promise.all([
37
+ const [slot, code, [version, domain, attest, revoke]] = await Promise.all([
37
38
  chain.getStorageAt(eas, IMPLEMENTATION_SLOT, blockNumber),
38
39
  chain.getCode(profile.implementation, blockNumber),
39
- ...["version", "getDomainSeparator", "getAttestTypeHash", "getRevokeTypeHash"].map(functionName => chain.readContract({ address: eas, abi: EAS_IDENTITY_ABI, functionName, args: [], blockNumber })),
40
+ // One batched eth_call: a public RPC refuses a burst of separate ones.
41
+ readContracts(chain, ["version", "getDomainSeparator", "getAttestTypeHash", "getRevokeTypeHash"].map(functionName => ({ address: eas, abi: EAS_IDENTITY_ABI, functionName, args: [] })), blockNumber),
40
42
  ]);
41
43
  if (!slot || !code || code === "0x" || slot.slice(-40).toLowerCase() !== profile.implementation.slice(2).toLowerCase() ||
42
44
  keccak256(code) !== profile.codeHash || version !== profile.contractVersion ||
@@ -1 +1 @@
1
- {"version":3,"file":"easProfiles.js","sourceRoot":"","sources":["../../src/chain/easProfiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"easProfiles.js","sourceRoot":"","sources":["../../src/chain/easProfiles.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,26 @@
9
9
  *
10
10
  * The reader is an interface so `doctor` and the confirmation flow can be
11
11
  * exercised against a scripted chain in tests.
12
+ *
13
+ * Public RPCs admit only a few `eth_call`s per client in a short window and
14
+ * refuse the rest (https://mainnet.base.org among them), so a command that
15
+ * needs several contract values reads them through `readContracts`: one call.
12
16
  */
13
17
  import { type Abi, type Address, type Hex } from "viem";
18
+ import { CliError } from "../cli/errors.js";
14
19
  /** The bound on one `eth_call` used to verify a contract signature. */
15
20
  export declare const ERC1271_CALL_GAS = 1000000n;
16
21
  /** One deadline covering the code lookup and the call. */
17
22
  export declare const ERC1271_CALL_TIMEOUT_MS = 5000;
23
+ /** Multicall3 at its address on every chain that carries it; Base and Base Sepolia preinstall it. */
24
+ export declare const MULTICALL3_ADDRESS: Address;
25
+ /** One contract read in a batch. */
26
+ export interface ContractRead {
27
+ address: Address;
28
+ abi: Abi;
29
+ functionName: string;
30
+ args: readonly unknown[];
31
+ }
18
32
  export interface ReceiptLog {
19
33
  address: Address;
20
34
  topics: readonly Hex[];
@@ -66,7 +80,20 @@ export interface ChainReader {
66
80
  args: readonly unknown[];
67
81
  blockNumber?: bigint;
68
82
  }): Promise<T>;
83
+ /**
84
+ * Contract reads answered together by one Multicall3 `eth_call`, in order,
85
+ * at the latest state or pinned to a block number. Callers go through
86
+ * `readContracts`, which reads one at a time from a reader without it.
87
+ */
88
+ readContracts?(args: {
89
+ reads: readonly ContractRead[];
90
+ blockNumber?: bigint;
91
+ }): Promise<readonly unknown[]>;
69
92
  }
93
+ /** Several contract reads in one call where the reader batches, otherwise one at a time; results keep their order. */
94
+ export declare function readContracts(chain: ChainReader, reads: readonly ContractRead[], blockNumber?: bigint): Promise<readonly unknown[]>;
95
+ /** A failed read, named for what the RPC said; the endpoint is printed without the path or query a key may sit in. */
96
+ export declare function rpcFailure(rpcUrl: string, error: unknown): CliError;
70
97
  /** A viem-backed reader for one RPC endpoint, with one deadline per request. */
71
98
  export declare function createChainReader(rpcUrl: string, finalityTag: FinalityTag, timeoutMs?: number): ChainReader;
72
99
  /** The ERC-1271 magic value: the only return that verifies a contract signature. */
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/chain/reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAEL,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EACjC,MAAM,MAAM,CAAC;AAGd,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,WAAa,CAAC;AAC3C,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IACvB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,IAAI,EAAE,GAAG,GAAG,SAAS,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAE3D;AAED,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAC1E,wEAAwE;IACxE,YAAY,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAC1F,2DAA2D;IAC3D,IAAI,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9E,4EAA4E;IAC5E,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACzE,0EAA0E;IAC1E,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,sFAAsF;IACtF,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,wEAAwE;IACxE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACzI;AAkBD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,SAA0B,GAAG,WAAW,CA+D5H;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;EAQA,CAAC;AAEzB,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAE7D;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/chain/reader.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,20 @@
9
9
  *
10
10
  * The reader is an interface so `doctor` and the confirmation flow can be
11
11
  * exercised against a scripted chain in tests.
12
+ *
13
+ * Public RPCs admit only a few `eth_call`s per client in a short window and
14
+ * refuse the rest (https://mainnet.base.org among them), so a command that
15
+ * needs several contract values reads them through `readContracts`: one call.
12
16
  */
13
- import { createPublicClient, http, HttpRequestError, TimeoutError, BaseError, } from "viem";
17
+ import { createPublicClient, http, HttpRequestError, RpcError, RpcRequestError, TimeoutError, BaseError, } from "viem";
14
18
  import { CliError } from "../cli/errors.js";
19
+ import { redactRpcUrl } from "../cli/redact.js";
15
20
  /** The bound on one `eth_call` used to verify a contract signature. */
16
21
  export const ERC1271_CALL_GAS = 1000000n;
17
22
  /** One deadline covering the code lookup and the call. */
18
23
  export const ERC1271_CALL_TIMEOUT_MS = 5_000;
24
+ /** Multicall3 at its address on every chain that carries it; Base and Base Sepolia preinstall it. */
25
+ export const MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
19
26
  /**
20
27
  * Base mainnet waits for L1 finality; the sandbox (Base Sepolia) treats the
21
28
  * `safe` tag (the batch is posted to L1) as final, the same rule the gateway
@@ -24,13 +31,77 @@ export const ERC1271_CALL_TIMEOUT_MS = 5_000;
24
31
  export function finalityTagFor(chainId) {
25
32
  return chainId === 8453 ? "finalized" : "safe";
26
33
  }
27
- function rpcUnavailable(rpcUrl, error) {
34
+ /** Several contract reads in one call where the reader batches, otherwise one at a time; results keep their order. */
35
+ export function readContracts(chain, reads, blockNumber) {
36
+ const pinned = blockNumber === undefined ? {} : { blockNumber };
37
+ if (chain.readContracts)
38
+ return chain.readContracts({ reads, ...pinned });
39
+ return Promise.all(reads.map((read) => chain.readContract({ ...read, ...pinned })));
40
+ }
41
+ /** JSON-RPC codes that refuse a client over its rate: EIP-1474's limit exceeded, and proxyd's (Base's public RPC). */
42
+ const RATE_LIMIT_CODES = new Set([-32005, -32016]);
43
+ /** What the RPC answered, when it answered: the HTTP status and the JSON-RPC error. */
44
+ function rpcAnswer(error) {
45
+ if (!(error instanceof BaseError))
46
+ return {};
47
+ const answer = {};
48
+ const failed = error.walk((cause) => cause instanceof HttpRequestError);
49
+ if (failed instanceof HttpRequestError) {
50
+ if (failed.status !== undefined)
51
+ answer.status = failed.status;
52
+ // A refused HTTP request carries the body's JSON-RPC error, if any, as its details.
53
+ try {
54
+ const body = JSON.parse(failed.details);
55
+ if (typeof body.code === "number")
56
+ answer.code = body.code;
57
+ if (typeof body.message === "string")
58
+ answer.message = body.message;
59
+ }
60
+ catch {
61
+ if (failed.details)
62
+ answer.message = failed.details;
63
+ }
64
+ }
65
+ const refused = error.walk((cause) => cause instanceof RpcError || cause instanceof RpcRequestError);
66
+ if (refused instanceof RpcError || refused instanceof RpcRequestError) {
67
+ answer.code = refused.code;
68
+ if (refused.details)
69
+ answer.message = refused.details;
70
+ }
71
+ return answer;
72
+ }
73
+ function isRateLimited(answer) {
74
+ return answer.status === 429 || (answer.code !== undefined && RATE_LIMIT_CODES.has(answer.code)) ||
75
+ /rate.?limit|too many requests/i.test(answer.message ?? "");
76
+ }
77
+ function describeAnswer(answer) {
78
+ const head = [answer.status === undefined ? "" : `HTTP ${answer.status}`,
79
+ answer.code === undefined ? "" : `RPC error ${answer.code}`].filter(Boolean).join(", ");
80
+ return head && answer.message ? `${head}: ${answer.message}` : head || answer.message || "";
81
+ }
82
+ /** A failed read, named for what the RPC said; the endpoint is printed without the path or query a key may sit in. */
83
+ export function rpcFailure(rpcUrl, error) {
84
+ const answer = rpcAnswer(error);
85
+ const answered = describeAnswer(answer);
86
+ const details = { retryable: true, ...(answer.status === undefined ? {} : { httpStatus: answer.status }),
87
+ ...(answer.code === undefined ? {} : { rpcErrorCode: answer.code }) };
88
+ if (isRateLimited(answer)) {
89
+ return new CliError({
90
+ code: "DASKI_RPC_RATE_LIMITED",
91
+ message: `The RPC at ${redactRpcUrl(rpcUrl)} refused the read over its rate limit (${answered || "rate limited"}).`,
92
+ remediation: "Nothing was decided from this read. Wait several seconds before re-running and do not retry in a " +
93
+ "loop: the endpoint counts refused reads too. Public endpoints such as https://mainnet.base.org admit " +
94
+ "only a few reads per client; set rpcUrl for the profile to a dedicated endpoint.",
95
+ details,
96
+ });
97
+ }
98
+ const first = error instanceof Error ? error.message.split("\n")[0] : String(error);
28
99
  return new CliError({
29
100
  code: "DASKI_RPC_UNAVAILABLE",
30
- message: `The RPC at ${rpcUrl} did not answer: ${error instanceof Error ? error.message.split("\n")[0] : String(error)}`,
101
+ message: `The RPC at ${redactRpcUrl(rpcUrl)} did not answer: ${first}${answered ? ` (${answered})` : ""}`,
31
102
  remediation: "Nothing was decided from this read. Check connectivity or set a working rpcUrl for " +
32
103
  "the profile, then re-run.",
33
- details: { retryable: true },
104
+ details,
34
105
  });
35
106
  }
36
107
  function isTransportFailure(error) {
@@ -47,7 +118,7 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
47
118
  return await client.getCode({ address, ...(blockNumber === undefined ? {} : { blockNumber }) });
48
119
  }
49
120
  catch (error) {
50
- throw rpcUnavailable(rpcUrl, error);
121
+ throw rpcFailure(rpcUrl, error);
51
122
  }
52
123
  },
53
124
  async getStorageAt(address, slot, blockNumber) {
@@ -55,7 +126,7 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
55
126
  return await client.getStorageAt({ address, slot, blockNumber });
56
127
  }
57
128
  catch (error) {
58
- throw rpcUnavailable(rpcUrl, error);
129
+ throw rpcFailure(rpcUrl, error);
59
130
  }
60
131
  },
61
132
  async call({ to, data, gas }) {
@@ -64,9 +135,9 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
64
135
  return { data: result.data, reverted: false };
65
136
  }
66
137
  catch (error) {
67
- // A transport failure is unknown, never invalid; a revert is a final answer.
68
- if (isTransportFailure(error))
69
- throw rpcUnavailable(rpcUrl, error);
138
+ // A transport failure or a refusal is unknown, never invalid; a revert is a final answer.
139
+ if (isTransportFailure(error) || isRateLimited(rpcAnswer(error)))
140
+ throw rpcFailure(rpcUrl, error);
70
141
  return { data: undefined, reverted: true };
71
142
  }
72
143
  },
@@ -87,7 +158,7 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
87
158
  if (error instanceof BaseError &&
88
159
  error.walk((cause) => cause.name === "TransactionReceiptNotFoundError") !== null)
89
160
  return null;
90
- throw rpcUnavailable(rpcUrl, error);
161
+ throw rpcFailure(rpcUrl, error);
91
162
  }
92
163
  },
93
164
  async getFinalBlockNumber() {
@@ -95,7 +166,7 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
95
166
  return (await client.getBlock({ blockTag: finalityTag })).number;
96
167
  }
97
168
  catch (error) {
98
- throw rpcUnavailable(rpcUrl, error);
169
+ throw rpcFailure(rpcUrl, error);
99
170
  }
100
171
  },
101
172
  async getBlockHash(blockNumber) {
@@ -103,7 +174,7 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
103
174
  return (await client.getBlock({ blockNumber })).hash;
104
175
  }
105
176
  catch (error) {
106
- throw rpcUnavailable(rpcUrl, error);
177
+ throw rpcFailure(rpcUrl, error);
107
178
  }
108
179
  },
109
180
  async readContract(args) {
@@ -111,7 +182,17 @@ export function createChainReader(rpcUrl, finalityTag, timeoutMs = ERC1271_CALL_
111
182
  return await client.readContract(args);
112
183
  }
113
184
  catch (error) {
114
- throw rpcUnavailable(rpcUrl, error);
185
+ throw rpcFailure(rpcUrl, error);
186
+ }
187
+ },
188
+ async readContracts({ reads, blockNumber }) {
189
+ try {
190
+ // batchSize 0: never split the batch, so it stays one eth_call.
191
+ return await client.multicall({ contracts: reads, allowFailure: false, batchSize: 0,
192
+ multicallAddress: MULTICALL3_ADDRESS, ...(blockNumber === undefined ? {} : { blockNumber }) });
193
+ }
194
+ catch (error) {
195
+ throw rpcFailure(rpcUrl, error);
115
196
  }
116
197
  },
117
198
  };
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/chain/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/chain/reader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAMjF;AAED,sEAAsE;AACtE,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAaxE"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAMjF;AAED,sEAAsE;AACtE,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAaxE"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Output. Two modes, one rule: everything is redacted on the way out.
3
3
  */
4
+ import { BaseError } from "viem";
4
5
  import { redactValue } from "./redact.js";
5
6
  import { CliError } from "./errors.js";
6
7
  export function emit(value, options) {
@@ -38,7 +39,8 @@ function errorPayload(error) {
38
39
  }
39
40
  return {
40
41
  error: "DASKI_UNEXPECTED_ERROR",
41
- message: error instanceof Error ? error.message : String(error),
42
+ // A viem error's full message carries the request URL, where RPC providers put API keys.
43
+ message: error instanceof BaseError ? error.shortMessage : error instanceof Error ? error.message : String(error),
42
44
  remediation: "Re-run with --json for the full payload, and report this if it persists.",
43
45
  };
44
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,9 @@
13
13
  * already get a key into a printed field can trivially reshape it.
14
14
  *
15
15
  * So the signals used here are the ones that actually discriminate: the field
16
- * name a value arrived under, and the unmistakable shape of a seed phrase.
16
+ * name a value arrived under, and the unmistakable shape of a seed phrase. An
17
+ * `rpcUrl` keeps only its scheme and host, since providers embed API keys in
18
+ * the rest.
17
19
  */
18
20
  export interface RedactOptions {
19
21
  /** Also blank signatures. Optional for run logs; keys are never optional. */
@@ -21,6 +23,11 @@ export interface RedactOptions {
21
23
  /** Internal: the field name the current value was found under. */
22
24
  fieldName?: string | undefined;
23
25
  }
26
+ /**
27
+ * An RPC endpoint as it may be printed: scheme and host. Anything past the
28
+ * host prints as an ellipsis; a bare public endpoint prints unchanged.
29
+ */
30
+ export declare function redactRpcUrl(rpcUrl: string): string;
24
31
  export declare function redactValue(value: unknown, options?: RedactOptions): unknown;
25
32
  export declare function redactText(text: string): string;
26
33
  //# sourceMappingURL=redact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/cli/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqBH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAgBhF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/cli/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqBH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAiBhF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -13,7 +13,9 @@
13
13
  * already get a key into a printed field can trivially reshape it.
14
14
  *
15
15
  * So the signals used here are the ones that actually discriminate: the field
16
- * name a value arrived under, and the unmistakable shape of a seed phrase.
16
+ * name a value arrived under, and the unmistakable shape of a seed phrase. An
17
+ * `rpcUrl` keeps only its scheme and host, since providers embed API keys in
18
+ * the rest.
17
19
  */
18
20
  /** BIP-39 style phrases: twelve or more lowercase words in a row. */
19
21
  const MNEMONIC_PATTERN = /\b(?:[a-z]{3,8}\s+){11,23}[a-z]{3,8}\b/g;
@@ -32,12 +34,28 @@ const KEYLIKE_FIELDS = new Set([
32
34
  "keystore", "keymaterial", "key_material", "daski_payer_private_key",
33
35
  "apikey", "api_key",
34
36
  ]);
37
+ /**
38
+ * An RPC endpoint as it may be printed: scheme and host. Anything past the
39
+ * host prints as an ellipsis; a bare public endpoint prints unchanged.
40
+ */
41
+ export function redactRpcUrl(rpcUrl) {
42
+ try {
43
+ const url = new URL(rpcUrl);
44
+ const bare = url.pathname === "/" && !url.search && !url.hash && !url.username && !url.password;
45
+ return bare ? url.origin : `${url.origin}/…`;
46
+ }
47
+ catch {
48
+ return "[redacted]";
49
+ }
50
+ }
35
51
  export function redactValue(value, options = {}) {
36
52
  const { fieldName } = options;
37
53
  if (fieldName && KEYLIKE_FIELDS.has(fieldName.toLowerCase()))
38
54
  return "[redacted]";
39
55
  if (options.signatures && fieldName?.toLowerCase() === "signature")
40
56
  return "[redacted]";
57
+ if (fieldName?.toLowerCase() === "rpcurl" && typeof value === "string")
58
+ return redactRpcUrl(value);
41
59
  if (typeof value === "string")
42
60
  return value.replace(MNEMONIC_PATTERN, "[redacted]");
43
61
  if (Array.isArray(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/cli/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qEAAqE;AACrE,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY;IAC3E,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU;IACzE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,yBAAyB;IACpE,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAC;AASH,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,UAAyB,EAAE;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,YAAY,CAAC;IAClF,IAAI,OAAO,CAAC,UAAU,IAAI,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW;QAAE,OAAO,YAAY,CAAC;IAExF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACpF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/cli/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,qEAAqE;AACrE,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY;IAC3E,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU;IACzE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,yBAAyB;IACpE,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAC;AASH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChG,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,UAAyB,EAAE;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,YAAY,CAAC;IAClF,IAAI,OAAO,CAAC,UAAU,IAAI,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW;QAAE,OAAO,YAAY,CAAC;IACxF,IAAI,SAAS,EAAE,WAAW,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAEnG,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACpF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../src/commands/buy.ts"],"names":[],"mappings":"AAQA,OAAO,EAA6B,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAgBxF,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,GAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2KxK;AAuHD,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../src/commands/buy.ts"],"names":[],"mappings":"AAQA,OAAO,EAA6B,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiBxF,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,GAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA4KxK;AAsJD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -54,7 +54,7 @@ export async function runBuy(options, contextFactory = createContext) {
54
54
  const approval = nextPurchaseApproval({ gatewayUrl: context.profile.gatewayUrl,
55
55
  payer: context.payerAddress, providerAgentId: options.providerAgentId, outcomeId: options.outcomeId,
56
56
  requirement: challenge.requirement, binding: challenge.binding }, context.profileName);
57
- const outcome = await context.catalog.getOutcome(options.providerAgentId, options.outcomeId);
57
+ const outcome = await outcomeBoundToTerms(context.catalog, options.providerAgentId, options.outcomeId, challenge.challenge.extensions);
58
58
  const summary = approvalSummary(challenge.challenge.extensions, outcome, amountAtomic, preflight);
59
59
  if (preflight?.sufficient === false) {
60
60
  // The gateway already read the payer's balance: a signature now would be
@@ -223,24 +223,51 @@ async function reconcile(context, args) {
223
223
  exitCode: 3,
224
224
  });
225
225
  }
226
+ /**
227
+ * The catalog outcome whose terms the challenge binds. A challenge's
228
+ * `daski-order-terms` carries the commission and only a hash of the terms, so
229
+ * the provider's legal name and the terms links come from the catalog, and are
230
+ * shown only when they hash to what the payment is bound to. A cached copy
231
+ * that differs is read once more before the purchase is refused.
232
+ */
233
+ async function outcomeBoundToTerms(catalog, providerAgentId, outcomeId, extensions) {
234
+ const termsHash = extensions?.["daski-order-terms"]?.termsHash;
235
+ const outcome = await catalog.getOutcome(providerAgentId, outcomeId);
236
+ if (typeof termsHash !== "string" || bindsTerms(outcome.terms, termsHash))
237
+ return outcome;
238
+ const refreshed = await catalog.getOutcome(providerAgentId, outcomeId, { refresh: true });
239
+ if (bindsTerms(refreshed.terms, termsHash))
240
+ return refreshed;
241
+ throw new CliError({
242
+ code: "DASKI_ORDER_TERMS_MISMATCH",
243
+ message: `The terms this challenge binds differ from the terms the catalog lists for ${providerAgentId}/${outcomeId}.`,
244
+ remediation: "Nothing was signed. Re-run the command; if this persists, do not purchase and report it to the gateway operator.",
245
+ details: { termsHash },
246
+ });
247
+ }
248
+ function bindsTerms(terms, termsHash) {
249
+ return terms !== undefined && canonicalHash(terms).toLowerCase() === termsHash.toLowerCase();
250
+ }
226
251
  /**
227
252
  * The human-facing summary. The gateway's prepare tool ships a one-sentence
228
253
  * `approvalSummary` in its preflight; it leads when present, and the rest is
229
254
  * assembled from the order terms and the catalog, so the operator sees who is
230
- * being paid and under whose terms either way.
255
+ * being paid and under whose terms either way. The commission comes from the
256
+ * order terms; the names and links from the catalog terms they bind.
231
257
  */
232
258
  function approvalSummary(extensions, outcome, amountAtomic, preflight) {
233
259
  const supplied = preflight?.approvalSummary ?? extensions?.approvalSummary;
234
260
  if (supplied && typeof supplied === "object")
235
261
  return supplied;
236
- const terms = extensions?.["daski-order-terms"] ?? outcome.terms;
262
+ const order = extensions?.["daski-order-terms"];
263
+ const terms = outcome.terms;
237
264
  return {
238
265
  ...(typeof supplied === "string" ? { gateway: supplied } : {}),
239
266
  what: [outcome.serviceName, outcome.skillName].filter(Boolean).join(" / ") || "Daski outcome",
240
267
  price: formatUsdc(amountAtomic),
241
268
  paysTo: outcome.payTo,
242
269
  provider: terms?.providerLegalName ?? outcome.providerAudience ?? "unknown",
243
- commissionBps: terms?.commissionBps ?? outcome.commissionBps ?? null,
270
+ commissionBps: order?.commissionBps ?? outcome.commissionBps ?? null,
244
271
  providerTerms: terms?.providerTermsUrl ?? null,
245
272
  marketplaceTerms: terms?.marketplaceTermsUrl ?? null,
246
273
  };
@@ -1 +1 @@
1
- {"version":3,"file":"buy.js","sourceRoot":"","sources":["../../src/commands/buy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buy.js","sourceRoot":"","sources":["../../src/commands/buy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,aAAa,EAA4C,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYjD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,iBAAuE,aAAa;IACpI,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;YACxF,MAAM,IAAI,QAAQ,CAAC;gBACjB,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EACL,WAAW,OAAO,CAAC,KAAK,8CAA8C;oBACtE,IAAI,OAAO,CAAC,YAAY,IAAI;gBAC9B,WAAW,EACT,uEAAuE;oBACvE,4BAA4B;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,0BAA0B,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YACxE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;SACvC,CAAC,CAAC;QAEH,yEAAyE;QACzE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,WAAW,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG;YAC7F,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,oBAAoB,KAAK,WAAW,EAAE,CAAC;YACjF,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,gCAAgC;gBACzD,OAAO,EAAE,sDAAsD;gBAC/D,WAAW,EAAE,iEAAiE,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YAC5E,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;YACnG,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,EACnG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAClG,IAAI,SAAS,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;YACpC,yEAAyE;YACzE,uEAAuE;YACvE,8BAA8B;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ;gBACvD,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC,CAAC,yBAAyB,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EACL,GAAG,OAAO,CAAC,YAAY,UAAU,OAAO,OAAO,OAAO,kBAAkB;oBACxE,SAAS,UAAU,CAAC,YAAY,CAAC,GAAG;gBACtC,WAAW,EACT,QAAQ,OAAO,CAAC,YAAY,iBAAiB,OAAO,oCAAoC;gBAC1F,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO;oBAC3F,aAAa,EAAE,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ;wBACtD,CAAC,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3H,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,yEAAyE;QACzE,MAAM,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1D,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtF,yEAAyE;QACzE,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnE,mEAAmE;QACnE,YAAY,CAAC;YACX,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,YAAY;YAC3B,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;YAC/B,iBAAiB,EAAE,QAAQ,CAAC,SAAS;YACrC,KAAK,EAAE,iBAAiB;YACxB,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS;YACT,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,mBAAmB,EAAE,YAAY;YACjC,QAAQ;SACT,CAAC,CAAC;QACH,WAAW,CAAC,QAAQ,EAAE;YACpB,KAAK,EAAE,YAAY;YACnB,kBAAkB,EAAE,UAAU,CAAC,KAAK;SACrC,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,aAAa,CAAC;gBAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO;gBACP,UAAU,EAAE,UAAU,CAAC,UAAU;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wEAAwE;YACxE,mDAAmD;YACnD,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC9B,QAAQ;gBACR,KAAK,EAAE,mCAAoC,KAAe,CAAC,OAAO,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,IAAI,MAAM,CAAC,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC9B,QAAQ;gBACR,KAAK,EAAE,oBAAoB,IAAI,IAAI,UAAU,mCAAmC;aACjF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,mEAAmE;YACnE,wEAAwE;YACxE,sEAAsE;YACtE,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC9B,QAAQ;gBACR,KAAK,EAAE,wDAAwD;aAChE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpE,8DAA8D;YAC9D,iEAAiE;YACjE,qEAAqE;YACrE,qEAAqE;YACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,qBAAqB,KAAK,KAAK,CAAC;YACxE,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;YACrF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACnE,MAAM,eAAe,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO;YACL,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,QAAQ,EAAE,OAAO,CAAC,eAAe;YACjC,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC;YAC/B,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,OAAO,CAAC,YAAY;YAC3B,kBAAkB,EAAE,UAAU,CAAC,KAAK;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC7B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;SACvC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,OAAkD,EAClD,IAGC;IAED,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,4BAA4B,IAAI,CAAC,KAAK,sCAAsC,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,OAAO,CAAC,YAAY;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;KACvC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzC,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC;SAClE,CAAC,CAAC;QACH,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,SAAS;YAClC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,cAAc,EAAE,OAAO,CAAC,QAAQ;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;SACvC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,sCAAsC;YAC/D,OAAO,EAAE,8CAA8C;YACvD,WAAW,EAAE,0CAA0C,IAAI,CAAC,QAAQ,GAAG;YACvE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,QAAQ,CAAC;QACjB,IAAI,EAAE,mCAAmC;QACzC,OAAO,EACL,iCAAiC,IAAI,CAAC,KAAK,gCAAgC;YAC3E,GAAG,OAAO,CAAC,QAAQ,GAAG;QACxB,WAAW,EACT,4EAA4E;YAC5E,gDAAgD,IAAI,CAAC,QAAQ,GAAG;QAClE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE;QACtE,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAChC,OAAgB,EAAE,eAAuB,EAAE,SAAiB,EAC5D,UAA+C;IAE/C,MAAM,SAAS,GAAI,UAAU,EAAE,CAAC,mBAAmB,CAAyC,EAAE,SAAS,CAAC;IACxG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1F,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,IAAI,QAAQ,CAAC;QACjB,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,8EAA8E,eAAe,IAAI,SAAS,GAAG;QACtH,WAAW,EACT,kHAAkH;QACpH,OAAO,EAAE,EAAE,SAAS,EAAE;KACvB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAA0C,EAAE,SAAiB;IAC/E,OAAO,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,UAA+C,EAC/C,OAE+C,EAC/C,YAAoB,EACpB,SAA+C;IAE/C,MAAM,QAAQ,GAAG,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,eAAe,CAAC;IAC3E,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAmC,CAAC;IACzF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,mBAAmB,CAAwC,CAAC;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,OAAO;QACL,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe;QAC7F,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC;QAC/B,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,QAAQ,EAAE,KAAK,EAAE,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,IAAI,SAAS;QAC3E,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI;QACpE,aAAa,EAAE,KAAK,EAAE,gBAAgB,IAAI,IAAI;QAC9C,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,IAAI,IAAI;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC;YACjB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,mCAAmC,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE;YAC/E,WAAW,EAAE,kFAAkF;SAChG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC;YACjB,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,GAAG,IAAI,uBAAwB,KAAe,CAAC,OAAO,EAAE;YACjE,WAAW,EAAE,mDAAmD;SACjE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,QAAQ,CAAC;YACjB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,GAAG,IAAI,8BAA8B;YAC9C,WAAW,EAAE,4DAA4D;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../../src/commands/confirmation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../../src/commands/confirmation.ts"],"names":[],"mappings":"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"}