@txnod/sdk 1.0.1
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/AGENTS.md +29 -0
- package/CHANGELOG.md +22 -0
- package/LICENSE +21 -0
- package/README.md +434 -0
- package/dist/_shared/index.d.ts +68 -0
- package/dist/client-sandbox.d.ts +396 -0
- package/dist/client-sandbox.d.ts.map +1 -0
- package/dist/client-sandbox.js +448 -0
- package/dist/client-sandbox.js.map +1 -0
- package/dist/client.d.ts +429 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +588 -0
- package/dist/client.js.map +1 -0
- package/dist/env.d.ts +29 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +44 -0
- package/dist/env.js.map +1 -0
- package/dist/errors.d.ts +1887 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +2107 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/internals/error-ctor-map.d.ts +11 -0
- package/dist/internals/error-ctor-map.d.ts.map +1 -0
- package/dist/internals/error-ctor-map.js +75 -0
- package/dist/internals/error-ctor-map.js.map +1 -0
- package/dist/internals/fetch-with-retry.d.ts +34 -0
- package/dist/internals/fetch-with-retry.d.ts.map +1 -0
- package/dist/internals/fetch-with-retry.js +233 -0
- package/dist/internals/fetch-with-retry.js.map +1 -0
- package/dist/internals/hmac.d.ts +2 -0
- package/dist/internals/hmac.d.ts.map +1 -0
- package/dist/internals/hmac.js +10 -0
- package/dist/internals/hmac.js.map +1 -0
- package/dist/internals/logger.d.ts +9 -0
- package/dist/internals/logger.d.ts.map +1 -0
- package/dist/internals/logger.js +16 -0
- package/dist/internals/logger.js.map +1 -0
- package/dist/internals/parse-problem-details.d.ts +3 -0
- package/dist/internals/parse-problem-details.d.ts.map +1 -0
- package/dist/internals/parse-problem-details.js +76 -0
- package/dist/internals/parse-problem-details.js.map +1 -0
- package/dist/internals/synthetic-details.d.ts +12 -0
- package/dist/internals/synthetic-details.d.ts.map +1 -0
- package/dist/internals/synthetic-details.js +19 -0
- package/dist/internals/synthetic-details.js.map +1 -0
- package/dist/verify/chains/bsc.d.ts +17 -0
- package/dist/verify/chains/bsc.d.ts.map +1 -0
- package/dist/verify/chains/bsc.js +15 -0
- package/dist/verify/chains/bsc.js.map +1 -0
- package/dist/verify/chains/btc.d.ts +22 -0
- package/dist/verify/chains/btc.d.ts.map +1 -0
- package/dist/verify/chains/btc.js +55 -0
- package/dist/verify/chains/btc.js.map +1 -0
- package/dist/verify/chains/cardano.d.ts +73 -0
- package/dist/verify/chains/cardano.d.ts.map +1 -0
- package/dist/verify/chains/cardano.js +175 -0
- package/dist/verify/chains/cardano.js.map +1 -0
- package/dist/verify/chains/evm.d.ts +21 -0
- package/dist/verify/chains/evm.d.ts.map +1 -0
- package/dist/verify/chains/evm.js +46 -0
- package/dist/verify/chains/evm.js.map +1 -0
- package/dist/verify/chains/polygon.d.ts +17 -0
- package/dist/verify/chains/polygon.d.ts.map +1 -0
- package/dist/verify/chains/polygon.js +15 -0
- package/dist/verify/chains/polygon.js.map +1 -0
- package/dist/verify/chains/secp256k1-bip32.d.ts +20 -0
- package/dist/verify/chains/secp256k1-bip32.d.ts.map +1 -0
- package/dist/verify/chains/secp256k1-bip32.js +88 -0
- package/dist/verify/chains/secp256k1-bip32.js.map +1 -0
- package/dist/verify/chains/ton-cell.d.ts +179 -0
- package/dist/verify/chains/ton-cell.d.ts.map +1 -0
- package/dist/verify/chains/ton-cell.js +614 -0
- package/dist/verify/chains/ton-cell.js.map +1 -0
- package/dist/verify/chains/ton.d.ts +84 -0
- package/dist/verify/chains/ton.d.ts.map +1 -0
- package/dist/verify/chains/ton.js +131 -0
- package/dist/verify/chains/ton.js.map +1 -0
- package/dist/verify/chains/tron.d.ts +21 -0
- package/dist/verify/chains/tron.d.ts.map +1 -0
- package/dist/verify/chains/tron.js +42 -0
- package/dist/verify/chains/tron.js.map +1 -0
- package/dist/verify/config.d.ts +41 -0
- package/dist/verify/config.d.ts.map +1 -0
- package/dist/verify/config.js +120 -0
- package/dist/verify/config.js.map +1 -0
- package/dist/verify/errors.d.ts +56 -0
- package/dist/verify/errors.d.ts.map +1 -0
- package/dist/verify/errors.js +58 -0
- package/dist/verify/errors.js.map +1 -0
- package/dist/verify/index.d.ts +119 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +166 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/xpub-safety.d.ts +33 -0
- package/dist/verify/xpub-safety.d.ts.map +1 -0
- package/dist/verify/xpub-safety.js +54 -0
- package/dist/verify/xpub-safety.js.map +1 -0
- package/dist/verify-webhook-signature.d.ts +30 -0
- package/dist/verify-webhook-signature.d.ts.map +1 -0
- package/dist/verify-webhook-signature.js +84 -0
- package/dist/verify-webhook-signature.js.map +1 -0
- package/docs/00-getting-started.md +135 -0
- package/docs/01-authentication.md +114 -0
- package/docs/02-invoices.md +216 -0
- package/docs/03-rates-and-quotes.md +82 -0
- package/docs/04-webhooks.md +126 -0
- package/docs/05-errors.md +199 -0
- package/docs/05-sandbox.md +159 -0
- package/docs/06-idempotency.md +132 -0
- package/docs/examples/express-webhook-receiver.md +97 -0
- package/docs/examples/nextjs-route-handler.md +206 -0
- package/docs/examples/sandbox-vitest-suite.md +263 -0
- package/docs/index.md +66 -0
- package/docs/reference/client.md +392 -0
- package/docs/reference/errors.md +161 -0
- package/docs/reference/types.md +400 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The npm package name used by `@txnod/sdk` — useful for partners who want
|
|
3
|
+
* to print the runtime SDK identity in error reports.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { PACKAGE_NAME } from '@txnod/sdk';
|
|
8
|
+
* console.log(`Using SDK: ${PACKAGE_NAME}`);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare const PACKAGE_NAME: "@txnod/sdk";
|
|
12
|
+
/**
|
|
13
|
+
* The current `@txnod/sdk` version string, kept in sync with `package.json`
|
|
14
|
+
* via the `sdk-version-sync.sh` CI guard (Story 5.1).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { SDK_VERSION } from '@txnod/sdk';
|
|
19
|
+
* console.log(`@txnod/sdk v${SDK_VERSION}`);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const SDK_VERSION: "1.0.1";
|
|
23
|
+
export { TxnodClient, type TxnodClientOptions, type TxnodRequestLogEntry, type TxnodRequestLogger, } from './client.js';
|
|
24
|
+
export { getSdkEnv } from './env.js';
|
|
25
|
+
export { TxnodClientSandbox, type SandboxClockAdvanceResult, type SandboxLifecycleResult, type SandboxSimulateResult, } from './client-sandbox.js';
|
|
26
|
+
export { TxnodAmountOutOfRangeError, TxnodAuthInvalidError, TxnodCoinNotEnabledError, TxnodEnvironmentUnknownError, TxnodError, TxnodEventNotFoundError, TxnodExternalIdConflictError, TxnodHmacError, TxnodInvalidCoinError, TxnodInvalidStateTransitionError, TxnodInvalidWebhookUrlError, TxnodInvalidXpubFormatError, TxnodInvoiceNotCancellableError, TxnodInvoiceNotFoundError, TxnodKeyRevokedError, TxnodKeySuspendedError, TxnodOrphanAlreadyAttributedError, TxnodOrphanNotFoundError, TxnodPermissionDeniedError, TxnodPoolExhaustedError, TxnodProductionKeyAgainstSandboxProjectError, TxnodProjectNotFoundError, TxnodProjectSuspendedError, TxnodRateLimitError, TxnodSandboxActiveInvoiceCapReachedError, TxnodSandboxDeleteFailedError, TxnodSandboxInvoiceNotFoundError, TxnodSandboxInvoiceTerminalError, TxnodSandboxInvoiceTransitionInvalidError, TxnodSandboxKeyAgainstProductionProjectError, TxnodSandboxKeyInProductionError, TxnodSandboxPerOperatorCapReachedError, TxnodSandboxProjectRequiredError, TxnodProductionProjectRequiredError, TxnodSandboxProvisioningFailedError, TxnodSandboxRateLimitExceededError, TxnodSandboxResetFailedError, TxnodSandboxXpubInProductionError, TxnodServerError, TxnodSignatureFormatError, TxnodSignatureInvalidError, TxnodSignatureReplayedError, TxnodSubscriptionExpiredError, TxnodTimestampError, TxnodTimestampOutOfWindowError, TxnodTonCommentParseFailedError, TxnodTonConnectDomainMismatchError, TxnodTonConnectNetworkMismatchError, TxnodTonConnectPayloadExpiredError, TxnodTonConnectPayloadUnknownError, TxnodTonConnectSignatureInvalidError, TxnodTonConnectTimestampSkewError, TxnodTonConnectUnknownWalletVersionError, TxnodTonInvalidWalletVersionError, TxnodTonJettonResolveFailedError, TxnodTonOperatorWalletNotDeployedError, TxnodTronNoActivatedAddressesError, TxnodValidationError, TxnodWalletHasActiveBindingsError, TxnodWalletKindMismatchError, TxnodWalletNotBoundError, TxnodWalletNotFoundError, TxnodWalletNotOwnedError, TxnodWebhookCapacityExhaustedError, TxnodWebhookPayloadParseError, TxnodXpubNotVerifiedError, } from './errors.js';
|
|
27
|
+
export { verifyWebhookSignature } from './verify-webhook-signature.js';
|
|
28
|
+
export { verifyAddress } from './verify/index.js';
|
|
29
|
+
export type { VerifyAddressInput, VerificationResult } from './verify/index.js';
|
|
30
|
+
export { verifyTonAddress } from './verify/chains/ton.js';
|
|
31
|
+
export type { VerifyTonInput } from './verify/chains/ton.js';
|
|
32
|
+
export { parseXpubConfig, parseTonConfig, type TonXpubConfig } from './verify/config.js';
|
|
33
|
+
export { AddressVerificationError } from './verify/errors.js';
|
|
34
|
+
export type { Chain, Coin, InvoiceStatus, WalletEdgeKind, WebhookEvent, WebhookEventData, WebhookEventMode, WebhookEventType, } from './_shared/index.js';
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAG,YAAqB,CAAC;AAElD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAC;AAE5C,OAAO,EACL,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,4CAA4C,EAC5C,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,wCAAwC,EACxC,6BAA6B,EAC7B,gCAAgC,EAChC,gCAAgC,EAChC,yCAAyC,EACzC,4CAA4C,EAC5C,gCAAgC,EAChC,sCAAsC,EACtC,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,oCAAoC,EACpC,iCAAiC,EACjC,wCAAwC,EACxC,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,EAClC,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACV,KAAK,EACL,IAAI,EACJ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The npm package name used by `@txnod/sdk` — useful for partners who want
|
|
3
|
+
* to print the runtime SDK identity in error reports.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { PACKAGE_NAME } from '@txnod/sdk';
|
|
8
|
+
* console.log(`Using SDK: ${PACKAGE_NAME}`);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export const PACKAGE_NAME = '@txnod/sdk';
|
|
12
|
+
/**
|
|
13
|
+
* The current `@txnod/sdk` version string, kept in sync with `package.json`
|
|
14
|
+
* via the `sdk-version-sync.sh` CI guard (Story 5.1).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { SDK_VERSION } from '@txnod/sdk';
|
|
19
|
+
* console.log(`@txnod/sdk v${SDK_VERSION}`);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export const SDK_VERSION = '1.0.1';
|
|
23
|
+
export { TxnodClient, } from './client.js';
|
|
24
|
+
export { getSdkEnv } from './env.js';
|
|
25
|
+
export { TxnodClientSandbox, } from './client-sandbox.js';
|
|
26
|
+
export { TxnodAmountOutOfRangeError, TxnodAuthInvalidError, TxnodCoinNotEnabledError, TxnodEnvironmentUnknownError, TxnodError, TxnodEventNotFoundError, TxnodExternalIdConflictError, TxnodHmacError, TxnodInvalidCoinError, TxnodInvalidStateTransitionError, TxnodInvalidWebhookUrlError, TxnodInvalidXpubFormatError, TxnodInvoiceNotCancellableError, TxnodInvoiceNotFoundError, TxnodKeyRevokedError, TxnodKeySuspendedError, TxnodOrphanAlreadyAttributedError, TxnodOrphanNotFoundError, TxnodPermissionDeniedError, TxnodPoolExhaustedError, TxnodProductionKeyAgainstSandboxProjectError, TxnodProjectNotFoundError, TxnodProjectSuspendedError, TxnodRateLimitError, TxnodSandboxActiveInvoiceCapReachedError, TxnodSandboxDeleteFailedError, TxnodSandboxInvoiceNotFoundError, TxnodSandboxInvoiceTerminalError, TxnodSandboxInvoiceTransitionInvalidError, TxnodSandboxKeyAgainstProductionProjectError, TxnodSandboxKeyInProductionError, TxnodSandboxPerOperatorCapReachedError, TxnodSandboxProjectRequiredError, TxnodProductionProjectRequiredError, TxnodSandboxProvisioningFailedError, TxnodSandboxRateLimitExceededError, TxnodSandboxResetFailedError, TxnodSandboxXpubInProductionError, TxnodServerError, TxnodSignatureFormatError, TxnodSignatureInvalidError, TxnodSignatureReplayedError, TxnodSubscriptionExpiredError, TxnodTimestampError, TxnodTimestampOutOfWindowError, TxnodTonCommentParseFailedError, TxnodTonConnectDomainMismatchError, TxnodTonConnectNetworkMismatchError, TxnodTonConnectPayloadExpiredError, TxnodTonConnectPayloadUnknownError, TxnodTonConnectSignatureInvalidError, TxnodTonConnectTimestampSkewError, TxnodTonConnectUnknownWalletVersionError, TxnodTonInvalidWalletVersionError, TxnodTonJettonResolveFailedError, TxnodTonOperatorWalletNotDeployedError, TxnodTronNoActivatedAddressesError, TxnodValidationError, TxnodWalletHasActiveBindingsError, TxnodWalletKindMismatchError, TxnodWalletNotBoundError, TxnodWalletNotFoundError, TxnodWalletNotOwnedError, TxnodWebhookCapacityExhaustedError, TxnodWebhookPayloadParseError, TxnodXpubNotVerifiedError, } from './errors.js';
|
|
27
|
+
export { verifyWebhookSignature } from './verify-webhook-signature.js';
|
|
28
|
+
export { verifyAddress } from './verify/index.js';
|
|
29
|
+
export { verifyTonAddress } from './verify/chains/ton.js';
|
|
30
|
+
export { parseXpubConfig, parseTonConfig } from './verify/config.js';
|
|
31
|
+
export { AddressVerificationError } from './verify/errors.js';
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAqB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAgB,CAAC;AAE5C,OAAO,EACL,WAAW,GAIZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,4CAA4C,EAC5C,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,wCAAwC,EACxC,6BAA6B,EAC7B,gCAAgC,EAChC,gCAAgC,EAChC,yCAAyC,EACzC,4CAA4C,EAC5C,gCAAgC,EAChC,sCAAsC,EACtC,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,oCAAoC,EACpC,iCAAiC,EACjC,wCAAwC,EACxC,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,EAClC,oBAAoB,EACpB,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ErrorCode, ProblemDetails } from '../_shared/index.js';
|
|
2
|
+
import { TxnodError, TxnodPoolExhaustedError, TxnodRateLimitError, TxnodWebhookCapacityExhaustedError } from '../errors.js';
|
|
3
|
+
export type ErrorCtor = new (details: ProblemDetails) => TxnodError;
|
|
4
|
+
export type RateLimitCtor = new (details: ProblemDetails, retryAfterSeconds: number) => TxnodRateLimitError;
|
|
5
|
+
export type PoolExhaustedCtor = new (details: ProblemDetails, retryAfterSeconds: number) => TxnodPoolExhaustedError;
|
|
6
|
+
export type WebhookCapacityExhaustedCtor = new (details: ProblemDetails, retryAfterSeconds: number) => TxnodWebhookCapacityExhaustedError;
|
|
7
|
+
export type RetryAfterCtor = RateLimitCtor | PoolExhaustedCtor | WebhookCapacityExhaustedCtor;
|
|
8
|
+
export type CodeRequiringRetryAfter = 'rate_limit_exceeded' | 'pool_exhausted' | 'webhook_capacity_exhausted';
|
|
9
|
+
export declare const RETRY_AFTER_CODES: ReadonlySet<ErrorCode>;
|
|
10
|
+
export declare const CODE_TO_CTOR: Partial<Record<ErrorCode, ErrorCtor | RetryAfterCtor>>;
|
|
11
|
+
//# sourceMappingURL=error-ctor-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-ctor-map.d.ts","sourceRoot":"","sources":["../../src/internals/error-ctor-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAIL,UAAU,EAcV,uBAAuB,EAGvB,mBAAmB,EAwBnB,kCAAkC,EAenC,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,SAAS,GAAG,KAAK,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,KAC1B,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,KACtB,mBAAmB,CAAC;AACzB,MAAM,MAAM,iBAAiB,GAAG,KAC9B,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,KACtB,uBAAuB,CAAC;AAC7B,MAAM,MAAM,4BAA4B,GAAG,KACzC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,KACtB,kCAAkC,CAAC;AACxC,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,iBAAiB,GACjB,4BAA4B,CAAC;AAOjC,MAAM,MAAM,uBAAuB,GAC/B,qBAAqB,GACrB,gBAAgB,GAChB,4BAA4B,CAAC;AACjC,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAMpD,CAAC;AAUF,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CACvC,SAAS,EACT,SAAS,GAAG,cAAc,CAC3B,CA6DA,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { TxnodAmountOutOfRangeError, TxnodAuthInvalidError, TxnodCoinNotEnabledError, TxnodEventNotFoundError, TxnodExternalIdConflictError, TxnodInvalidCoinError, TxnodInvalidStateTransitionError, TxnodInvalidWebhookUrlError, TxnodInvalidXpubFormatError, TxnodInvoiceNotCancellableError, TxnodInvoiceNotFoundError, TxnodKeyRevokedError, TxnodKeySuspendedError, TxnodOrphanAlreadyAttributedError, TxnodOrphanNotFoundError, TxnodPermissionDeniedError, TxnodPoolExhaustedError, TxnodProjectNotFoundError, TxnodProjectSuspendedError, TxnodRateLimitError, TxnodServerError, TxnodSignatureInvalidError, TxnodSignatureReplayedError, TxnodSubscriptionExpiredError, TxnodTimestampOutOfWindowError, TxnodTonCommentParseFailedError, TxnodTonConnectDomainMismatchError, TxnodTonConnectNetworkMismatchError, TxnodTonConnectPayloadExpiredError, TxnodTonConnectPayloadUnknownError, TxnodTonConnectSignatureInvalidError, TxnodTonConnectTimestampSkewError, TxnodTonConnectUnknownWalletVersionError, TxnodTonInvalidWalletVersionError, TxnodTonJettonResolveFailedError, TxnodTonOperatorWalletNotDeployedError, TxnodTronNoActivatedAddressesError, TxnodValidationError, TxnodWalletHasActiveBindingsError, TxnodWalletKindMismatchError, TxnodWalletNotBoundError, TxnodWalletNotFoundError, TxnodWalletNotOwnedError, TxnodWebhookCapacityExhaustedError, TxnodXpubNotVerifiedError, TxnodSandboxProjectRequiredError, TxnodProductionProjectRequiredError, TxnodSandboxPerOperatorCapReachedError, TxnodSandboxKeyAgainstProductionProjectError, TxnodProductionKeyAgainstSandboxProjectError, TxnodSandboxProvisioningFailedError, TxnodSandboxInvoiceTransitionInvalidError, TxnodSandboxInvoiceNotFoundError, TxnodSandboxInvoiceTerminalError, TxnodSandboxRateLimitExceededError, TxnodSandboxResetFailedError, TxnodSandboxDeleteFailedError, TxnodSandboxActiveInvoiceCapReachedError, } from '../errors.js';
|
|
2
|
+
export const RETRY_AFTER_CODES = new Set([
|
|
3
|
+
'rate_limit_exceeded',
|
|
4
|
+
'pool_exhausted',
|
|
5
|
+
'webhook_capacity_exhausted',
|
|
6
|
+
]);
|
|
7
|
+
// Entries ordered to match `ERROR_CODES` tuple — drift is grep-visible.
|
|
8
|
+
//
|
|
9
|
+
// Excluded by design: `otp_expired`, `otp_used`, `invite_invalid`. These
|
|
10
|
+
// codes only fire from dashboard auth/invite routes (`/api/auth/otp/*`,
|
|
11
|
+
// invite acceptance) which the partner-HMAC `TxnodClient` cannot reach. If a
|
|
12
|
+
// server bug ever leaks one of these codes onto the SDK plane,
|
|
13
|
+
// `parseProblemDetails` falls through `Ctor === undefined` to a generic
|
|
14
|
+
// `TxnodError` via `degraded()` — the desired behavior. Hence the `Partial<>`.
|
|
15
|
+
export const CODE_TO_CTOR = {
|
|
16
|
+
validation_error: TxnodValidationError,
|
|
17
|
+
invalid_coin: TxnodInvalidCoinError,
|
|
18
|
+
invalid_xpub_format: TxnodInvalidXpubFormatError,
|
|
19
|
+
invalid_webhook_url: TxnodInvalidWebhookUrlError,
|
|
20
|
+
auth_invalid: TxnodAuthInvalidError,
|
|
21
|
+
signature_invalid: TxnodSignatureInvalidError,
|
|
22
|
+
signature_replayed: TxnodSignatureReplayedError,
|
|
23
|
+
timestamp_out_of_window: TxnodTimestampOutOfWindowError,
|
|
24
|
+
key_suspended: TxnodKeySuspendedError,
|
|
25
|
+
project_suspended: TxnodProjectSuspendedError,
|
|
26
|
+
permission_denied: TxnodPermissionDeniedError,
|
|
27
|
+
key_revoked: TxnodKeyRevokedError,
|
|
28
|
+
invoice_not_found: TxnodInvoiceNotFoundError,
|
|
29
|
+
project_not_found: TxnodProjectNotFoundError,
|
|
30
|
+
wallet_not_found: TxnodWalletNotFoundError,
|
|
31
|
+
external_id_conflict: TxnodExternalIdConflictError,
|
|
32
|
+
xpub_not_verified: TxnodXpubNotVerifiedError,
|
|
33
|
+
coin_not_enabled: TxnodCoinNotEnabledError,
|
|
34
|
+
amount_out_of_range: TxnodAmountOutOfRangeError,
|
|
35
|
+
rate_limit_exceeded: TxnodRateLimitError,
|
|
36
|
+
pool_exhausted: TxnodPoolExhaustedError,
|
|
37
|
+
webhook_capacity_exhausted: TxnodWebhookCapacityExhaustedError,
|
|
38
|
+
internal_error: TxnodServerError,
|
|
39
|
+
invoice_not_cancellable: TxnodInvoiceNotCancellableError,
|
|
40
|
+
invalid_state_transition: TxnodInvalidStateTransitionError,
|
|
41
|
+
orphan_not_found: TxnodOrphanNotFoundError,
|
|
42
|
+
orphan_already_attributed: TxnodOrphanAlreadyAttributedError,
|
|
43
|
+
event_not_found: TxnodEventNotFoundError,
|
|
44
|
+
wallet_not_bound: TxnodWalletNotBoundError,
|
|
45
|
+
wallet_not_owned: TxnodWalletNotOwnedError,
|
|
46
|
+
wallet_has_active_bindings: TxnodWalletHasActiveBindingsError,
|
|
47
|
+
wallet_kind_mismatch: TxnodWalletKindMismatchError,
|
|
48
|
+
subscription_expired: TxnodSubscriptionExpiredError,
|
|
49
|
+
tron_no_activated_addresses_available: TxnodTronNoActivatedAddressesError,
|
|
50
|
+
ton_operator_wallet_not_deployed: TxnodTonOperatorWalletNotDeployedError,
|
|
51
|
+
ton_invalid_wallet_version: TxnodTonInvalidWalletVersionError,
|
|
52
|
+
ton_jetton_resolve_failed: TxnodTonJettonResolveFailedError,
|
|
53
|
+
ton_comment_parse_failed: TxnodTonCommentParseFailedError,
|
|
54
|
+
tonconnect_payload_expired: TxnodTonConnectPayloadExpiredError,
|
|
55
|
+
tonconnect_payload_unknown: TxnodTonConnectPayloadUnknownError,
|
|
56
|
+
tonconnect_domain_mismatch: TxnodTonConnectDomainMismatchError,
|
|
57
|
+
tonconnect_timestamp_skew: TxnodTonConnectTimestampSkewError,
|
|
58
|
+
tonconnect_unknown_wallet_version: TxnodTonConnectUnknownWalletVersionError,
|
|
59
|
+
tonconnect_signature_invalid: TxnodTonConnectSignatureInvalidError,
|
|
60
|
+
tonconnect_network_mismatch: TxnodTonConnectNetworkMismatchError,
|
|
61
|
+
sandbox_project_required: TxnodSandboxProjectRequiredError,
|
|
62
|
+
production_project_required: TxnodProductionProjectRequiredError,
|
|
63
|
+
sandbox_per_operator_cap_reached: TxnodSandboxPerOperatorCapReachedError,
|
|
64
|
+
sandbox_key_against_production_project: TxnodSandboxKeyAgainstProductionProjectError,
|
|
65
|
+
production_key_against_sandbox_project: TxnodProductionKeyAgainstSandboxProjectError,
|
|
66
|
+
sandbox_provisioning_failed: TxnodSandboxProvisioningFailedError,
|
|
67
|
+
sandbox_invoice_transition_invalid: TxnodSandboxInvoiceTransitionInvalidError,
|
|
68
|
+
sandbox_invoice_not_found: TxnodSandboxInvoiceNotFoundError,
|
|
69
|
+
sandbox_invoice_terminal: TxnodSandboxInvoiceTerminalError,
|
|
70
|
+
sandbox_rate_limit_exceeded: TxnodSandboxRateLimitExceededError,
|
|
71
|
+
sandbox_reset_failed: TxnodSandboxResetFailedError,
|
|
72
|
+
sandbox_delete_failed: TxnodSandboxDeleteFailedError,
|
|
73
|
+
sandbox_active_invoice_cap_reached: TxnodSandboxActiveInvoiceCapReachedError,
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=error-ctor-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-ctor-map.js","sourceRoot":"","sources":["../../src/internals/error-ctor-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface SignedFetchRequestLogEntry {
|
|
2
|
+
method: 'GET' | 'POST' | 'DELETE';
|
|
3
|
+
path: string;
|
|
4
|
+
status: number;
|
|
5
|
+
durationMs: number;
|
|
6
|
+
attempt: number;
|
|
7
|
+
requestId: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
export type SignedFetchRequestLogger = (entry: SignedFetchRequestLogEntry) => void;
|
|
10
|
+
export interface SignedFetchInput {
|
|
11
|
+
baseUrl: string;
|
|
12
|
+
projectId: string;
|
|
13
|
+
apiSecret: string;
|
|
14
|
+
method: 'GET' | 'POST' | 'DELETE';
|
|
15
|
+
path: string;
|
|
16
|
+
query?: Record<string, string | number | undefined>;
|
|
17
|
+
body?: unknown;
|
|
18
|
+
/** Per-attempt timeout in ms. Aborts via AbortSignal.timeout(). */
|
|
19
|
+
requestTimeoutMs?: number;
|
|
20
|
+
/** Max acceptable response body size in bytes; over-cap responses surface as 502 to the caller. */
|
|
21
|
+
maxResponseBytes?: number;
|
|
22
|
+
/** Optional per-attempt observer for diagnostics. Errors thrown from the logger are swallowed. */
|
|
23
|
+
requestLogger?: SignedFetchRequestLogger;
|
|
24
|
+
/**
|
|
25
|
+
* Extra headers merged into the outbound request after the signing headers
|
|
26
|
+
* (`X-Project-Id`, `X-Timestamp`, `X-Signature`) are set. Use this for
|
|
27
|
+
* out-of-band telemetry headers like `X-Txnod-Client-Environment`. The HMAC
|
|
28
|
+
* scheme signs only `${method}\n${pathname}\n${timestamp}\n${rawBody}`, so
|
|
29
|
+
* extra headers do not alter the signature.
|
|
30
|
+
*/
|
|
31
|
+
extraHeaders?: Record<string, string>;
|
|
32
|
+
}
|
|
33
|
+
export declare function signedFetch(input: SignedFetchInput): Promise<Response>;
|
|
34
|
+
//# sourceMappingURL=fetch-with-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-with-retry.d.ts","sourceRoot":"","sources":["../../src/internals/fetch-with-retry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kGAAkG;IAClG,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AA6ID,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+G5E"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { signRequest } from './hmac.js';
|
|
2
|
+
const MAX_RETRIES_429 = 3;
|
|
3
|
+
const MAX_RETRIES_5XX = 2;
|
|
4
|
+
const BACKOFF_BASE_MS = 500;
|
|
5
|
+
const BACKOFF_CAP_MS = 30_000;
|
|
6
|
+
// Cap any honoured Retry-After at 10 minutes — defends against a hostile/buggy
|
|
7
|
+
// CDN returning a far-future HTTP-date that would otherwise stall the SDK
|
|
8
|
+
// indefinitely. 600 s is well beyond any realistic txnod cooldown.
|
|
9
|
+
const RETRY_AFTER_CAP_SECONDS = 600;
|
|
10
|
+
const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
|
|
11
|
+
// 1 MiB is comfortably above any legitimate txnod response (largest known is
|
|
12
|
+
// the paginated invoice listing at ~50 KiB) and bounds memory under a hostile
|
|
13
|
+
// or misbehaving upstream that streams an unbounded body.
|
|
14
|
+
const DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;
|
|
15
|
+
// POST is only retried on 5xx for status codes the API contract guarantees as
|
|
16
|
+
// safe to re-issue: 503 (pool_exhausted, server overload — server has not yet
|
|
17
|
+
// committed any state change) and 504 (gateway timeout — the request did not
|
|
18
|
+
// reach the application). Other 5xx (500/502) MAY indicate the server already
|
|
19
|
+
// processed the request before failing, so re-issuing risks duplication.
|
|
20
|
+
const POST_RETRYABLE_5XX = new Set([503, 504]);
|
|
21
|
+
function buildUrl(baseUrl, path, query) {
|
|
22
|
+
if (query === undefined)
|
|
23
|
+
return `${baseUrl}${path}`;
|
|
24
|
+
const params = new URLSearchParams();
|
|
25
|
+
for (const [k, v] of Object.entries(query)) {
|
|
26
|
+
if (v === undefined)
|
|
27
|
+
continue;
|
|
28
|
+
params.append(k, typeof v === 'number' ? String(v) : v);
|
|
29
|
+
}
|
|
30
|
+
const qs = params.toString();
|
|
31
|
+
return qs.length === 0 ? `${baseUrl}${path}` : `${baseUrl}${path}?${qs}`;
|
|
32
|
+
}
|
|
33
|
+
function fullJitterBackoff(attempt) {
|
|
34
|
+
return Math.random() * Math.min(BACKOFF_CAP_MS, BACKOFF_BASE_MS * 2 ** attempt);
|
|
35
|
+
}
|
|
36
|
+
function sleep(ms) {
|
|
37
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
38
|
+
}
|
|
39
|
+
// RFC 7231 §7.1.3 allows `Retry-After` to carry either delta-seconds (integer)
|
|
40
|
+
// or an HTTP-date. Third-party proxies (CDN, corporate middlebox) may rewrite
|
|
41
|
+
// integer hints into HTTP-date form, so both must be honored. The result is
|
|
42
|
+
// always capped at RETRY_AFTER_CAP_SECONDS to defend against a hostile or
|
|
43
|
+
// glitching upstream sending a far-future date that would otherwise stall the
|
|
44
|
+
// SDK for hours/years.
|
|
45
|
+
function parseRetryAfterSeconds(header) {
|
|
46
|
+
if (header === null)
|
|
47
|
+
return 0;
|
|
48
|
+
const trimmed = header.trim();
|
|
49
|
+
let raw;
|
|
50
|
+
if (/^\d+$/.test(trimmed)) {
|
|
51
|
+
const n = parseInt(trimmed, 10);
|
|
52
|
+
raw = Number.isFinite(n) && n > 0 ? n : 0;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const ms = Date.parse(header);
|
|
56
|
+
if (!Number.isFinite(ms))
|
|
57
|
+
return 0;
|
|
58
|
+
const deltaSec = Math.ceil((ms - Date.now()) / 1000);
|
|
59
|
+
raw = deltaSec > 0 ? deltaSec : 0;
|
|
60
|
+
}
|
|
61
|
+
return Math.min(raw, RETRY_AFTER_CAP_SECONDS);
|
|
62
|
+
}
|
|
63
|
+
async function readBodyWithCap(response, capBytes) {
|
|
64
|
+
// Respect Content-Length when present — fail fast without buffering.
|
|
65
|
+
const declared = response.headers.get('Content-Length');
|
|
66
|
+
if (declared !== null) {
|
|
67
|
+
const n = parseInt(declared, 10);
|
|
68
|
+
if (Number.isFinite(n) && n > capBytes)
|
|
69
|
+
return { ok: false, status: 502 };
|
|
70
|
+
}
|
|
71
|
+
// Try streaming for true bounding. If the runtime/test harness produces a
|
|
72
|
+
// Response whose body is null or already-locked, fall back to a one-shot
|
|
73
|
+
// `.text()` and post-hoc size check — still bounded for any sane producer.
|
|
74
|
+
let reader;
|
|
75
|
+
try {
|
|
76
|
+
const body = response.body;
|
|
77
|
+
if (body !== null)
|
|
78
|
+
reader = body.getReader();
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
reader = undefined;
|
|
82
|
+
}
|
|
83
|
+
if (reader === undefined) {
|
|
84
|
+
let text;
|
|
85
|
+
try {
|
|
86
|
+
text = await response.text();
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Body unreadable for any reason — surface as bounded-empty.
|
|
90
|
+
return { ok: true, text: '' };
|
|
91
|
+
}
|
|
92
|
+
if (text.length > capBytes)
|
|
93
|
+
return { ok: false, status: 502 };
|
|
94
|
+
return { ok: true, text };
|
|
95
|
+
}
|
|
96
|
+
const chunks = [];
|
|
97
|
+
let total = 0;
|
|
98
|
+
for (;;) {
|
|
99
|
+
const { done, value } = await reader.read();
|
|
100
|
+
if (done)
|
|
101
|
+
break;
|
|
102
|
+
if (value) {
|
|
103
|
+
total += value.byteLength;
|
|
104
|
+
if (total > capBytes) {
|
|
105
|
+
try {
|
|
106
|
+
await reader.cancel();
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// ignore — we are abandoning the body anyway.
|
|
110
|
+
}
|
|
111
|
+
return { ok: false, status: 502 };
|
|
112
|
+
}
|
|
113
|
+
chunks.push(value);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return { ok: true, text: new TextDecoder('utf-8').decode(concatChunks(chunks, total)) };
|
|
117
|
+
}
|
|
118
|
+
function concatChunks(chunks, total) {
|
|
119
|
+
const out = new Uint8Array(total);
|
|
120
|
+
let off = 0;
|
|
121
|
+
for (const c of chunks) {
|
|
122
|
+
out.set(c, off);
|
|
123
|
+
off += c.byteLength;
|
|
124
|
+
}
|
|
125
|
+
return out;
|
|
126
|
+
}
|
|
127
|
+
function emitLog(logger, entry) {
|
|
128
|
+
if (logger === undefined)
|
|
129
|
+
return;
|
|
130
|
+
try {
|
|
131
|
+
logger(entry);
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// Diagnostic-only — never fail a request because the partner's logger threw.
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export async function signedFetch(input) {
|
|
138
|
+
const rawBody = input.body === undefined ? '' : JSON.stringify(input.body);
|
|
139
|
+
const url = buildUrl(input.baseUrl, input.path, input.query);
|
|
140
|
+
// The signed pathname must match what the server's `new URL(request.url).pathname`
|
|
141
|
+
// produces — the route prefix lives inside `baseUrl`, the route-relative
|
|
142
|
+
// segment lives in `input.path`. Server-side base prefix lives at the same
|
|
143
|
+
// origin so `new URL(rawUrl).pathname` is the full prefix+suffix.
|
|
144
|
+
const signedPathname = new URL(url).pathname;
|
|
145
|
+
const timeoutMs = input.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
146
|
+
const capBytes = input.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
|
|
147
|
+
let attempt = 0;
|
|
148
|
+
for (;;) {
|
|
149
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
150
|
+
const signature = signRequest(input.apiSecret, input.method, signedPathname, timestamp, rawBody);
|
|
151
|
+
const headers = new Headers();
|
|
152
|
+
headers.set('X-Project-Id', input.projectId);
|
|
153
|
+
headers.set('X-Timestamp', String(timestamp));
|
|
154
|
+
headers.set('X-Signature', signature);
|
|
155
|
+
if (rawBody.length > 0) {
|
|
156
|
+
headers.set('Content-Type', 'application/json');
|
|
157
|
+
}
|
|
158
|
+
if (input.extraHeaders !== undefined) {
|
|
159
|
+
for (const [k, v] of Object.entries(input.extraHeaders)) {
|
|
160
|
+
headers.set(k, v);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const init = {
|
|
164
|
+
method: input.method,
|
|
165
|
+
headers,
|
|
166
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
167
|
+
};
|
|
168
|
+
if ((input.method === 'POST' || input.method === 'DELETE') && rawBody.length > 0) {
|
|
169
|
+
init.body = rawBody;
|
|
170
|
+
}
|
|
171
|
+
const startedAt = Date.now();
|
|
172
|
+
const response = await globalThis.fetch(url, init);
|
|
173
|
+
const requestId = response.headers.get('X-Txnod-Request-Id') ?? undefined;
|
|
174
|
+
// Body-size cap — read the entire body once, replace `response` with a
|
|
175
|
+
// synthetic Response carrying the buffered text. Downstream callers
|
|
176
|
+
// (`#request` in client.ts) expect `await response.text()`-able bodies.
|
|
177
|
+
const capped = await readBodyWithCap(response, capBytes);
|
|
178
|
+
let materialized;
|
|
179
|
+
if (capped.ok) {
|
|
180
|
+
materialized = new Response(capped.text, {
|
|
181
|
+
status: response.status,
|
|
182
|
+
headers: response.headers,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
materialized = new Response(JSON.stringify({
|
|
187
|
+
type: 'about:blank',
|
|
188
|
+
title: 'Response body exceeded SDK size cap',
|
|
189
|
+
status: 502,
|
|
190
|
+
error_code: 'internal_error',
|
|
191
|
+
request_id: requestId ?? '',
|
|
192
|
+
}), {
|
|
193
|
+
status: 502,
|
|
194
|
+
headers: { 'Content-Type': 'application/problem+json' },
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const durationMs = Date.now() - startedAt;
|
|
198
|
+
emitLog(input.requestLogger, {
|
|
199
|
+
method: input.method,
|
|
200
|
+
path: signedPathname,
|
|
201
|
+
status: materialized.status,
|
|
202
|
+
durationMs,
|
|
203
|
+
attempt: attempt + 1,
|
|
204
|
+
requestId,
|
|
205
|
+
});
|
|
206
|
+
if (materialized.status === 429 && attempt < MAX_RETRIES_429) {
|
|
207
|
+
const retryAfterSec = parseRetryAfterSeconds(materialized.headers.get('Retry-After'));
|
|
208
|
+
const backoffMs = fullJitterBackoff(attempt);
|
|
209
|
+
await sleep(Math.max(retryAfterSec * 1000, backoffMs));
|
|
210
|
+
attempt += 1;
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
if (materialized.status >= 500 &&
|
|
214
|
+
materialized.status < 600 &&
|
|
215
|
+
attempt < MAX_RETRIES_5XX &&
|
|
216
|
+
isRetryable5xxFor(input.method, materialized.status)) {
|
|
217
|
+
const retryAfterSec = parseRetryAfterSeconds(materialized.headers.get('Retry-After'));
|
|
218
|
+
const backoffMs = fullJitterBackoff(attempt);
|
|
219
|
+
await sleep(Math.max(retryAfterSec * 1000, backoffMs));
|
|
220
|
+
attempt += 1;
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
return materialized;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function isRetryable5xxFor(method, status) {
|
|
227
|
+
if (method === 'GET')
|
|
228
|
+
return true;
|
|
229
|
+
// DELETE is treated like POST for retry safety: only re-issue on 503/504
|
|
230
|
+
// since the server may have committed state on 500/502.
|
|
231
|
+
return POST_RETRYABLE_5XX.has(status);
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=fetch-with-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-with-retry.js","sourceRoot":"","sources":["../../src/internals/fetch-with-retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/internals/hmac.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createHmac } from 'node:crypto';
|
|
2
|
+
// Bytes signed match the server-side `verify-partner-hmac.ts` exactly. Method
|
|
3
|
+
// and path are bound into the input so a captured (X-Timestamp, X-Signature)
|
|
4
|
+
// pair cannot be replayed against a different endpoint of the same project.
|
|
5
|
+
export function signRequest(secret, method, pathname, timestamp, rawBody) {
|
|
6
|
+
return createHmac('sha256', secret)
|
|
7
|
+
.update(`${method}\n${pathname}\n${timestamp}\n${rawBody}`)
|
|
8
|
+
.digest('hex');
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=hmac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/internals/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,SAAiB,EACjB,OAAe;IAEf,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAChC,MAAM,CAAC,GAAG,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC;SAC1D,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK-private pino logger singleton. Used by verify/index.ts edge case (a)
|
|
3
|
+
* warning when the API response omits derivation_path. Intentionally NOT a
|
|
4
|
+
* re-export of @txnod/shared's createLogger — that would force a runtime
|
|
5
|
+
* workspace dep and break the dist-self-containment guard.
|
|
6
|
+
*/
|
|
7
|
+
import { type Logger } from 'pino';
|
|
8
|
+
export declare const logger: Logger;
|
|
9
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/internals/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEzC,eAAO,MAAM,MAAM,EAAE,MAOnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK-private pino logger singleton. Used by verify/index.ts edge case (a)
|
|
3
|
+
* warning when the API response omits derivation_path. Intentionally NOT a
|
|
4
|
+
* re-export of @txnod/shared's createLogger — that would force a runtime
|
|
5
|
+
* workspace dep and break the dist-self-containment guard.
|
|
6
|
+
*/
|
|
7
|
+
import { pino } from 'pino';
|
|
8
|
+
export const logger = pino({
|
|
9
|
+
name: '@txnod/sdk',
|
|
10
|
+
level: process.env.TXNOD_SDK_LOG_LEVEL ?? 'warn',
|
|
11
|
+
redact: {
|
|
12
|
+
paths: ['xpub', '*.xpub', '*.*.xpub', 'apiSecret', '*.apiSecret'],
|
|
13
|
+
censor: '[redacted]',
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/internals/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAe,MAAM,MAAM,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAW,IAAI,CAAC;IACjC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM;IAChD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC;QACjE,MAAM,EAAE,YAAY;KACrB;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-problem-details.d.ts","sourceRoot":"","sources":["../../src/internals/parse-problem-details.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA6C1C,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,UAAU,CAAC,CAuCrB"}
|