@ic-pay/icpay-sdk 1.3.83 → 1.3.87

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/dist/index.d.ts CHANGED
@@ -156,6 +156,7 @@ export declare class Icpay {
156
156
  };
157
157
  /** Reusable notify helper for both ledger flow and onramp */
158
158
  private performNotifyPaymentIntent;
159
+ private awaitIntentTerminal;
159
160
  /**
160
161
  * Get all ledgers with price information (public method)
161
162
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -46,7 +46,7 @@ class Icpay {
46
46
  if (!this.config.publishableKey && !this.config.secretKey) {
47
47
  throw new Error('Either publishableKey or secretKey must be provided');
48
48
  }
49
- this.icHost = config.icHost || 'https://ic0.app';
49
+ this.icHost = config.icHost || 'https://icp0.io';
50
50
  this.connectedWallet = config.connectedWallet || null;
51
51
  this.actorProvider = config.actorProvider;
52
52
  (0, utils_1.debugLog)(this.config.debug || false, 'constructor', { connectedWallet: this.connectedWallet, actorProvider: this.actorProvider });
@@ -371,16 +371,34 @@ class Icpay {
371
371
  // Convert string principal to Principal object
372
372
  const principalObj = principal_1.Principal.fromText(principal);
373
373
  // Create anonymous actor for balance queries (no signing required)
374
- const agent = new agent_1.HttpAgent({ host: this.icHost });
375
- const actor = agent_1.Actor.createActor(ledger_did_js_1.idlFactory, { agent, canisterId: ledgerCanisterId });
376
- // Get the balance of the user's account
377
- const result = await actor.icrc1_balance_of({
378
- owner: principalObj,
379
- subaccount: []
380
- });
381
- const out = BigInt(result);
382
- this.emitMethodSuccess('getLedgerBalance', { ledgerCanisterId, balance: out.toString() });
383
- return out;
374
+ // Retry on transient certificate TrustError (clock skew) a few times
375
+ const maxAttempts = 3;
376
+ let lastErr = null;
377
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
378
+ try {
379
+ const agent = new agent_1.HttpAgent({ host: this.icHost });
380
+ const actor = agent_1.Actor.createActor(ledger_did_js_1.idlFactory, { agent, canisterId: ledgerCanisterId });
381
+ // Get the balance of the user's account
382
+ const result = await actor.icrc1_balance_of({
383
+ owner: principalObj,
384
+ subaccount: []
385
+ });
386
+ const out = BigInt(result);
387
+ this.emitMethodSuccess('getLedgerBalance', { ledgerCanisterId, balance: out.toString() });
388
+ return out;
389
+ }
390
+ catch (e) {
391
+ lastErr = e;
392
+ const msg = String(e?.message || '').toLowerCase();
393
+ const isCertSkew = msg.includes('certificate is signed more than') || msg.includes('trusterror');
394
+ if (attempt < maxAttempts && isCertSkew) {
395
+ await new Promise(r => setTimeout(r, attempt * 500));
396
+ continue;
397
+ }
398
+ throw e;
399
+ }
400
+ }
401
+ throw lastErr || new Error('Failed to fetch ledger balance');
384
402
  }
385
403
  catch (error) {
386
404
  this.emitMethodError('getLedgerBalance', error);
@@ -635,42 +653,91 @@ class Icpay {
635
653
  }
636
654
  const amount = BigInt(resolvedAmountStr);
637
655
  // Build packed memo if possible
638
- try {
639
- const acctIdNum = parseInt(accountCanisterId);
640
- if (!isNaN(acctIdNum) && paymentIntentCode != null) {
641
- memo = this.createPackedMemo(acctIdNum, Number(paymentIntentCode));
642
- (0, utils_1.debugLog)(this.config.debug || false, 'built packed memo', { accountCanisterId: acctIdNum, paymentIntentCode });
643
- }
644
- (0, utils_1.debugLog)(this.config.debug || false, 'memo', { memo });
656
+ const acctIdNum = parseInt(accountCanisterId);
657
+ if (!isNaN(acctIdNum) && paymentIntentCode != null) {
658
+ memo = this.createPackedMemo(acctIdNum, Number(paymentIntentCode));
659
+ (0, utils_1.debugLog)(this.config.debug || false, 'built packed memo', { accountCanisterId: acctIdNum, paymentIntentCode });
645
660
  }
646
- catch { }
661
+ (0, utils_1.debugLog)(this.config.debug || false, 'memo', { memo });
647
662
  let transferResult;
648
- if (ledgerCanisterId === this.icpLedgerCanisterId) {
663
+ try {
649
664
  // ICP Ledger: use ICRC-1 transfer (ICP ledger supports ICRC-1)
650
665
  (0, utils_1.debugLog)(this.config.debug || false, 'sending ICRC-1 transfer (ICP)');
651
666
  transferResult = await this.sendFundsToLedger(ledgerCanisterId, toPrincipal, amount, memo, host);
652
667
  }
653
- else {
654
- // ICRC-1 ledgers: use principal directly
655
- (0, utils_1.debugLog)(this.config.debug || false, 'sending ICRC-1 transfer');
656
- transferResult = await this.sendFundsToLedger(ledgerCanisterId, toPrincipal, amount, memo, host);
668
+ catch (transferError) {
669
+ // Some wallets/networks return a timeout or transient 5xx even when the transfer was accepted.
670
+ // Treat these as processing and continue with intent notification so users don't double-send.
671
+ const msg = String(transferError?.message || '');
672
+ const lower = msg.toLowerCase();
673
+ const isTimeout = lower.includes('request timed out');
674
+ const isProcessing = isTimeout && lower.includes('processing');
675
+ // DFINITY HTTP agent transient error when subnet has no healthy nodes (e.g., during upgrade)
676
+ const isNoHealthyNodes = lower.includes('no_healthy_nodes') || lower.includes('service unavailable') || lower.includes('503');
677
+ if (isTimeout || isProcessing || isNoHealthyNodes) {
678
+ (0, utils_1.debugLog)(this.config.debug || false, 'transfer timed out, proceeding with intent notification', { message: msg });
679
+ // Long-poll the public notify endpoint using only the intent id (no canister tx id available)
680
+ const publicNotify = await this.performNotifyPaymentIntent({
681
+ paymentIntentId: paymentIntentId,
682
+ maxAttempts: 120,
683
+ delayMs: 1000,
684
+ });
685
+ // Derive status from API response
686
+ let statusString = 'pending';
687
+ const apiStatus = publicNotify?.paymentIntent?.status || publicNotify?.payment?.status || publicNotify?.status;
688
+ if (typeof apiStatus === 'string') {
689
+ const norm = apiStatus.toLowerCase();
690
+ if (norm === 'completed' || norm === 'succeeded')
691
+ statusString = 'completed';
692
+ else if (norm === 'failed' || norm === 'canceled' || norm === 'cancelled')
693
+ statusString = 'failed';
694
+ }
695
+ const response = {
696
+ transactionId: 0,
697
+ status: statusString,
698
+ amount: amount.toString(),
699
+ recipientCanister: ledgerCanisterId,
700
+ timestamp: new Date(),
701
+ description: 'Fund transfer',
702
+ metadata: request.metadata,
703
+ payment: publicNotify,
704
+ };
705
+ if (statusString === 'completed') {
706
+ const requested = publicNotify?.payment?.requestedAmount || null;
707
+ const paid = publicNotify?.payment?.paidAmount || null;
708
+ const isMismatched = publicNotify?.payment?.status === 'mismatched';
709
+ if (isMismatched) {
710
+ this.emit('icpay-sdk-transaction-mismatched', { ...response, requestedAmount: requested, paidAmount: paid });
711
+ this.emit('icpay-sdk-transaction-updated', { ...response, status: 'mismatched', requestedAmount: requested, paidAmount: paid });
712
+ }
713
+ else {
714
+ this.emit('icpay-sdk-transaction-completed', response);
715
+ }
716
+ }
717
+ else if (statusString === 'failed') {
718
+ this.emit('icpay-sdk-transaction-failed', response);
719
+ }
720
+ else {
721
+ this.emit('icpay-sdk-transaction-updated', response);
722
+ }
723
+ this.emitMethodSuccess('createPayment', response);
724
+ return response;
725
+ }
726
+ throw transferError;
657
727
  }
658
728
  // Assume transferResult returns a block index or transaction id
659
729
  const blockIndex = transferResult?.Ok?.toString() || transferResult?.blockIndex?.toString() || `temp-${Date.now()}`;
660
730
  (0, utils_1.debugLog)(this.config.debug || false, 'transfer result', { blockIndex });
661
- // First, notify the canister about the ledger transaction
731
+ // First, notify the canister about the ledger transaction (best-effort)
662
732
  let canisterTransactionId;
663
- let notifyStatus = null;
664
733
  try {
665
734
  (0, utils_1.debugLog)(this.config.debug || false, 'notifying canister about ledger tx');
666
735
  const notifyRes = await this.notifyLedgerTransaction(this.icpayCanisterId, ledgerCanisterId, BigInt(blockIndex));
667
- // notify returns { id, status, amount }
668
736
  if (typeof notifyRes === 'string') {
669
737
  canisterTransactionId = parseInt(notifyRes, 10);
670
738
  }
671
739
  else {
672
740
  canisterTransactionId = parseInt(notifyRes.id, 10);
673
- notifyStatus = notifyRes;
674
741
  }
675
742
  (0, utils_1.debugLog)(this.config.debug || false, 'canister notified', { canisterTransactionId });
676
743
  }
@@ -678,101 +745,16 @@ class Icpay {
678
745
  canisterTransactionId = parseInt(blockIndex, 10);
679
746
  (0, utils_1.debugLog)(this.config.debug || false, 'notify failed, using blockIndex as tx id', { canisterTransactionId });
680
747
  }
681
- // Poll for transaction status until completed
682
- // Use the transaction ID returned by the notification, not the block index
683
- let status = null;
684
- if (notifyStatus && notifyStatus.status) {
685
- status = { status: notifyStatus.status };
686
- }
687
- else {
688
- try {
689
- (0, utils_1.debugLog)(this.config.debug || false, 'polling transaction status (public)', { canisterTransactionId });
690
- status = await this.pollTransactionStatus(this.icpayCanisterId, canisterTransactionId, accountCanisterId, Number(blockIndex), 2000, 30);
691
- (0, utils_1.debugLog)(this.config.debug || false, 'poll done', { status });
692
- }
693
- catch (e) {
694
- status = { status: 'pending' };
695
- (0, utils_1.debugLog)(this.config.debug || false, 'poll failed, falling back to pending');
696
- }
697
- }
698
- // Extract the status string from the transaction object
699
- let statusString = 'pending';
700
- if (status) {
701
- if (typeof status === 'object' && status.status) {
702
- // Handle variant status like {Completed: null}
703
- if (typeof status.status === 'object') {
704
- const statusKeys = Object.keys(status.status);
705
- if (statusKeys.length > 0) {
706
- const rawStatus = statusKeys[0].toLowerCase();
707
- if (rawStatus === 'completed' || rawStatus === 'failed') {
708
- statusString = rawStatus;
709
- }
710
- }
711
- }
712
- else {
713
- const rawStatus = status.status;
714
- if (rawStatus === 'completed' || rawStatus === 'failed') {
715
- statusString = rawStatus;
716
- }
717
- }
718
- }
719
- }
720
- // 5) Notify API about completion with intent and transaction id
721
- let publicNotify = undefined;
722
- // Always await server notification until intent is terminal
723
- publicNotify = await this.performNotifyPaymentIntent({
748
+ // Durable wait until API returns terminal status (completed/mismatched/failed/canceled)
749
+ const finalResponse = await this.awaitIntentTerminal({
724
750
  paymentIntentId: paymentIntentId,
725
751
  canisterTransactionId: canisterTransactionId?.toString(),
726
- maxAttempts: 99999,
727
- delayMs: 1000,
728
- });
729
- // If API responded and exposes a status, prefer it to decide success
730
- const apiStatus = publicNotify?.paymentIntent?.status || publicNotify?.payment?.status || publicNotify?.status;
731
- if (typeof apiStatus === 'string') {
732
- const norm = apiStatus.toLowerCase();
733
- if (norm === 'completed' || norm === 'succeeded') {
734
- statusString = 'completed';
735
- }
736
- else if (norm === 'failed' || norm === 'canceled' || norm === 'cancelled') {
737
- statusString = 'failed';
738
- }
739
- else {
740
- statusString = 'pending';
741
- }
742
- }
743
- const response = {
744
- transactionId: canisterTransactionId,
745
- status: statusString,
752
+ ledgerCanisterId,
746
753
  amount: amount.toString(),
747
- recipientCanister: ledgerCanisterId,
748
- timestamp: new Date(),
749
- description: 'Fund transfer',
750
754
  metadata: request.metadata,
751
- payment: publicNotify
752
- };
753
- (0, utils_1.debugLog)(this.config.debug || false, 'createPayment done', response);
754
- if (statusString === 'completed') {
755
- // If API notify included a payment with mismatched status, treat as mismatched event
756
- const requested = publicNotify?.payment?.requestedAmount || null;
757
- const paid = publicNotify?.payment?.paidAmount || null;
758
- const isMismatched = publicNotify?.payment?.status === 'mismatched';
759
- if (isMismatched) {
760
- this.emit('icpay-sdk-transaction-mismatched', { ...response, requestedAmount: requested, paidAmount: paid });
761
- // Also emit updated so UIs listening for progress can advance
762
- this.emit('icpay-sdk-transaction-updated', { ...response, status: 'mismatched', requestedAmount: requested, paidAmount: paid });
763
- }
764
- else {
765
- this.emit('icpay-sdk-transaction-completed', response);
766
- }
767
- }
768
- else if (statusString === 'failed') {
769
- this.emit('icpay-sdk-transaction-failed', response);
770
- }
771
- else {
772
- this.emit('icpay-sdk-transaction-updated', response);
773
- }
774
- this.emitMethodSuccess('createPayment', response);
775
- return response;
755
+ });
756
+ this.emitMethodSuccess('createPayment', finalResponse);
757
+ return finalResponse;
776
758
  }
777
759
  catch (error) {
778
760
  if (error instanceof errors_1.IcpayError) {
@@ -889,12 +871,29 @@ class Icpay {
889
871
  async notifyLedgerTransaction(canisterId, ledgerCanisterId, blockIndex) {
890
872
  this.emitMethodStart('notifyLedgerTransaction', { canisterId, ledgerCanisterId, blockIndex: blockIndex.toString() });
891
873
  // Create anonymous actor for canister notifications (no signature required)
892
- const agent = new agent_1.HttpAgent({ host: this.icHost });
893
- const actor = agent_1.Actor.createActor(icpay_canister_backend_did_js_1.idlFactory, { agent, canisterId });
894
- const result = await actor.notify_ledger_transaction({
895
- ledger_canister_id: ledgerCanisterId,
896
- block_index: blockIndex
897
- });
874
+ // Retry on transient certificate TrustError (clock skew)
875
+ const maxAttempts = 3;
876
+ let result;
877
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
878
+ try {
879
+ const agent = new agent_1.HttpAgent({ host: this.icHost });
880
+ const actor = agent_1.Actor.createActor(icpay_canister_backend_did_js_1.idlFactory, { agent, canisterId });
881
+ result = await actor.notify_ledger_transaction({
882
+ ledger_canister_id: ledgerCanisterId,
883
+ block_index: blockIndex
884
+ });
885
+ break;
886
+ }
887
+ catch (e) {
888
+ const msg = String(e?.message || '').toLowerCase();
889
+ const isCertSkew = msg.includes('certificate is signed more than') || msg.includes('trusterror');
890
+ if (attempt < maxAttempts && isCertSkew) {
891
+ await new Promise(r => setTimeout(r, attempt * 500));
892
+ continue;
893
+ }
894
+ throw e;
895
+ }
896
+ }
898
897
  if (result && result.Ok) {
899
898
  this.emitMethodSuccess('notifyLedgerTransaction', { result: result.Ok });
900
899
  return result.Ok;
@@ -912,10 +911,26 @@ class Icpay {
912
911
  }
913
912
  async getTransactionStatusPublic(canisterId, canisterTransactionId, indexReceived, accountCanisterId) {
914
913
  this.emitMethodStart('getTransactionStatusPublic', { canisterId, canisterTransactionId, indexReceived, accountCanisterId });
915
- const agent = new agent_1.HttpAgent({ host: this.icHost });
916
- const actor = agent_1.Actor.createActor(icpay_canister_backend_did_js_1.idlFactory, { agent, canisterId });
917
914
  const acctIdNum = parseInt(accountCanisterId);
918
- const res = await actor.get_transaction_status_public(acctIdNum, BigInt(canisterTransactionId), [indexReceived]);
915
+ const maxAttempts = 3;
916
+ let res;
917
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
918
+ try {
919
+ const agent = new agent_1.HttpAgent({ host: this.icHost });
920
+ const actor = agent_1.Actor.createActor(icpay_canister_backend_did_js_1.idlFactory, { agent, canisterId });
921
+ res = await actor.get_transaction_status_public(acctIdNum, BigInt(canisterTransactionId), [indexReceived]);
922
+ break;
923
+ }
924
+ catch (e) {
925
+ const msg = String(e?.message || '').toLowerCase();
926
+ const isCertSkew = msg.includes('certificate is signed more than') || msg.includes('trusterror');
927
+ if (attempt < maxAttempts && isCertSkew) {
928
+ await new Promise(r => setTimeout(r, attempt * 500));
929
+ continue;
930
+ }
931
+ return null;
932
+ }
933
+ }
919
934
  const result = res || { status: 'pending' };
920
935
  this.emitMethodSuccess('getTransactionStatusPublic', result);
921
936
  return result;
@@ -1333,6 +1348,71 @@ class Icpay {
1333
1348
  }
1334
1349
  return {};
1335
1350
  }
1351
+ // Waits until the API reports a terminal status for the intent/payment.
1352
+ // Retries indefinitely by default, backing off modestly, and only returns
1353
+ // when status is terminal. Never throws after funds are sent unless API reports
1354
+ // an explicit failure state.
1355
+ async awaitIntentTerminal(params) {
1356
+ const baseDelay = 1000;
1357
+ const maxDelay = 10000;
1358
+ let attempt = 0;
1359
+ while (true) {
1360
+ attempt++;
1361
+ try {
1362
+ const resp = await this.performNotifyPaymentIntent({
1363
+ paymentIntentId: params.paymentIntentId,
1364
+ canisterTransactionId: params.canisterTransactionId,
1365
+ maxAttempts: 1,
1366
+ delayMs: 0,
1367
+ });
1368
+ const status = resp?.paymentIntent?.status || resp?.payment?.status || resp?.status || '';
1369
+ const norm = typeof status === 'string' ? status.toLowerCase() : '';
1370
+ // Terminal statuses
1371
+ if (norm === 'completed' || norm === 'succeeded' || norm === 'mismatched') {
1372
+ const out = {
1373
+ transactionId: Number(params.canisterTransactionId || 0),
1374
+ status: norm === 'succeeded' ? 'completed' : norm,
1375
+ amount: params.amount,
1376
+ recipientCanister: params.ledgerCanisterId,
1377
+ timestamp: new Date(),
1378
+ description: 'Fund transfer',
1379
+ metadata: params.metadata,
1380
+ payment: resp,
1381
+ };
1382
+ if (norm === 'mismatched') {
1383
+ const requested = resp?.payment?.requestedAmount || null;
1384
+ const paid = resp?.payment?.paidAmount || null;
1385
+ this.emit('icpay-sdk-transaction-mismatched', { ...out, requestedAmount: requested, paidAmount: paid });
1386
+ this.emit('icpay-sdk-transaction-updated', { ...out, status: 'mismatched', requestedAmount: requested, paidAmount: paid });
1387
+ }
1388
+ else {
1389
+ this.emit('icpay-sdk-transaction-completed', out);
1390
+ }
1391
+ return out;
1392
+ }
1393
+ if (norm === 'failed' || norm === 'canceled' || norm === 'cancelled') {
1394
+ const out = {
1395
+ transactionId: Number(params.canisterTransactionId || 0),
1396
+ status: 'failed',
1397
+ amount: params.amount,
1398
+ recipientCanister: params.ledgerCanisterId,
1399
+ timestamp: new Date(),
1400
+ description: 'Fund transfer',
1401
+ metadata: params.metadata,
1402
+ payment: resp,
1403
+ };
1404
+ this.emit('icpay-sdk-transaction-failed', out);
1405
+ return out;
1406
+ }
1407
+ // Not terminal yet; sleep with backoff and retry
1408
+ }
1409
+ catch (e) {
1410
+ // Network/API error; keep retrying
1411
+ }
1412
+ const delay = Math.min(maxDelay, baseDelay * Math.ceil(attempt / 5));
1413
+ await new Promise(r => setTimeout(r, delay));
1414
+ }
1415
+ }
1336
1416
  /**
1337
1417
  * Get all ledgers with price information (public method)
1338
1418
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ic-pay/icpay-sdk",
3
- "version": "1.3.83",
3
+ "version": "1.3.87",
4
4
  "description": "Official icpay SDK for Internet Computer payments",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",