cards402 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,22 @@ npm install cards402
12
12
 
13
13
  Requires Node.js 18 or newer (the SDK uses native `fetch`, `ReadableStream`, and `WebCrypto`). Supported platforms via the bundled `@ctx.com/stellar-ows-core` native wallet bindings: macOS (arm64 + x64), Linux (arm64 + x64). Windows is not currently supported.
14
14
 
15
+ ### A note on `npm audit`
16
+
17
+ You'll see 3 critical advisories on `axios <= 1.14.0` after installing. They come from `@stellar/stellar-sdk`, which hard-pins an older axios version that we can't override from inside this package. The SDK's own HTTP calls only talk to hardcoded Stellar RPC / Horizon endpoints, so neither advisory (NO_PROXY SSRF, header-injection metadata exfil) is reachable through cards402 code — it's noise for our use, but noise you should still silence at your own project root.
18
+
19
+ Fix in your own `package.json`:
20
+
21
+ ```json
22
+ {
23
+ "overrides": {
24
+ "axios": "^1.15.0"
25
+ }
26
+ }
27
+ ```
28
+
29
+ then `rm -rf node_modules package-lock.json && npm install`. `npm audit` returns clean. Upstream fix tracked at [stellar/js-stellar-sdk#1381](https://github.com/stellar/js-stellar-sdk/pull/1381); this note will be removed as soon as it merges and a new stellar-sdk ships.
30
+
15
31
  ## Quick start
16
32
 
17
33
  ```typescript
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Cards402Error, SpendLimitError, RateLimitError, ServiceUnavailableError, PriceUnavailableError, InvalidAmountError, AuthError, OrderFailedError, WaitTimeoutError, } from './errors';
1
+ export { Cards402Error, SpendLimitError, RateLimitError, ServiceUnavailableError, PriceUnavailableError, InvalidAmountError, AuthError, OrderFailedError, WaitTimeoutError, ResumableError, } from './errors';
2
2
  export interface Budget {
3
3
  spent_usdc: string;
4
4
  limit_usdc: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Cards402Client = exports.WaitTimeoutError = exports.OrderFailedError = exports.AuthError = exports.InvalidAmountError = exports.PriceUnavailableError = exports.ServiceUnavailableError = exports.RateLimitError = exports.SpendLimitError = exports.Cards402Error = void 0;
3
+ exports.Cards402Client = exports.ResumableError = exports.WaitTimeoutError = exports.OrderFailedError = exports.AuthError = exports.InvalidAmountError = exports.PriceUnavailableError = exports.ServiceUnavailableError = exports.RateLimitError = exports.SpendLimitError = exports.Cards402Error = void 0;
4
4
  var errors_1 = require("./errors");
5
5
  Object.defineProperty(exports, "Cards402Error", { enumerable: true, get: function () { return errors_1.Cards402Error; } });
6
6
  Object.defineProperty(exports, "SpendLimitError", { enumerable: true, get: function () { return errors_1.SpendLimitError; } });
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "InvalidAmountError", { enumerable: true, get: fu
11
11
  Object.defineProperty(exports, "AuthError", { enumerable: true, get: function () { return errors_1.AuthError; } });
12
12
  Object.defineProperty(exports, "OrderFailedError", { enumerable: true, get: function () { return errors_1.OrderFailedError; } });
13
13
  Object.defineProperty(exports, "WaitTimeoutError", { enumerable: true, get: function () { return errors_1.WaitTimeoutError; } });
14
+ Object.defineProperty(exports, "ResumableError", { enumerable: true, get: function () { return errors_1.ResumableError; } });
14
15
  const errors_2 = require("./errors");
15
16
  class Cards402Client {
16
17
  baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"purchase.d.ts","sourceRoot":"","sources":["../../src/commands/purchase.ts"],"names":[],"mappings":"AA2DA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4DrE"}
1
+ {"version":3,"file":"purchase.d.ts","sourceRoot":"","sources":["../../src/commands/purchase.ts"],"names":[],"mappings":"AAuHA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+ErE"}
@@ -8,10 +8,51 @@
8
8
  // Designed so the cautious-agent flow is a single shell invocation:
9
9
  // the agent doesn't have to write any JavaScript or guess at the
10
10
  // SDK surface area.
11
+ //
12
+ // Resume: if a purchase fails mid-flight (Soroban RPC timeout, network
13
+ // blip, etc.), the order id is saved to ~/.cards402/last-order and the
14
+ // user can retry with `cards402 purchase --resume <order-id>`.
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
11
48
  Object.defineProperty(exports, "__esModule", { value: true });
12
49
  exports.purchaseCommand = purchaseCommand;
50
+ const fs = __importStar(require("fs"));
51
+ const os = __importStar(require("os"));
52
+ const path = __importStar(require("path"));
13
53
  const config_1 = require("../config");
14
54
  const ows_1 = require("../ows");
55
+ const errors_1 = require("../errors");
15
56
  function parseArgs(argv) {
16
57
  const out = {};
17
58
  for (let i = 0; i < argv.length; i++) {
@@ -38,39 +79,87 @@ function parseArgs(argv) {
38
79
  out.walletName = argv[++i];
39
80
  else if (arg.startsWith('--wallet-name='))
40
81
  out.walletName = arg.slice('--wallet-name='.length);
82
+ else if (arg === '--resume')
83
+ out.resume = argv[++i];
84
+ else if (arg.startsWith('--resume='))
85
+ out.resume = arg.slice('--resume='.length);
41
86
  }
42
87
  return out;
43
88
  }
44
89
  function usage() {
45
90
  process.stderr.write(`Usage: cards402 purchase --amount <USDC> [--asset xlm|usdc]
91
+ cards402 purchase --resume <order-id>
46
92
 
47
93
  Buys a virtual Visa card for the given USD value using the credentials
48
94
  and wallet set up by 'cards402 onboard'. Reads ~/.cards402/config.json
49
95
  for the api key and wallet name, so you don't need to pass either.
50
96
 
51
97
  Options:
52
- -a, --amount <USDC> Card value in USD (decimal string). Required.
98
+ -a, --amount <USDC> Card value in USD (decimal string). Required for new purchases.
53
99
  --asset xlm|usdc Which asset to pay with. Default: xlm
54
100
  --wallet-name <name> Override the wallet name from config.json
101
+ --resume <order-id> Resume a purchase that failed mid-flight. Omit --amount.
55
102
  -h, --help Show this message
56
103
 
57
- Example:
58
- cards402 purchase --amount 10 # $10 card paid in XLM
104
+ Examples:
105
+ cards402 purchase --amount 10 # $10 card paid in XLM
59
106
  cards402 purchase --amount 5 --asset usdc
107
+ cards402 purchase --resume a94d18cc-... # pick up an interrupted purchase
60
108
  `);
61
109
  }
110
+ function lastOrderFile() {
111
+ const dir = process.env.CARDS402_CONFIG_DIR || path.join(os.homedir(), '.cards402');
112
+ return path.join(dir, 'last-order');
113
+ }
114
+ function saveLastOrder(orderId) {
115
+ try {
116
+ const p = lastOrderFile();
117
+ fs.mkdirSync(path.dirname(p), { recursive: true, mode: 0o700 });
118
+ fs.writeFileSync(p, orderId + '\n', { mode: 0o600 });
119
+ }
120
+ catch {
121
+ /* non-fatal */
122
+ }
123
+ }
124
+ function clearLastOrder() {
125
+ try {
126
+ fs.unlinkSync(lastOrderFile());
127
+ }
128
+ catch {
129
+ /* non-fatal */
130
+ }
131
+ }
132
+ function printCard(card) {
133
+ process.stdout.write('\n');
134
+ process.stdout.write('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
135
+ process.stdout.write(' Card delivered\n');
136
+ process.stdout.write('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
137
+ process.stdout.write(` Number: ${card.number}\n`);
138
+ process.stdout.write(` CVV: ${card.cvv}\n`);
139
+ process.stdout.write(` Expiry: ${card.expiry}\n`);
140
+ if (card.brand)
141
+ process.stdout.write(` Brand: ${card.brand}\n`);
142
+ process.stdout.write(` Order: ${card.order_id}\n`);
143
+ process.stdout.write('\n');
144
+ process.stdout.write('The card details above are sensitive — save them to a secrets store immediately and do not log them.\n');
145
+ }
62
146
  async function purchaseCommand(argv) {
63
147
  const args = parseArgs(argv);
64
148
  if (args.help) {
65
149
  usage();
66
150
  return 0;
67
151
  }
68
- if (!args.amount) {
69
- process.stderr.write('error: --amount <USDC> is required\n\n');
152
+ // --resume and --amount are mutually exclusive; --resume doesn't need --amount.
153
+ if (args.resume && args.amount) {
154
+ process.stderr.write('error: --resume and --amount cannot be used together\n');
155
+ return 2;
156
+ }
157
+ if (!args.resume && !args.amount) {
158
+ process.stderr.write('error: --amount <USDC> is required (or --resume <order-id>)\n\n');
70
159
  usage();
71
160
  return 2;
72
161
  }
73
- if (!/^\d+(\.\d+)?$/.test(args.amount) || parseFloat(args.amount) <= 0) {
162
+ if (args.amount && (!/^\d+(\.\d+)?$/.test(args.amount) || parseFloat(args.amount) <= 0)) {
74
163
  process.stderr.write(`error: --amount must be a positive decimal (got: ${args.amount})\n`);
75
164
  return 2;
76
165
  }
@@ -85,30 +174,41 @@ Your operator can mint a claim code from https://cards402.com/dashboard.
85
174
  }
86
175
  const walletName = args.walletName || config.wallet_name || 'cards402-agent';
87
176
  const paymentAsset = args.asset ?? 'xlm';
88
- process.stdout.write(`→ Purchasing $${args.amount} card via ${paymentAsset.toUpperCase()}…\n`);
177
+ if (args.resume) {
178
+ process.stdout.write(`→ Resuming order ${args.resume}…\n`);
179
+ }
180
+ else {
181
+ process.stdout.write(`→ Purchasing $${args.amount} card via ${paymentAsset.toUpperCase()}…\n`);
182
+ }
89
183
  try {
90
184
  const card = await (0, ows_1.purchaseCardOWS)({
91
185
  apiKey: config.api_key,
92
186
  baseUrl: config.api_url,
93
187
  walletName,
94
- amountUsdc: args.amount,
188
+ // amount is unused on resume but the type requires it; pass '0' safely.
189
+ amountUsdc: args.amount ?? '0',
95
190
  paymentAsset,
191
+ ...(args.resume ? { resume: args.resume } : {}),
96
192
  });
97
- process.stdout.write('\n');
98
- process.stdout.write('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
99
- process.stdout.write(' Card delivered\n');
100
- process.stdout.write('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
101
- process.stdout.write(` Number: ${card.number}\n`);
102
- process.stdout.write(` CVV: ${card.cvv}\n`);
103
- process.stdout.write(` Expiry: ${card.expiry}\n`);
104
- if (card.brand)
105
- process.stdout.write(` Brand: ${card.brand}\n`);
106
- process.stdout.write(` Order: ${card.order_id}\n`);
107
- process.stdout.write('\n');
108
- process.stdout.write('The card details above are sensitive — save them to a secrets store immediately and do not log them.\n');
193
+ clearLastOrder();
194
+ printCard(card);
109
195
  return 0;
110
196
  }
111
197
  catch (err) {
198
+ if (err instanceof errors_1.OrderFailedError) {
199
+ process.stderr.write(`\nerror: ${err.message}\n`);
200
+ clearLastOrder();
201
+ return 1;
202
+ }
203
+ if (err instanceof errors_1.ResumableError) {
204
+ saveLastOrder(err.orderId);
205
+ process.stderr.write(`\nerror: ${err.message}\n`);
206
+ process.stderr.write(`\nYour payment may still be processing on-chain. The cards402 backend will\n` +
207
+ `credit the order if the transaction finalizes. Resume with:\n\n` +
208
+ ` cards402 purchase --resume ${err.orderId}\n\n` +
209
+ `(saved to ~/.cards402/last-order)\n`);
210
+ return 1;
211
+ }
112
212
  const msg = err instanceof Error ? err.message : String(err);
113
213
  process.stderr.write(`error: purchase failed: ${msg}\n`);
114
214
  return 1;
@@ -1 +1 @@
1
- {"version":3,"file":"purchase.js","sourceRoot":"","sources":["../../src/commands/purchase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purchase.js","sourceRoot":"","sources":["../../src/commands/purchase.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -53,6 +53,28 @@ export declare class OrderFailedError extends Cards402Error {
53
53
  stellar_txid: string;
54
54
  } | undefined);
55
55
  }
56
+ /**
57
+ * Thrown by purchaseCardOWS when the order was created (and possibly paid)
58
+ * but the flow couldn't finish — e.g. Soroban RPC finalization timed out,
59
+ * or waitForCard hit its deadline. Always carries the orderId so the caller
60
+ * can resume via `cards402 purchase --resume <order-id>` without minting a
61
+ * new order (which would strand the original one until it expires).
62
+ *
63
+ * `txHash` is present when the payment was submitted onto the ledger (even
64
+ * if finalization wasn't confirmed client-side) — the backend watcher can
65
+ * still credit the order after the fact.
66
+ *
67
+ * `phase: 'paid'` means payViaContractOWS returned successfully, so resume
68
+ * should skip straight to waitForCard. `phase: 'unpaid'` means the payment
69
+ * never went out and resume may need to retry the Soroban submit.
70
+ */
71
+ export declare class ResumableError extends Cards402Error {
72
+ readonly orderId: string;
73
+ readonly phase: 'unpaid' | 'paid';
74
+ readonly txHash?: string | undefined;
75
+ readonly cause?: unknown | undefined;
76
+ constructor(orderId: string, reason: string, phase: 'unpaid' | 'paid', txHash?: string | undefined, cause?: unknown | undefined);
77
+ }
56
78
  /** Waiting for a card timed out — order may still be processing. */
57
79
  export declare class WaitTimeoutError extends Cards402Error {
58
80
  readonly orderId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oDAAoD;AACpD,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;aACd,GAAG,CAAC,EAAE,OAAO;gBAH7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,OAAO,YAAA;CAMhC;AAED,kDAAkD;AAClD,qBAAa,eAAgB,SAAQ,aAAa;aAE9B,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,MAAM;gBADb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;CAUhC;AAED,+DAA+D;AAC/D,qBAAa,cAAe,SAAQ,aAAa;;CAUhD;AAED,8EAA8E;AAC9E,qBAAa,uBAAwB,SAAQ,aAAa;gBAC5C,OAAO,SAAuE;CAK3F;AAED,yDAAyD;AACzD,qBAAa,qBAAsB,SAAQ,aAAa;gBAEpD,OAAO,SAAuF;CAMjG;AAED,qDAAqD;AACrD,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,SAA0E;CAK9F;AAED,yCAAyC;AACzC,qBAAa,SAAU,SAAQ,aAAa;;CAU3C;AAED,oEAAoE;AACpE,qBAAa,gBAAiB,SAAQ,aAAa;aAE/B,OAAO,EAAE,MAAM;aAEf,MAAM,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE;gBAFjC,OAAO,EAAE,MAAM,EAC/B,MAAM,EAAE,MAAM,EACE,MAAM,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,YAAA;CAapD;AAED,oEAAoE;AACpE,qBAAa,gBAAiB,SAAQ,aAAa;aAE/B,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM,EAC/B,SAAS,EAAE,MAAM;CAWpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAsB1F"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oDAAoD;AACpD,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;aACd,GAAG,CAAC,EAAE,OAAO;gBAH7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,OAAO,YAAA;CAMhC;AAED,kDAAkD;AAClD,qBAAa,eAAgB,SAAQ,aAAa;aAE9B,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,MAAM;gBADb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;CAUhC;AAED,+DAA+D;AAC/D,qBAAa,cAAe,SAAQ,aAAa;;CAUhD;AAED,8EAA8E;AAC9E,qBAAa,uBAAwB,SAAQ,aAAa;gBAC5C,OAAO,SAAuE;CAK3F;AAED,yDAAyD;AACzD,qBAAa,qBAAsB,SAAQ,aAAa;gBAEpD,OAAO,SAAuF;CAMjG;AAED,qDAAqD;AACrD,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,SAA0E;CAK9F;AAED,yCAAyC;AACzC,qBAAa,SAAU,SAAQ,aAAa;;CAU3C;AAED,oEAAoE;AACpE,qBAAa,gBAAiB,SAAQ,aAAa;aAE/B,OAAO,EAAE,MAAM;aAEf,MAAM,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE;gBAFjC,OAAO,EAAE,MAAM,EAC/B,MAAM,EAAE,MAAM,EACE,MAAM,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,YAAA;CAapD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,aAAa;aAE7B,OAAO,EAAE,MAAM;aAEf,KAAK,EAAE,QAAQ,GAAG,MAAM;aACxB,MAAM,CAAC,EAAE,MAAM;aACf,KAAK,CAAC,EAAE,OAAO;gBAJf,OAAO,EAAE,MAAM,EAC/B,MAAM,EAAE,MAAM,EACE,KAAK,EAAE,QAAQ,GAAG,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,KAAK,CAAC,EAAE,OAAO,YAAA;CAalC;AAED,oEAAoE;AACpE,qBAAa,gBAAiB,SAAQ,aAAa;aAE/B,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM,EAC/B,SAAS,EAAE,MAAM;CAWpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAsB1F"}
package/dist/errors.js CHANGED
@@ -12,7 +12,7 @@
12
12
  * }
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.WaitTimeoutError = exports.OrderFailedError = exports.AuthError = exports.InvalidAmountError = exports.PriceUnavailableError = exports.ServiceUnavailableError = exports.RateLimitError = exports.SpendLimitError = exports.Cards402Error = void 0;
15
+ exports.WaitTimeoutError = exports.ResumableError = exports.OrderFailedError = exports.AuthError = exports.InvalidAmountError = exports.PriceUnavailableError = exports.ServiceUnavailableError = exports.RateLimitError = exports.SpendLimitError = exports.Cards402Error = void 0;
16
16
  exports.parseApiError = parseApiError;
17
17
  /** Base class — all cards402 errors extend this. */
18
18
  class Cards402Error extends Error {
@@ -107,6 +107,39 @@ class OrderFailedError extends Cards402Error {
107
107
  }
108
108
  }
109
109
  exports.OrderFailedError = OrderFailedError;
110
+ /**
111
+ * Thrown by purchaseCardOWS when the order was created (and possibly paid)
112
+ * but the flow couldn't finish — e.g. Soroban RPC finalization timed out,
113
+ * or waitForCard hit its deadline. Always carries the orderId so the caller
114
+ * can resume via `cards402 purchase --resume <order-id>` without minting a
115
+ * new order (which would strand the original one until it expires).
116
+ *
117
+ * `txHash` is present when the payment was submitted onto the ledger (even
118
+ * if finalization wasn't confirmed client-side) — the backend watcher can
119
+ * still credit the order after the fact.
120
+ *
121
+ * `phase: 'paid'` means payViaContractOWS returned successfully, so resume
122
+ * should skip straight to waitForCard. `phase: 'unpaid'` means the payment
123
+ * never went out and resume may need to retry the Soroban submit.
124
+ */
125
+ class ResumableError extends Cards402Error {
126
+ orderId;
127
+ phase;
128
+ txHash;
129
+ cause;
130
+ constructor(orderId, reason, phase, txHash, cause) {
131
+ const hashNote = txHash ? ` (tx: ${txHash})` : '';
132
+ super(`Purchase could not finish for order ${orderId}: ${reason}${hashNote}. ` +
133
+ `Resume with: cards402 purchase --resume ${orderId}`, 'resumable', 0, { orderId, reason, phase, txHash });
134
+ this.orderId = orderId;
135
+ this.phase = phase;
136
+ this.txHash = txHash;
137
+ this.cause = cause;
138
+ this.name = 'ResumableError';
139
+ Object.setPrototypeOf(this, new.target.prototype);
140
+ }
141
+ }
142
+ exports.ResumableError = ResumableError;
110
143
  /** Waiting for a card timed out — order may still be processing. */
111
144
  class WaitTimeoutError extends Cards402Error {
112
145
  orderId;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { createWallet, getBalance, addUsdcTrustline, payViaContract, purchaseCar
4
4
  export type { WalletInfo, PayOpts } from './stellar';
5
5
  export { createOWSWallet, importStellarKey, getOWSPublicKey, getOWSBalance, addUsdcTrustlineOWS, payViaContractOWS, purchaseCardOWS, onboardAgent, payVCCOWS, } from './ows';
6
6
  export type { TrustlineOpts, PayViaContractOwsOpts, PayVCCOwsOpts, PurchaseCardOwsOpts, OnboardAgentOpts, OnboardAgentResult, } from './ows';
7
- export { Cards402Error, SpendLimitError, RateLimitError, ServiceUnavailableError, PriceUnavailableError, InvalidAmountError, AuthError, OrderFailedError, WaitTimeoutError, } from './errors';
7
+ export { Cards402Error, SpendLimitError, RateLimitError, ServiceUnavailableError, PriceUnavailableError, InvalidAmountError, AuthError, OrderFailedError, WaitTimeoutError, ResumableError, } from './errors';
8
8
  export { loadCards402Config, saveCards402Config, resolveCredentials } from './config';
9
9
  export type { Cards402Config } from './config';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EAEZ,MAAM,GACP,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,YAAY,EAEZ,SAAS,GACV,MAAM,OAAO,CAAC;AACf,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtF,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EAEZ,MAAM,GACP,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,YAAY,EAEZ,SAAS,GACV,MAAM,OAAO,CAAC;AACf,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtF,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveCredentials = exports.saveCards402Config = exports.loadCards402Config = exports.WaitTimeoutError = exports.OrderFailedError = exports.AuthError = exports.InvalidAmountError = exports.PriceUnavailableError = exports.ServiceUnavailableError = exports.RateLimitError = exports.SpendLimitError = exports.Cards402Error = exports.payVCCOWS = exports.onboardAgent = exports.purchaseCardOWS = exports.payViaContractOWS = exports.addUsdcTrustlineOWS = exports.getOWSBalance = exports.getOWSPublicKey = exports.importStellarKey = exports.createOWSWallet = exports.payVCC = exports.purchaseCard = exports.payViaContract = exports.addUsdcTrustline = exports.getBalance = exports.createWallet = exports.Cards402Client = void 0;
3
+ exports.resolveCredentials = exports.saveCards402Config = exports.loadCards402Config = exports.ResumableError = exports.WaitTimeoutError = exports.OrderFailedError = exports.AuthError = exports.InvalidAmountError = exports.PriceUnavailableError = exports.ServiceUnavailableError = exports.RateLimitError = exports.SpendLimitError = exports.Cards402Error = exports.payVCCOWS = exports.onboardAgent = exports.purchaseCardOWS = exports.payViaContractOWS = exports.addUsdcTrustlineOWS = exports.getOWSBalance = exports.getOWSPublicKey = exports.importStellarKey = exports.createOWSWallet = exports.payVCC = exports.purchaseCard = exports.payViaContract = exports.addUsdcTrustline = exports.getBalance = exports.createWallet = exports.Cards402Client = void 0;
4
4
  var client_1 = require("./client");
5
5
  Object.defineProperty(exports, "Cards402Client", { enumerable: true, get: function () { return client_1.Cards402Client; } });
6
6
  var stellar_1 = require("./stellar");
@@ -32,6 +32,7 @@ Object.defineProperty(exports, "InvalidAmountError", { enumerable: true, get: fu
32
32
  Object.defineProperty(exports, "AuthError", { enumerable: true, get: function () { return errors_1.AuthError; } });
33
33
  Object.defineProperty(exports, "OrderFailedError", { enumerable: true, get: function () { return errors_1.OrderFailedError; } });
34
34
  Object.defineProperty(exports, "WaitTimeoutError", { enumerable: true, get: function () { return errors_1.WaitTimeoutError; } });
35
+ Object.defineProperty(exports, "ResumableError", { enumerable: true, get: function () { return errors_1.ResumableError; } });
35
36
  var config_1 = require("./config");
36
37
  Object.defineProperty(exports, "loadCards402Config", { enumerable: true, get: function () { return config_1.loadCards402Config; } });
37
38
  Object.defineProperty(exports, "saveCards402Config", { enumerable: true, get: function () { return config_1.saveCards402Config; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAavB,qCAQmB;AAPjB,uGAAA,YAAY,OAAA;AACZ,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,wCAAwC;AACxC,iGAAA,MAAM,OAAA;AAIR,6BAWe;AAVb,sGAAA,eAAe,OAAA;AACf,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AACb,0GAAA,mBAAmB,OAAA;AACnB,wGAAA,iBAAiB,OAAA;AACjB,sGAAA,eAAe,OAAA;AACf,mGAAA,YAAY,OAAA;AACZ,qBAAqB;AACrB,gGAAA,SAAS,OAAA;AAWX,mCAUkB;AAThB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,iHAAA,uBAAuB,OAAA;AACvB,+GAAA,qBAAqB,OAAA;AACrB,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAGlB,mCAAsF;AAA7E,4GAAA,kBAAkB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,4GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAavB,qCAQmB;AAPjB,uGAAA,YAAY,OAAA;AACZ,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,wCAAwC;AACxC,iGAAA,MAAM,OAAA;AAIR,6BAWe;AAVb,sGAAA,eAAe,OAAA;AACf,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AACb,0GAAA,mBAAmB,OAAA;AACnB,wGAAA,iBAAiB,OAAA;AACjB,sGAAA,eAAe,OAAA;AACf,mGAAA,YAAY,OAAA;AACZ,qBAAqB;AACrB,gGAAA,SAAS,OAAA;AAWX,mCAWkB;AAVhB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,iHAAA,uBAAuB,OAAA;AACvB,+GAAA,qBAAqB,OAAA;AACrB,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,wGAAA,cAAc,OAAA;AAGhB,mCAAsF;AAA7E,4GAAA,kBAAkB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,4GAAA,kBAAkB,OAAA"}
package/dist/ows.d.ts CHANGED
@@ -98,10 +98,14 @@ export interface PurchaseCardOwsOpts {
98
98
  vaultPath?: string;
99
99
  baseUrl?: string;
100
100
  networkPassphrase?: string;
101
- /** Resume an existing order instead of creating a new one (idempotent retry — S-9). */
102
- resume?: {
101
+ /**
102
+ * Resume an existing order instead of creating a new one. Accepts either
103
+ * a bare order id string (wait for the backend to finish an in-flight
104
+ * payment) or an object with a fresh PaymentInstructions (resubmit).
105
+ */
106
+ resume?: string | {
103
107
  orderId: string;
104
- payment: PaymentInstructions;
108
+ payment?: PaymentInstructions;
105
109
  };
106
110
  /** Tune the card-ready poll. Default: { timeoutMs: 300_000, intervalMs: 3_000 }. */
107
111
  waitForCardOpts?: {
@@ -110,10 +114,15 @@ export interface PurchaseCardOwsOpts {
110
114
  };
111
115
  }
112
116
  /**
113
- * Full purchase flow using an OWS wallet: create order → pay VCC on Stellar → wait for card.
117
+ * Full purchase flow using an OWS wallet: create order → pay the receiver
118
+ * contract on Stellar → wait for card. Any failure after the order exists
119
+ * is wrapped as a ResumableError so the caller can retry via `--resume`
120
+ * without minting a new order.
114
121
  *
115
- * S-9 idempotency: pass `resume: { orderId, payment }` to skip re-creation on retry.
116
- * Payment is only sent if the order phase is still 'awaiting_payment'.
122
+ * Soroban RPC backpressure is tolerated: if submitSorobanTx throws with a
123
+ * txHash attached (deadline reached but tx may still land), we proceed to
124
+ * waitForCard — the cards402 backend watcher is the source of truth and
125
+ * will credit the order when the tx finalizes.
117
126
  */
118
127
  export declare function purchaseCardOWS(opts: PurchaseCardOwsOpts): Promise<CardDetails & {
119
128
  order_id: string;
package/dist/ows.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ows.d.ts","sourceRoot":"","sources":["../src/ows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ows.d.ts","sourceRoot":"","sources":["../src/ows.ts"],"names":[],"mappings":"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"}
package/dist/ows.js CHANGED
@@ -54,6 +54,7 @@ exports.payViaContractOWS = payViaContractOWS;
54
54
  exports.purchaseCardOWS = purchaseCardOWS;
55
55
  const stellar_ows_core_1 = require("@ctx.com/stellar-ows-core");
56
56
  const stellar_sdk_1 = require("@stellar/stellar-sdk");
57
+ const errors_1 = require("./errors");
57
58
  const soroban_1 = require("./soroban");
58
59
  const USDC_ISSUER = 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN';
59
60
  const HORIZON_URL = 'https://horizon.stellar.org';
@@ -230,10 +231,15 @@ async function payViaContractOWS(opts) {
230
231
  /** @deprecated Use `payViaContractOWS` — the old direct-Stellar path no longer matches the backend. */
231
232
  exports.payVCCOWS = payViaContractOWS;
232
233
  /**
233
- * Full purchase flow using an OWS wallet: create order → pay VCC on Stellar → wait for card.
234
+ * Full purchase flow using an OWS wallet: create order → pay the receiver
235
+ * contract on Stellar → wait for card. Any failure after the order exists
236
+ * is wrapped as a ResumableError so the caller can retry via `--resume`
237
+ * without minting a new order.
234
238
  *
235
- * S-9 idempotency: pass `resume: { orderId, payment }` to skip re-creation on retry.
236
- * Payment is only sent if the order phase is still 'awaiting_payment'.
239
+ * Soroban RPC backpressure is tolerated: if submitSorobanTx throws with a
240
+ * txHash attached (deadline reached but tx may still land), we proceed to
241
+ * waitForCard — the cards402 backend watcher is the source of truth and
242
+ * will credit the order when the tx finalizes.
237
243
  */
238
244
  async function purchaseCardOWS(opts) {
239
245
  const { Cards402Client } = await Promise.resolve().then(() => __importStar(require('./client')));
@@ -241,14 +247,35 @@ async function purchaseCardOWS(opts) {
241
247
  const paymentAsset = opts.paymentAsset ?? 'usdc';
242
248
  let orderId;
243
249
  let payment;
250
+ let skipPayment = false;
244
251
  if (opts.resume) {
245
- orderId = opts.resume.orderId;
246
- payment = opts.resume.payment;
247
- // Skip payment if already received (idempotency — S-9)
252
+ if (typeof opts.resume === 'string') {
253
+ orderId = opts.resume;
254
+ }
255
+ else {
256
+ orderId = opts.resume.orderId;
257
+ payment = opts.resume.payment;
258
+ }
259
+ // Check where the order is — if the payment already landed (or is
260
+ // landing), we can skip straight to waitForCard.
248
261
  const status = await client.getOrder(orderId);
249
- if (status.phase !== 'awaiting_payment') {
250
- const card = await client.waitForCard(orderId, opts.waitForCardOpts);
251
- return { ...card, order_id: orderId };
262
+ if (status.phase === 'ready' && status.card) {
263
+ return { ...status.card, order_id: orderId };
264
+ }
265
+ if (status.phase === 'failed' ||
266
+ status.phase === 'refunded' ||
267
+ status.phase === 'rejected' ||
268
+ status.phase === 'expired') {
269
+ throw new errors_1.OrderFailedError(orderId, status.error ?? status.phase, status.refund);
270
+ }
271
+ // awaiting_payment — a previous submit may still be in flight. If the
272
+ // caller didn't hand us a fresh PaymentInstructions, just wait; the
273
+ // backend will pick the tx up when it finalizes, or the order will
274
+ // expire cleanly. Resubmitting without the original payment object
275
+ // risks double-paying if the original lands after all.
276
+ // processing / awaiting_approval — backend is working, just wait.
277
+ if (status.phase !== 'awaiting_payment' || !payment) {
278
+ skipPayment = true;
252
279
  }
253
280
  }
254
281
  else {
@@ -256,45 +283,77 @@ async function purchaseCardOWS(opts) {
256
283
  orderId = order.order_id;
257
284
  payment = order.payment;
258
285
  }
259
- // USDC payments need a trustline on the wallet's Stellar account. If the
260
- // agent is paying in USDC and never added one, add it now so the
261
- // purchase doesn't silently fail on the payment step.
262
- if (paymentAsset === 'usdc') {
263
- try {
264
- const bal = await getOWSBalance(opts.walletName, opts.vaultPath);
265
- // getOWSBalance returns '0' when no USDC trustline exists, so we
266
- // also need to check the raw Horizon payload any USDC entry
267
- // (even 0 balance) means the trustline is already present.
268
- if (bal.usdc === '0') {
269
- const publicKey = getOWSPublicKey(opts.walletName, opts.vaultPath);
270
- const server = new stellar_sdk_1.Horizon.Server(HORIZON_URL);
271
- const account = await withTimeout(server.loadAccount(publicKey));
272
- const hasTrustline = account.balances.some((b) => b.asset_type === 'credit_alphanum4' &&
273
- b.asset_code === 'USDC' &&
274
- b.asset_issuer === USDC_ISSUER);
275
- if (!hasTrustline) {
276
- await addUsdcTrustlineOWS({
277
- walletName: opts.walletName,
278
- passphrase: opts.passphrase,
279
- vaultPath: opts.vaultPath,
280
- networkPassphrase: opts.networkPassphrase,
281
- });
286
+ if (!skipPayment) {
287
+ if (!payment) {
288
+ // Unreachable: the resume branch sets skipPayment when payment is
289
+ // missing, and the create branch always sets payment.
290
+ throw new errors_1.ResumableError(orderId, 'internal: payment instructions missing for an unpaid order', 'unpaid');
291
+ }
292
+ // USDC payments need a trustline on the wallet's Stellar account. If the
293
+ // agent is paying in USDC and never added one, add it now so the
294
+ // purchase doesn't silently fail on the payment step.
295
+ if (paymentAsset === 'usdc') {
296
+ try {
297
+ const bal = await getOWSBalance(opts.walletName, opts.vaultPath);
298
+ if (bal.usdc === '0') {
299
+ const publicKey = getOWSPublicKey(opts.walletName, opts.vaultPath);
300
+ const server = new stellar_sdk_1.Horizon.Server(HORIZON_URL);
301
+ const account = await withTimeout(server.loadAccount(publicKey));
302
+ const hasTrustline = account.balances.some((b) => b.asset_type === 'credit_alphanum4' &&
303
+ b.asset_code === 'USDC' &&
304
+ b.asset_issuer === USDC_ISSUER);
305
+ if (!hasTrustline) {
306
+ await addUsdcTrustlineOWS({
307
+ walletName: opts.walletName,
308
+ passphrase: opts.passphrase,
309
+ vaultPath: opts.vaultPath,
310
+ networkPassphrase: opts.networkPassphrase,
311
+ });
312
+ }
282
313
  }
283
314
  }
315
+ catch (err) {
316
+ throw new errors_1.ResumableError(orderId, `failed to ensure USDC trustline: ${err instanceof Error ? err.message : String(err)}. The wallet needs at least 2 XLM (1 for the account reserve, 1 for the trustline)`, 'unpaid', undefined, err);
317
+ }
318
+ }
319
+ try {
320
+ await payViaContractOWS({
321
+ walletName: opts.walletName,
322
+ payment,
323
+ paymentAsset,
324
+ passphrase: opts.passphrase,
325
+ vaultPath: opts.vaultPath,
326
+ networkPassphrase: opts.networkPassphrase,
327
+ });
284
328
  }
285
329
  catch (err) {
286
- throw new Error(`Failed to ensure USDC trustline for wallet "${opts.walletName}": ${err instanceof Error ? err.message : String(err)}. The wallet needs at least 2 XLM (1 for the account reserve, 1 for the trustline). Fund it with 'addUsdcTrustlineOWS' manually or retry once the wallet has enough XLM.`);
330
+ // submitSorobanTx attaches `txHash` to its error when the envelope
331
+ // has been accepted onto the network but we gave up waiting for
332
+ // finalization. In that case the cards402 backend watcher can
333
+ // still credit the order — fall through to waitForCard instead of
334
+ // failing the purchase.
335
+ const txHash = err?.txHash;
336
+ if (!txHash) {
337
+ throw new errors_1.ResumableError(orderId, err instanceof Error ? err.message : String(err), 'unpaid', undefined, err);
338
+ }
287
339
  }
288
340
  }
289
- await payViaContractOWS({
290
- walletName: opts.walletName,
291
- payment,
292
- paymentAsset,
293
- passphrase: opts.passphrase,
294
- vaultPath: opts.vaultPath,
295
- networkPassphrase: opts.networkPassphrase,
296
- });
297
- const card = await client.waitForCard(orderId, opts.waitForCardOpts);
298
- return { ...card, order_id: orderId };
341
+ try {
342
+ const card = await client.waitForCard(orderId, opts.waitForCardOpts);
343
+ return { ...card, order_id: orderId };
344
+ }
345
+ catch (err) {
346
+ // OrderFailedError is terminal — propagate unchanged so the CLI
347
+ // surfaces the real reason instead of a misleading resume hint.
348
+ if (err instanceof errors_1.OrderFailedError)
349
+ throw err;
350
+ // Auth / budget / validation errors from the client are also terminal.
351
+ if (err instanceof errors_1.Cards402Error && err.code !== 'wait_timeout')
352
+ throw err;
353
+ // Everything else (network blip, SSE disconnect, wait_timeout) — wrap
354
+ // as resumable. The order is paid at this point; resuming will just
355
+ // re-attach to the stream.
356
+ throw new errors_1.ResumableError(orderId, err instanceof Error ? err.message : String(err), 'paid', undefined, err);
357
+ }
299
358
  }
300
359
  //# sourceMappingURL=ows.js.map
package/dist/ows.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ows.js","sourceRoot":"","sources":["../src/ows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ows.js","sourceRoot":"","sources":["../src/ows.ts"],"names":[],"mappings":"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"}
package/dist/soroban.d.ts CHANGED
@@ -27,6 +27,13 @@ export declare function buildContractPaymentTx(opts: BuildContractTxOpts): Promi
27
27
  /**
28
28
  * Submit a signed Soroban transaction and poll until it reaches a terminal
29
29
  * status. Returns the transaction hash on success.
30
+ *
31
+ * Important: a successful return only guarantees the tx has been accepted
32
+ * onto the ledger. The cards402 backend's contract watcher is the source
33
+ * of truth for "the order has been credited" — the SDK's purchaseCardOWS
34
+ * always follows up with waitForCard against the order id, so even if
35
+ * this function gives up before finalization, the watcher still has a
36
+ * chance to credit the order if the tx eventually lands.
30
37
  */
31
38
  export declare function submitSorobanTx(tx: Transaction, server: rpc.Server): Promise<string>;
32
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"soroban.d.ts","sourceRoot":"","sources":["../src/soroban.ts"],"names":[],"mappings":"AAKA,OAAO,EAOL,GAAG,EACH,GAAG,EACH,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAK9B,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;CAAE,CAAC,CA4BlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD1F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC/D,YAAY,EAAE,MAAM,GAAG,KAAK,GAC3B;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAQ1C;AAID,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"soroban.d.ts","sourceRoot":"","sources":["../src/soroban.ts"],"names":[],"mappings":"AAKA,OAAO,EAOL,GAAG,EACH,GAAG,EACH,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAK9B,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;CAAE,CAAC,CA4BlD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+G1F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC/D,YAAY,EAAE,MAAM,GAAG,KAAK,GAC3B;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAQ1C;AAID,OAAO,EAAE,GAAG,EAAE,CAAC"}
package/dist/soroban.js CHANGED
@@ -62,16 +62,69 @@ async function buildContractPaymentTx(opts) {
62
62
  /**
63
63
  * Submit a signed Soroban transaction and poll until it reaches a terminal
64
64
  * status. Returns the transaction hash on success.
65
+ *
66
+ * Important: a successful return only guarantees the tx has been accepted
67
+ * onto the ledger. The cards402 backend's contract watcher is the source
68
+ * of truth for "the order has been credited" — the SDK's purchaseCardOWS
69
+ * always follows up with waitForCard against the order id, so even if
70
+ * this function gives up before finalization, the watcher still has a
71
+ * chance to credit the order if the tx eventually lands.
65
72
  */
66
73
  async function submitSorobanTx(tx, server) {
67
- const send = await server.sendTransaction(tx);
68
- if (send.status === 'ERROR') {
69
- throw new Error(`Soroban sendTransaction error: ${JSON.stringify(send.errorResult ?? send)}`);
74
+ // sendTransaction is idempotent for the same envelope. Three cases we
75
+ // retry explicitly:
76
+ // - TRY_AGAIN_LATER: RPC is congested, re-send after a short wait
77
+ // - thrown network error (fetch/DNS/TCP): the request never reached
78
+ // the RPC, safe to retry
79
+ // - DUPLICATE is treated as "already in flight" — fall through to
80
+ // the polling loop below instead of looping forever
81
+ // Up to 5 total attempts with 1.5s spacing covers typical RPC drops.
82
+ const MAX_SEND_ATTEMPTS = 5;
83
+ let send;
84
+ let sendErr;
85
+ for (let attempt = 0; attempt < MAX_SEND_ATTEMPTS; attempt++) {
86
+ try {
87
+ send = await server.sendTransaction(tx);
88
+ if (send.status === 'TRY_AGAIN_LATER') {
89
+ if (attempt < MAX_SEND_ATTEMPTS - 1) {
90
+ await new Promise((r) => setTimeout(r, 1500));
91
+ continue;
92
+ }
93
+ throw new Error(`Soroban network congested — sendTransaction returned TRY_AGAIN_LATER after ${MAX_SEND_ATTEMPTS} attempts. Retry the purchase in a minute.`);
94
+ }
95
+ if (send.status === 'ERROR') {
96
+ throw new Error(`Soroban sendTransaction error: ${JSON.stringify(send.errorResult ?? send)}`);
97
+ }
98
+ // PENDING or DUPLICATE — envelope is now known to the network. Break
99
+ // out of the retry loop and poll for finalization.
100
+ break;
101
+ }
102
+ catch (err) {
103
+ sendErr = err;
104
+ // If the thrown error is structured (TRY_AGAIN_LATER, ERROR) let it
105
+ // propagate directly. Otherwise assume it was a transient network
106
+ // failure and retry.
107
+ if (err instanceof Error &&
108
+ (err.message.startsWith('Soroban network congested') ||
109
+ err.message.startsWith('Soroban sendTransaction error'))) {
110
+ throw err;
111
+ }
112
+ if (attempt >= MAX_SEND_ATTEMPTS - 1) {
113
+ throw new Error(`Soroban sendTransaction failed after ${MAX_SEND_ATTEMPTS} attempts: ${err?.message ?? String(err)}`);
114
+ }
115
+ await new Promise((r) => setTimeout(r, 1500));
116
+ }
117
+ }
118
+ if (!send) {
119
+ throw new Error(`Soroban sendTransaction produced no result: ${sendErr?.message ?? 'unknown error'}`);
70
120
  }
71
- // Poll for transaction finalization. Some stellar-sdk versions can't parse
72
- // newer Soroban RPC response XDR ("Bad union switch: 4"). When that happens,
73
- // fall back to Horizon as the authoritative confirmation source.
74
- const deadline = Date.now() + 60_000;
121
+ // Poll for finalization. 120s deadline (was 60s) so we don't bail on
122
+ // mainnet RPC under modest backpressure. Each poll is cheap; the cost
123
+ // of a longer wait is much less than the cost of a stranded order.
124
+ // Some stellar-sdk versions can't parse newer Soroban RPC response XDR
125
+ // ("Bad union switch: 4"); when that happens, fall back to Horizon.
126
+ const POLL_DEADLINE_MS = 120_000;
127
+ const deadline = Date.now() + POLL_DEADLINE_MS;
75
128
  while (Date.now() < deadline) {
76
129
  try {
77
130
  const status = await server.getTransaction(send.hash);
@@ -114,7 +167,13 @@ async function submitSorobanTx(tx, server) {
114
167
  catch {
115
168
  /* ignore */
116
169
  }
117
- throw new Error(`Soroban transaction ${send.hash} did not finalize within 60s`);
170
+ // Throw with the hash so the caller can recover if the tx eventually
171
+ // lands. purchaseCardOWS catches this and proceeds to waitForCard,
172
+ // which subscribes to the cards402 backend SSE and gets credit from
173
+ // the contract watcher even if Soroban RPC was slow to confirm.
174
+ const err = new Error(`Soroban transaction ${send.hash} did not finalize within ${POLL_DEADLINE_MS / 1000}s`);
175
+ err.txHash = send.hash;
176
+ throw err;
118
177
  }
119
178
  /**
120
179
  * Decide which contract function + asset amount to use based on the
@@ -1 +1 @@
1
- {"version":3,"file":"soroban.js","sourceRoot":"","sources":["../src/soroban.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"soroban.js","sourceRoot":"","sources":["../src/soroban.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cards402",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Virtual Visa cards for AI agents — pay USDC or XLM on Stellar, get a card in ~60s",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",