@txnod/sdk 1.0.2 → 1.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "@txnod/sdk — agent entry point"
3
3
  description: "How AI coding agents should consume @txnod/sdk documentation shipped inside the npm tarball."
4
- sdk_version: 1.0.2
4
+ sdk_version: 1.1.0
5
5
  ---
6
6
 
7
7
  # @txnod/sdk — agent entry point
package/CHANGELOG.md CHANGED
@@ -4,6 +4,22 @@ All notable changes to `@txnod/sdk` are documented here. Format: [Keep a Changel
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.1.0] - 2026-06-11
8
+
9
+ ### Added
10
+
11
+ - New sandbox invoice CRUD methods on `client.sandbox.*` — `createInvoice(body)`, `getInvoice(invoiceId)`, `listInvoices(query?)`, `cancelInvoice(invoiceId)` — mirroring the kind-locked production invoice surface against `/api/v1/sandbox/invoices`. The production `/api/v1/invoices` endpoints are production-kind-only and reject sandbox projects with `production_project_required`; sandbox projects must use these mirrors. Same request/response schemas and `(project_id, external_id)` idempotency contract; subject to the sandbox 10k active-invoice cap (`TxnodSandboxActiveInvoiceCapReachedError`).
12
+ - New sandbox webhook delivery-log methods on `client.sandbox.*` — `listWebhookEvents(query?)` and `resendWebhookEvent(eventId)` — mirroring the kind-locked production `/api/v1/webhooks/events` surface against `/api/v1/sandbox/webhooks/events`. Same snake_case filters and response envelopes (`WebhookEventListResponse`, `WebhookEventResendResponse`); every listed row corresponds to an envelope delivered with `mode: 'sandbox'`.
13
+ - New re-exported types from `@txnod/shared`: `ClockAdvance`, `CursorPaginatedInvoiceResponse`, `CursorPaginatedOrphanPaymentResponse`, `InvoiceCreateRequest`, `InvoiceResponse`, `InvoiceSearchQuery`, `OrphanAttributeRequest`, `OrphanPaymentListQuery`, `QuoteQuery`, `QuoteResponse`, `RatesQuery`, `RatesResponse`, `SimulateEvent`, `SimulateLatePayment`, `SimulateOverpaid`, `SimulatePartial`, `WalletsListResponse`, `WebhookEventListApiQuery`, `WebhookEventListResponse`, `WebhookEventResendResponse`.
14
+
15
+ ### Changed
16
+
17
+ - `amount_usd` on invoice creation now enforces server-side bounds: minimum `0.01`, maximum `1_000_000_000`. Sub-cent values previously scaled to 0 base units and surfaced as an opaque HTTP 500; out-of-bounds values now reject at the validation edge with a typed message. (Pre-launch stance: shipped as a minor with no compatibility shim.)
18
+
19
+ ### Fixed
20
+
21
+ - `verifyAddress` no longer throws `AddressVerificationError` for every EVM invoice (ETH / Polygon / BSC). The gateway serves canonical-lowercase EVM addresses while the verifier derives the EIP-55 checksummed form; the comparison was strict-equality and failed on casing alone. EVM hex addresses are case-insensitive by definition (EIP-55 is a display-layer checksum), so the comparison now lowercases both sides. TRON (base58check), TON (base64url), and bech32-chain comparisons remain exact.
22
+
7
23
  ## [1.0.2] - 2026-05-11
8
24
 
9
25
  ### Added
@@ -7,11 +7,21 @@ export type InvoiceStatus = "pending" | "detected" | "paid" | "overpaid" | "part
7
7
 
8
8
  export type InvoiceCreateRequest = { external_id: string; coin: "btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton"; amount_usd?: number | undefined; amount_crypto?: string | undefined; callback_url?: string | undefined; metadata?: Record<string, unknown> | undefined; };
9
9
 
10
- export type InvoiceResponse = { id: string; project_id: string; external_id: string; coin: "btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton"; address: string; amount_crypto: string; amount_crypto_units: string; amount_usd: number | null; rate_snapshot: { rate: string; source: "coingecko"; quoted_at: string; rate_is_stale: boolean; rate_age_seconds: number; } | null; payment_token: string | null; payment_uri: string; callback_url: string | null; metadata: Record<string, unknown> | null; matching_mode: "any" | "exact" | "at_least"; confirmation_threshold: number; status: "pending" | "detected" | "paid" | "overpaid" | "partial" | "expired" | "expired_paid_late" | "reverted" | "cancelled" | "ambiguous"; expires_at: number; expires_at_iso: string; created_at: number; created_at_iso: string; derivation_path?: string | undefined; verification_standard?: "bip84" | "bip44" | "cip1852" | "bip44_ed25519" | undefined; transactions?: { id: string; chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; tx_hash: string; to_address: string | null; tx_output_index: number | null; amount_units: string; block_height: number | null; confirmations: number; received_at: number; received_at_iso: string; orphaned_at: number | null; orphaned_at_iso: string | null; }[] | undefined; confirmations?: number | undefined; };
10
+ export type InvoiceResponse = { id: string; project_id: string; external_id: string; coin: "btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton"; address: string; amount_crypto: string; amount_crypto_units: string; amount_usd: number | null; rate_snapshot: { rate: string; source: "coinpaprika" | "coingecko"; quoted_at: string; rate_is_stale: boolean; rate_age_seconds: number; } | null; payment_token: string | null; payment_uri: string; callback_url: string | null; metadata: Record<string, unknown> | null; matching_mode: "any" | "exact" | "at_least"; confirmation_threshold: number; status: "pending" | "detected" | "paid" | "overpaid" | "partial" | "expired" | "expired_paid_late" | "reverted" | "cancelled" | "ambiguous"; expires_at: number; expires_at_iso: string; created_at: number; created_at_iso: string; derivation_path?: string | undefined; verification_standard?: "bip84" | "bip44" | "cip1852" | "bip44_ed25519" | undefined; transactions?: { id: string; chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; tx_hash: string; to_address: string | null; tx_output_index: number | null; amount_units: string; block_height: number | null; confirmations: number; received_at: number; received_at_iso: string; orphaned_at: number | null; orphaned_at_iso: string | null; }[] | undefined; confirmations?: number | undefined; };
11
+
12
+ export type InvoiceDetailResponse = { id: string; project_id: string; external_id: string; coin: "btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton"; address: string; amount_crypto: string; amount_crypto_units: string; amount_usd: number | null; rate_snapshot: { rate: string; source: "coinpaprika" | "coingecko"; quoted_at: string; rate_is_stale: boolean; rate_age_seconds: number; } | null; payment_token: string | null; payment_uri: string; callback_url: string | null; metadata: Record<string, unknown> | null; matching_mode: "any" | "exact" | "at_least"; confirmation_threshold: number; status: "pending" | "detected" | "paid" | "overpaid" | "partial" | "expired" | "expired_paid_late" | "reverted" | "cancelled" | "ambiguous"; expires_at: number; expires_at_iso: string; created_at: number; created_at_iso: string; transactions: { id: string; chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; tx_hash: string; to_address: string | null; tx_output_index: number | null; amount_units: string; block_height: number | null; confirmations: number; received_at: number; received_at_iso: string; orphaned_at: number | null; orphaned_at_iso: string | null; }[]; confirmations: number; derivation_path?: string | undefined; verification_standard?: "bip84" | "bip44" | "cip1852" | "bip44_ed25519" | undefined; };
11
13
 
12
14
  export type InvoiceSearchQuery = { external_id?: string | undefined; address?: string | undefined; tx_hash?: string | undefined; amount?: string | undefined; status?: "pending" | "detected" | "paid" | "overpaid" | "partial" | "expired" | "expired_paid_late" | "reverted" | "cancelled" | "ambiguous" | undefined; date_from?: string | undefined; date_to?: string | undefined; cursor?: string | undefined; limit?: number | undefined; };
13
15
 
14
- export type CursorPaginatedInvoiceResponse = { items: { id: string; project_id: string; external_id: string; coin: "btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton"; address: string; amount_crypto: string; amount_crypto_units: string; amount_usd: number | null; rate_snapshot: { rate: string; source: "coingecko"; quoted_at: string; rate_is_stale: boolean; rate_age_seconds: number; } | null; payment_token: string | null; payment_uri: string; callback_url: string | null; metadata: Record<string, unknown> | null; matching_mode: "any" | "exact" | "at_least"; confirmation_threshold: number; status: "pending" | "detected" | "paid" | "overpaid" | "partial" | "expired" | "expired_paid_late" | "reverted" | "cancelled" | "ambiguous"; expires_at: number; expires_at_iso: string; created_at: number; created_at_iso: string; derivation_path?: string | undefined; verification_standard?: "bip84" | "bip44" | "cip1852" | "bip44_ed25519" | undefined; transactions?: { id: string; chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; tx_hash: string; to_address: string | null; tx_output_index: number | null; amount_units: string; block_height: number | null; confirmations: number; received_at: number; received_at_iso: string; orphaned_at: number | null; orphaned_at_iso: string | null; }[] | undefined; confirmations?: number | undefined; }[]; next_cursor?: string | undefined; };
16
+ export type CursorPaginatedInvoiceResponse = { items: { id: string; project_id: string; external_id: string; coin: "btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton"; address: string; amount_crypto: string; amount_crypto_units: string; amount_usd: number | null; rate_snapshot: { rate: string; source: "coinpaprika" | "coingecko"; quoted_at: string; rate_is_stale: boolean; rate_age_seconds: number; } | null; payment_token: string | null; payment_uri: string; callback_url: string | null; metadata: Record<string, unknown> | null; matching_mode: "any" | "exact" | "at_least"; confirmation_threshold: number; status: "pending" | "detected" | "paid" | "overpaid" | "partial" | "expired" | "expired_paid_late" | "reverted" | "cancelled" | "ambiguous"; expires_at: number; expires_at_iso: string; created_at: number; created_at_iso: string; derivation_path?: string | undefined; verification_standard?: "bip84" | "bip44" | "cip1852" | "bip44_ed25519" | undefined; transactions?: { id: string; chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; tx_hash: string; to_address: string | null; tx_output_index: number | null; amount_units: string; block_height: number | null; confirmations: number; received_at: number; received_at_iso: string; orphaned_at: number | null; orphaned_at_iso: string | null; }[] | undefined; confirmations?: number | undefined; }[]; next_cursor?: string | undefined; };
17
+
18
+ export type ClaimByTxRequest = { tx_hash: string; chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; };
19
+
20
+ export type ClaimByTxResponse = { request_id: string; status: "auto_attributed" | "pending_finality" | "pending_review" | "rejected"; resolved_facts: { sender_address?: string | undefined; recipient_address?: string | undefined; amount_units?: string | undefined; tx_timestamp_ms?: number | undefined; confirmations?: number | undefined; tx_output_index?: number | null | undefined; tx_lt?: string | null | undefined; ton_mc_block_depth?: number | null | undefined; token_contract?: string | undefined; }; terminal_status?: "paid" | "overpaid" | "partial" | undefined; rejection_reason?: "tx_not_found_or_incomplete" | "tx_already_attributed" | undefined; };
21
+
22
+ export type ManualClaimFinalityThreshold = ManualClaimFinalityThreshold;
23
+
24
+ export type ResolvedFacts = { sender_address: string; recipient_address: string; amount_units: string; tx_timestamp_ms: number; confirmations: number; tx_output_index: number | null; tx_lt: string | null; ton_mc_block_depth: number | null; token_contract?: string | undefined; };
15
25
 
16
26
  export type OrphanPaymentListQuery = { attributed?: boolean | undefined; chain?: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc" | undefined; tx_hash?: string | undefined; date_from?: string | undefined; date_to?: string | undefined; amount_units_gte?: string | undefined; amount_units_lte?: string | undefined; cursor?: string | undefined; limit?: number | undefined; };
17
27
 
@@ -35,15 +45,15 @@ export type WebhookEventType = "invoice.detected" | "invoice.paid" | "invoice.ov
35
45
 
36
46
  export type RatesQuery = { coins?: string | undefined; };
37
47
 
38
- export type RatesResponse = { quoted_at: string; source: "coingecko"; rates: Partial<Record<"btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton", { rate: string; rate_is_stale: boolean; rate_age_seconds: number; }>>; indicative_notice: string; };
48
+ export type RatesResponse = { quoted_at: string; source: "coinpaprika" | "coingecko"; rates: Partial<Record<"btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton", { rate: string; rate_is_stale: boolean; rate_age_seconds: number; }>>; indicative_notice: string; };
39
49
 
40
50
  export type QuoteQuery = { amount_usd: number; coins?: string | undefined; };
41
51
 
42
- export type QuoteResponse = { amount_usd: number; quoted_at: string; source: "coingecko"; quotes: Partial<Record<"btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton", { amount_crypto: string; amount_crypto_units: string; rate: string; rate_is_stale: boolean; rate_age_seconds: number; }>>; indicative_notice: string; };
52
+ export type QuoteResponse = { amount_usd: number; quoted_at: string; source: "coinpaprika" | "coingecko"; quotes: Partial<Record<"btc" | "eth" | "usdt_erc20" | "usdc_erc20" | "trx" | "usdt_trc20" | "ada" | "pol" | "usdt_polygon" | "usdc_polygon" | "bnb" | "usdt_bep20" | "usdc_bep20" | "ton" | "usdt_ton", { amount_crypto: string; amount_crypto_units: string; rate: string; rate_is_stale: boolean; rate_age_seconds: number; }>>; indicative_notice: string; };
43
53
 
44
- export type ErrorCode = "validation_error" | "invalid_coin" | "invalid_xpub_format" | "invalid_webhook_url" | "auth_invalid" | "signature_invalid" | "signature_replayed" | "timestamp_out_of_window" | "key_suspended" | "project_suspended" | "permission_denied" | "key_revoked" | "invoice_not_found" | "project_not_found" | "wallet_not_found" | "external_id_conflict" | "xpub_not_verified" | "coin_not_enabled" | "amount_out_of_range" | "rate_limit_exceeded" | "pool_exhausted" | "webhook_capacity_exhausted" | "duplicate_provider_webhook_id" | "otp_expired" | "otp_used" | "invite_invalid" | "internal_error" | "invoice_not_cancellable" | "invalid_state_transition" | "orphan_not_found" | "orphan_already_attributed" | "event_not_found" | "wallet_not_bound" | "wallet_not_owned" | "wallet_has_active_bindings" | "wallet_kind_mismatch" | "subscription_expired" | "tron_no_activated_addresses_available" | "ton_operator_wallet_not_deployed" | "ton_invalid_wallet_version" | "ton_jetton_resolve_failed" | "ton_comment_parse_failed" | "tonconnect_payload_expired" | "tonconnect_payload_unknown" | "tonconnect_domain_mismatch" | "tonconnect_timestamp_skew" | "tonconnect_unknown_wallet_version" | "tonconnect_signature_invalid" | "tonconnect_network_mismatch" | "sandbox_project_required" | "production_project_required" | "sandbox_per_operator_cap_reached" | "sandbox_key_against_production_project" | "production_key_against_sandbox_project" | "sandbox_provisioning_failed" | "sandbox_invoice_transition_invalid" | "sandbox_invoice_not_found" | "sandbox_invoice_terminal" | "sandbox_rate_limit_exceeded" | "sandbox_reset_failed" | "sandbox_delete_failed" | "sandbox_active_invoice_cap_reached" | "overlay_matching_mode_required_exact" | "tx_not_found_or_incomplete" | "tx_already_attributed" | "manual_claim_rate_limit_exceeded" | "manual_claim_not_pending_review" | "manual_claim_invoice_not_open";
54
+ export type ErrorCode = "tx_not_found_or_incomplete" | "tx_already_attributed" | "validation_error" | "invalid_coin" | "invalid_xpub_format" | "invalid_webhook_url" | "auth_invalid" | "signature_invalid" | "signature_replayed" | "timestamp_out_of_window" | "key_suspended" | "project_suspended" | "permission_denied" | "key_revoked" | "invoice_not_found" | "project_not_found" | "wallet_not_found" | "external_id_conflict" | "xpub_not_verified" | "coin_not_enabled" | "amount_out_of_range" | "rate_limit_exceeded" | "pool_exhausted" | "webhook_capacity_exhausted" | "duplicate_provider_webhook_id" | "otp_expired" | "otp_used" | "invite_invalid" | "internal_error" | "invoice_not_cancellable" | "invalid_state_transition" | "orphan_not_found" | "orphan_already_attributed" | "event_not_found" | "wallet_not_bound" | "wallet_not_owned" | "wallet_has_active_bindings" | "wallet_kind_mismatch" | "subscription_expired" | "tron_no_activated_addresses_available" | "ton_operator_wallet_not_deployed" | "ton_invalid_wallet_version" | "ton_jetton_resolve_failed" | "ton_comment_parse_failed" | "tonconnect_payload_expired" | "tonconnect_payload_unknown" | "tonconnect_domain_mismatch" | "tonconnect_timestamp_skew" | "tonconnect_unknown_wallet_version" | "tonconnect_signature_invalid" | "tonconnect_network_mismatch" | "sandbox_project_required" | "production_project_required" | "sandbox_per_operator_cap_reached" | "sandbox_key_against_production_project" | "production_key_against_sandbox_project" | "sandbox_provisioning_failed" | "sandbox_invoice_transition_invalid" | "sandbox_invoice_not_found" | "sandbox_invoice_terminal" | "sandbox_rate_limit_exceeded" | "sandbox_reset_failed" | "sandbox_delete_failed" | "sandbox_active_invoice_cap_reached" | "overlay_matching_mode_required_exact" | "manual_claim_rate_limit_exceeded" | "manual_claim_not_pending_review" | "manual_claim_invoice_not_open" | "event_not_resendable" | "rate_quote_unavailable";
45
55
 
46
- export type ProblemDetails = { type: "about:blank"; title: string; status: number; error_code: "validation_error" | "invalid_coin" | "invalid_xpub_format" | "invalid_webhook_url" | "auth_invalid" | "signature_invalid" | "signature_replayed" | "timestamp_out_of_window" | "key_suspended" | "project_suspended" | "permission_denied" | "key_revoked" | "invoice_not_found" | "project_not_found" | "wallet_not_found" | "external_id_conflict" | "xpub_not_verified" | "coin_not_enabled" | "amount_out_of_range" | "rate_limit_exceeded" | "pool_exhausted" | "webhook_capacity_exhausted" | "duplicate_provider_webhook_id" | "otp_expired" | "otp_used" | "invite_invalid" | "internal_error" | "invoice_not_cancellable" | "invalid_state_transition" | "orphan_not_found" | "orphan_already_attributed" | "event_not_found" | "wallet_not_bound" | "wallet_not_owned" | "wallet_has_active_bindings" | "wallet_kind_mismatch" | "subscription_expired" | "tron_no_activated_addresses_available" | "ton_operator_wallet_not_deployed" | "ton_invalid_wallet_version" | "ton_jetton_resolve_failed" | "ton_comment_parse_failed" | "tonconnect_payload_expired" | "tonconnect_payload_unknown" | "tonconnect_domain_mismatch" | "tonconnect_timestamp_skew" | "tonconnect_unknown_wallet_version" | "tonconnect_signature_invalid" | "tonconnect_network_mismatch" | "sandbox_project_required" | "production_project_required" | "sandbox_per_operator_cap_reached" | "sandbox_key_against_production_project" | "production_key_against_sandbox_project" | "sandbox_provisioning_failed" | "sandbox_invoice_transition_invalid" | "sandbox_invoice_not_found" | "sandbox_invoice_terminal" | "sandbox_rate_limit_exceeded" | "sandbox_reset_failed" | "sandbox_delete_failed" | "sandbox_active_invoice_cap_reached" | "overlay_matching_mode_required_exact" | "tx_not_found_or_incomplete" | "tx_already_attributed" | "manual_claim_rate_limit_exceeded" | "manual_claim_not_pending_review" | "manual_claim_invoice_not_open"; request_id: string; errors?: unknown[] | undefined; wallet_id?: string | undefined; current_status?: string | undefined; requested_event?: string | undefined; current_count?: number | undefined; reset_url?: string | undefined; failed_step?: string | null | undefined; wallet_kind?: "production" | "testnet" | "sandbox" | undefined; project_kind?: "production" | "testnet" | "sandbox" | undefined; attempted_mode?: "any" | "at_least" | undefined; };
56
+ export type ProblemDetails = { type: "about:blank"; title: string; status: number; error_code: "tx_not_found_or_incomplete" | "tx_already_attributed" | "validation_error" | "invalid_coin" | "invalid_xpub_format" | "invalid_webhook_url" | "auth_invalid" | "signature_invalid" | "signature_replayed" | "timestamp_out_of_window" | "key_suspended" | "project_suspended" | "permission_denied" | "key_revoked" | "invoice_not_found" | "project_not_found" | "wallet_not_found" | "external_id_conflict" | "xpub_not_verified" | "coin_not_enabled" | "amount_out_of_range" | "rate_limit_exceeded" | "pool_exhausted" | "webhook_capacity_exhausted" | "duplicate_provider_webhook_id" | "otp_expired" | "otp_used" | "invite_invalid" | "internal_error" | "invoice_not_cancellable" | "invalid_state_transition" | "orphan_not_found" | "orphan_already_attributed" | "event_not_found" | "wallet_not_bound" | "wallet_not_owned" | "wallet_has_active_bindings" | "wallet_kind_mismatch" | "subscription_expired" | "tron_no_activated_addresses_available" | "ton_operator_wallet_not_deployed" | "ton_invalid_wallet_version" | "ton_jetton_resolve_failed" | "ton_comment_parse_failed" | "tonconnect_payload_expired" | "tonconnect_payload_unknown" | "tonconnect_domain_mismatch" | "tonconnect_timestamp_skew" | "tonconnect_unknown_wallet_version" | "tonconnect_signature_invalid" | "tonconnect_network_mismatch" | "sandbox_project_required" | "production_project_required" | "sandbox_per_operator_cap_reached" | "sandbox_key_against_production_project" | "production_key_against_sandbox_project" | "sandbox_provisioning_failed" | "sandbox_invoice_transition_invalid" | "sandbox_invoice_not_found" | "sandbox_invoice_terminal" | "sandbox_rate_limit_exceeded" | "sandbox_reset_failed" | "sandbox_delete_failed" | "sandbox_active_invoice_cap_reached" | "overlay_matching_mode_required_exact" | "manual_claim_rate_limit_exceeded" | "manual_claim_not_pending_review" | "manual_claim_invoice_not_open" | "event_not_resendable" | "rate_quote_unavailable"; request_id: string; errors?: unknown[] | undefined; wallet_id?: string | undefined; current_status?: string | undefined; requested_event?: string | undefined; current_count?: number | undefined; reset_url?: string | undefined; failed_step?: string | null | undefined; wallet_kind?: "production" | "testnet" | "sandbox" | undefined; project_kind?: "production" | "testnet" | "sandbox" | undefined; attempted_mode?: "any" | "at_least" | undefined; };
47
57
 
48
58
  export type Chain = "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc";
49
59
 
@@ -63,6 +73,6 @@ export type SimulatePartial = { fraction?: number | undefined; amountUnits?: str
63
73
 
64
74
  export type WalletsListResponse = { items: { chain: "btc" | "eth" | "ada" | "ton" | "tron" | "polygon" | "bsc"; xpub: string | null; derivation_path: string; stake_address: string | null; ed25519_pubkey_hex: string | null; }[]; };
65
75
 
66
- export declare const ERROR_CODES: readonly ["validation_error", "invalid_coin", "invalid_xpub_format", "invalid_webhook_url", "auth_invalid", "signature_invalid", "signature_replayed", "timestamp_out_of_window", "key_suspended", "project_suspended", "permission_denied", "key_revoked", "invoice_not_found", "project_not_found", "wallet_not_found", "external_id_conflict", "xpub_not_verified", "coin_not_enabled", "amount_out_of_range", "rate_limit_exceeded", "pool_exhausted", "webhook_capacity_exhausted", "duplicate_provider_webhook_id", "otp_expired", "otp_used", "invite_invalid", "internal_error", "invoice_not_cancellable", "invalid_state_transition", "orphan_not_found", "orphan_already_attributed", "event_not_found", "wallet_not_bound", "wallet_not_owned", "wallet_has_active_bindings", "wallet_kind_mismatch", "subscription_expired", "tron_no_activated_addresses_available", "ton_operator_wallet_not_deployed", "ton_invalid_wallet_version", "ton_jetton_resolve_failed", "ton_comment_parse_failed", "tonconnect_payload_expired", "tonconnect_payload_unknown", "tonconnect_domain_mismatch", "tonconnect_timestamp_skew", "tonconnect_unknown_wallet_version", "tonconnect_signature_invalid", "tonconnect_network_mismatch", "sandbox_project_required", "production_project_required", "sandbox_per_operator_cap_reached", "sandbox_key_against_production_project", "production_key_against_sandbox_project", "sandbox_provisioning_failed", "sandbox_invoice_transition_invalid", "sandbox_invoice_not_found", "sandbox_invoice_terminal", "sandbox_rate_limit_exceeded", "sandbox_reset_failed", "sandbox_delete_failed", "sandbox_active_invoice_cap_reached", "overlay_matching_mode_required_exact", "tx_not_found_or_incomplete", "tx_already_attributed", "manual_claim_rate_limit_exceeded", "manual_claim_not_pending_review", "manual_claim_invoice_not_open"];
76
+ export declare const ERROR_CODES: readonly ["validation_error", "invalid_coin", "invalid_xpub_format", "invalid_webhook_url", "auth_invalid", "signature_invalid", "signature_replayed", "timestamp_out_of_window", "key_suspended", "project_suspended", "permission_denied", "key_revoked", "invoice_not_found", "project_not_found", "wallet_not_found", "external_id_conflict", "xpub_not_verified", "coin_not_enabled", "amount_out_of_range", "rate_limit_exceeded", "pool_exhausted", "webhook_capacity_exhausted", "duplicate_provider_webhook_id", "otp_expired", "otp_used", "invite_invalid", "internal_error", "invoice_not_cancellable", "invalid_state_transition", "orphan_not_found", "orphan_already_attributed", "event_not_found", "wallet_not_bound", "wallet_not_owned", "wallet_has_active_bindings", "wallet_kind_mismatch", "subscription_expired", "tron_no_activated_addresses_available", "ton_operator_wallet_not_deployed", "ton_invalid_wallet_version", "ton_jetton_resolve_failed", "ton_comment_parse_failed", "tonconnect_payload_expired", "tonconnect_payload_unknown", "tonconnect_domain_mismatch", "tonconnect_timestamp_skew", "tonconnect_unknown_wallet_version", "tonconnect_signature_invalid", "tonconnect_network_mismatch", "sandbox_project_required", "production_project_required", "sandbox_per_operator_cap_reached", "sandbox_key_against_production_project", "production_key_against_sandbox_project", "sandbox_provisioning_failed", "sandbox_invoice_transition_invalid", "sandbox_invoice_not_found", "sandbox_invoice_terminal", "sandbox_rate_limit_exceeded", "sandbox_reset_failed", "sandbox_delete_failed", "sandbox_active_invoice_cap_reached", "overlay_matching_mode_required_exact", "tx_not_found_or_incomplete", "tx_already_attributed", "manual_claim_rate_limit_exceeded", "manual_claim_not_pending_review", "manual_claim_invoice_not_open", "event_not_resendable", "rate_quote_unavailable"];
67
77
 
68
- export declare const ERROR_CODE_STATUS: { readonly validation_error: 400; readonly invalid_coin: 400; readonly invalid_xpub_format: 400; readonly invalid_webhook_url: 400; readonly auth_invalid: 401; readonly signature_invalid: 401; readonly signature_replayed: 401; readonly timestamp_out_of_window: 401; readonly key_suspended: 403; readonly project_suspended: 403; readonly permission_denied: 403; readonly key_revoked: 403; readonly invoice_not_found: 404; readonly project_not_found: 404; readonly wallet_not_found: 404; readonly external_id_conflict: 409; readonly xpub_not_verified: 409; readonly coin_not_enabled: 422; readonly amount_out_of_range: 422; readonly rate_limit_exceeded: 429; readonly pool_exhausted: 503; readonly webhook_capacity_exhausted: 503; readonly duplicate_provider_webhook_id: 409; readonly otp_expired: 400; readonly otp_used: 400; readonly invite_invalid: 400; readonly internal_error: 500; readonly invoice_not_cancellable: 409; readonly invalid_state_transition: 409; readonly orphan_not_found: 404; readonly orphan_already_attributed: 409; readonly event_not_found: 404; readonly wallet_not_bound: 422; readonly wallet_not_owned: 403; readonly wallet_has_active_bindings: 409; readonly wallet_kind_mismatch: 422; readonly subscription_expired: 402; readonly tron_no_activated_addresses_available: 422; readonly ton_operator_wallet_not_deployed: 422; readonly ton_invalid_wallet_version: 422; readonly ton_jetton_resolve_failed: 503; readonly ton_comment_parse_failed: 422; readonly tonconnect_payload_expired: 400; readonly tonconnect_payload_unknown: 400; readonly tonconnect_domain_mismatch: 400; readonly tonconnect_timestamp_skew: 400; readonly tonconnect_unknown_wallet_version: 400; readonly tonconnect_signature_invalid: 400; readonly tonconnect_network_mismatch: 400; readonly sandbox_project_required: 403; readonly production_project_required: 403; readonly sandbox_per_operator_cap_reached: 422; readonly sandbox_key_against_production_project: 400; readonly production_key_against_sandbox_project: 400; readonly sandbox_provisioning_failed: 500; readonly sandbox_invoice_transition_invalid: 422; readonly sandbox_invoice_not_found: 404; readonly sandbox_invoice_terminal: 422; readonly sandbox_rate_limit_exceeded: 429; readonly sandbox_reset_failed: 500; readonly sandbox_delete_failed: 500; readonly sandbox_active_invoice_cap_reached: 422; readonly overlay_matching_mode_required_exact: 422; readonly tx_not_found_or_incomplete: 200; readonly tx_already_attributed: 200; readonly manual_claim_rate_limit_exceeded: 429; readonly manual_claim_not_pending_review: 409; readonly manual_claim_invoice_not_open: 409; };
78
+ export declare const ERROR_CODE_STATUS: { readonly validation_error: 400; readonly invalid_coin: 400; readonly invalid_xpub_format: 400; readonly invalid_webhook_url: 400; readonly auth_invalid: 401; readonly signature_invalid: 401; readonly signature_replayed: 401; readonly timestamp_out_of_window: 401; readonly key_suspended: 403; readonly project_suspended: 403; readonly permission_denied: 403; readonly key_revoked: 403; readonly invoice_not_found: 404; readonly project_not_found: 404; readonly wallet_not_found: 404; readonly external_id_conflict: 409; readonly xpub_not_verified: 409; readonly coin_not_enabled: 422; readonly amount_out_of_range: 422; readonly rate_limit_exceeded: 429; readonly pool_exhausted: 503; readonly webhook_capacity_exhausted: 503; readonly duplicate_provider_webhook_id: 409; readonly otp_expired: 400; readonly otp_used: 400; readonly invite_invalid: 400; readonly internal_error: 500; readonly invoice_not_cancellable: 409; readonly invalid_state_transition: 409; readonly orphan_not_found: 404; readonly orphan_already_attributed: 409; readonly event_not_found: 404; readonly wallet_not_bound: 422; readonly wallet_not_owned: 403; readonly wallet_has_active_bindings: 409; readonly wallet_kind_mismatch: 422; readonly subscription_expired: 402; readonly tron_no_activated_addresses_available: 422; readonly ton_operator_wallet_not_deployed: 422; readonly ton_invalid_wallet_version: 422; readonly ton_jetton_resolve_failed: 503; readonly ton_comment_parse_failed: 422; readonly tonconnect_payload_expired: 400; readonly tonconnect_payload_unknown: 400; readonly tonconnect_domain_mismatch: 400; readonly tonconnect_timestamp_skew: 400; readonly tonconnect_unknown_wallet_version: 400; readonly tonconnect_signature_invalid: 400; readonly tonconnect_network_mismatch: 400; readonly sandbox_project_required: 403; readonly production_project_required: 403; readonly sandbox_per_operator_cap_reached: 422; readonly sandbox_key_against_production_project: 400; readonly production_key_against_sandbox_project: 400; readonly sandbox_provisioning_failed: 500; readonly sandbox_invoice_transition_invalid: 422; readonly sandbox_invoice_not_found: 404; readonly sandbox_invoice_terminal: 422; readonly sandbox_rate_limit_exceeded: 429; readonly sandbox_reset_failed: 500; readonly sandbox_delete_failed: 500; readonly sandbox_active_invoice_cap_reached: 422; readonly overlay_matching_mode_required_exact: 422; readonly tx_not_found_or_incomplete: 200; readonly tx_already_attributed: 200; readonly manual_claim_rate_limit_exceeded: 429; readonly manual_claim_not_pending_review: 409; readonly manual_claim_invoice_not_open: 409; readonly event_not_resendable: 409; readonly rate_quote_unavailable: 503; };
@@ -1,4 +1,4 @@
1
- import type { Chain, ClaimByTxResponse, ClockAdvance, SimulateEvent, SimulateLatePayment, SimulateOverpaid, SimulatePartial, WalletsListResponse } from './_shared/index.js';
1
+ import type { Chain, ClaimByTxResponse, ClockAdvance, CursorPaginatedInvoiceResponse, InvoiceCreateRequest, InvoiceDetailResponse, InvoiceResponse, InvoiceSearchQuery, SimulateEvent, SimulateLatePayment, SimulateOverpaid, SimulatePartial, WalletsListResponse, WebhookEventListApiQuery, WebhookEventListResponse, WebhookEventResendResponse } from './_shared/index.js';
2
2
  /**
3
3
  * Result envelope returned by every `simulate*` method. `event_id` is the
4
4
  * outbox `id` whose webhook payload your handler will receive (or `null` when
@@ -57,6 +57,152 @@ interface RequestFn {
57
57
  export declare class TxnodClientSandbox {
58
58
  #private;
59
59
  constructor(request: RequestFn);
60
+ /**
61
+ * `POST /api/v1/sandbox/invoices` — create an invoice on a sandbox project.
62
+ * The sandbox mirror of `client.createInvoice` (the production endpoint is
63
+ * kind-locked and rejects sandbox projects with
64
+ * `production_project_required`). Idempotent on `(project_id, external_id)`.
65
+ * Subject to the sandbox 10k active-invoice cap
66
+ * (`TxnodSandboxActiveInvoiceCapReachedError`).
67
+ *
68
+ * Unlike `client.createInvoice`, no xpub address-verification runs on the
69
+ * response — sandbox addresses derive from server-provisioned testnet xpubs
70
+ * and never carry real funds; use `client.sandbox.listWallets` if you want
71
+ * to verify derivation in a test harness.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * import { TxnodClient } from '@txnod/sdk';
76
+ *
77
+ * const client = new TxnodClient({
78
+ * projectId: process.env.TXNOD_PROJECT_ID!,
79
+ * apiSecret: process.env.TXNOD_API_SECRET!, // sk_sandbox_...
80
+ * environment: 'non-production',
81
+ * });
82
+ *
83
+ * const invoice = await client.sandbox.createInvoice({
84
+ * amount_usd: 9.99,
85
+ * coin: 'usdt_trc20',
86
+ * external_id: 'order-42',
87
+ * });
88
+ * await client.sandbox.simulateDetect(invoice.id, { seed: 'order-42' });
89
+ * ```
90
+ */
91
+ createInvoice(body: InvoiceCreateRequest): Promise<InvoiceResponse>;
92
+ /**
93
+ * `GET /api/v1/sandbox/invoices/{invoiceId}` — fetch a sandbox invoice by
94
+ * ULID. The sandbox mirror of `client.getInvoice`; same
95
+ * `TxnodInvoiceNotFoundError` semantics on cross-project lookups.
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * import { TxnodClient } from '@txnod/sdk';
100
+ *
101
+ * const client = new TxnodClient({
102
+ * projectId: process.env.TXNOD_PROJECT_ID!,
103
+ * apiSecret: process.env.TXNOD_API_SECRET!,
104
+ * environment: 'non-production',
105
+ * });
106
+ *
107
+ * const invoice = await client.sandbox.getInvoice(
108
+ * '01HK8MAR2QEXAMPLE000000000',
109
+ * );
110
+ * console.log(invoice.status, invoice.confirmations);
111
+ * ```
112
+ */
113
+ getInvoice(id: string): Promise<InvoiceDetailResponse>;
114
+ /**
115
+ * `GET /api/v1/sandbox/invoices` — cursor-paginated search over the sandbox
116
+ * project's invoices. The sandbox mirror of `client.searchInvoices`; takes
117
+ * the same snake_case query filters.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * import { TxnodClient } from '@txnod/sdk';
122
+ *
123
+ * const client = new TxnodClient({
124
+ * projectId: process.env.TXNOD_PROJECT_ID!,
125
+ * apiSecret: process.env.TXNOD_API_SECRET!,
126
+ * environment: 'non-production',
127
+ * });
128
+ *
129
+ * const page = await client.sandbox.listInvoices({ status: 'paid', limit: 20 });
130
+ * for (const invoice of page.items) console.log(invoice.id);
131
+ * ```
132
+ */
133
+ listInvoices(query?: InvoiceSearchQuery): Promise<CursorPaginatedInvoiceResponse>;
134
+ /**
135
+ * `POST /api/v1/sandbox/invoices/{invoiceId}/cancel` — cancel a sandbox
136
+ * invoice in `pending` or `detected` state. The sandbox mirror of
137
+ * `client.cancelInvoice`; throws `TxnodInvoiceNotCancellableError` on
138
+ * terminal-status invoices.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * import { TxnodClient } from '@txnod/sdk';
143
+ *
144
+ * const client = new TxnodClient({
145
+ * projectId: process.env.TXNOD_PROJECT_ID!,
146
+ * apiSecret: process.env.TXNOD_API_SECRET!,
147
+ * environment: 'non-production',
148
+ * });
149
+ *
150
+ * const cancelled = await client.sandbox.cancelInvoice(
151
+ * '01HK8MAR2QEXAMPLE000000000',
152
+ * );
153
+ * console.log(cancelled.status); // 'cancelled'
154
+ * ```
155
+ */
156
+ cancelInvoice(id: string): Promise<InvoiceDetailResponse>;
157
+ /**
158
+ * `GET /api/v1/sandbox/webhooks/events` — cursor-paginated delivery log for
159
+ * the sandbox project's outbound webhook events. The sandbox mirror of
160
+ * `client.listWebhookEvents` (the production endpoint is kind-locked and
161
+ * rejects sandbox projects); takes the same snake_case query filters. Every
162
+ * row corresponds to an envelope with `mode: 'sandbox'`.
163
+ *
164
+ * @example
165
+ * ```ts
166
+ * import { TxnodClient } from '@txnod/sdk';
167
+ *
168
+ * const client = new TxnodClient({
169
+ * projectId: process.env.TXNOD_PROJECT_ID!,
170
+ * apiSecret: process.env.TXNOD_API_SECRET!, // sk_sandbox_...
171
+ * environment: 'non-production',
172
+ * });
173
+ *
174
+ * const page = await client.sandbox.listWebhookEvents({
175
+ * invoice_id: '01HK8MAR2QEXAMPLE000000000',
176
+ * limit: 50,
177
+ * });
178
+ * for (const event of page.items) console.log(event.id, event.event_type);
179
+ * ```
180
+ */
181
+ listWebhookEvents(query?: WebhookEventListApiQuery): Promise<WebhookEventListResponse>;
182
+ /**
183
+ * `POST /api/v1/sandbox/webhooks/events/{eventId}/resend` — re-enqueue a
184
+ * previously-delivered sandbox webhook event. The sandbox mirror of
185
+ * `client.resendWebhookEvent`; the resend mints a fresh `event_id` and the
186
+ * response carries `original_event_id` for lineage. In-flight or
187
+ * dead-lettered events throw `TxnodEventNotResendableError`.
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * import { TxnodClient } from '@txnod/sdk';
192
+ *
193
+ * const client = new TxnodClient({
194
+ * projectId: process.env.TXNOD_PROJECT_ID!,
195
+ * apiSecret: process.env.TXNOD_API_SECRET!,
196
+ * environment: 'non-production',
197
+ * });
198
+ *
199
+ * const resent = await client.sandbox.resendWebhookEvent(
200
+ * '01HK8MAR2QEXAMPLE000000000',
201
+ * );
202
+ * console.log(resent.event_id, resent.original_event_id);
203
+ * ```
204
+ */
205
+ resendWebhookEvent(eventId: string): Promise<WebhookEventResendResponse>;
60
206
  /**
61
207
  * `POST /api/v1/sandbox/invoices/{invoiceId}/simulate-detect` — synthesize
62
208
  * an `invoice.detected` event (status `pending` → `detected`) and write a
@@ -1 +1 @@
1
- {"version":3,"file":"client-sandbox.d.ts","sourceRoot":"","sources":["../src/client-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-sandbox.d.ts","sourceRoot":"","sources":["../src/client-sandbox.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,185 @@ export class TxnodClientSandbox {
31
31
  constructor(request) {
32
32
  this.#request = request;
33
33
  }
34
+ /**
35
+ * `POST /api/v1/sandbox/invoices` — create an invoice on a sandbox project.
36
+ * The sandbox mirror of `client.createInvoice` (the production endpoint is
37
+ * kind-locked and rejects sandbox projects with
38
+ * `production_project_required`). Idempotent on `(project_id, external_id)`.
39
+ * Subject to the sandbox 10k active-invoice cap
40
+ * (`TxnodSandboxActiveInvoiceCapReachedError`).
41
+ *
42
+ * Unlike `client.createInvoice`, no xpub address-verification runs on the
43
+ * response — sandbox addresses derive from server-provisioned testnet xpubs
44
+ * and never carry real funds; use `client.sandbox.listWallets` if you want
45
+ * to verify derivation in a test harness.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * import { TxnodClient } from '@txnod/sdk';
50
+ *
51
+ * const client = new TxnodClient({
52
+ * projectId: process.env.TXNOD_PROJECT_ID!,
53
+ * apiSecret: process.env.TXNOD_API_SECRET!, // sk_sandbox_...
54
+ * environment: 'non-production',
55
+ * });
56
+ *
57
+ * const invoice = await client.sandbox.createInvoice({
58
+ * amount_usd: 9.99,
59
+ * coin: 'usdt_trc20',
60
+ * external_id: 'order-42',
61
+ * });
62
+ * await client.sandbox.simulateDetect(invoice.id, { seed: 'order-42' });
63
+ * ```
64
+ */
65
+ createInvoice(body) {
66
+ return this.#request({
67
+ method: 'POST',
68
+ path: '/api/v1/sandbox/invoices',
69
+ body,
70
+ });
71
+ }
72
+ /**
73
+ * `GET /api/v1/sandbox/invoices/{invoiceId}` — fetch a sandbox invoice by
74
+ * ULID. The sandbox mirror of `client.getInvoice`; same
75
+ * `TxnodInvoiceNotFoundError` semantics on cross-project lookups.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * import { TxnodClient } from '@txnod/sdk';
80
+ *
81
+ * const client = new TxnodClient({
82
+ * projectId: process.env.TXNOD_PROJECT_ID!,
83
+ * apiSecret: process.env.TXNOD_API_SECRET!,
84
+ * environment: 'non-production',
85
+ * });
86
+ *
87
+ * const invoice = await client.sandbox.getInvoice(
88
+ * '01HK8MAR2QEXAMPLE000000000',
89
+ * );
90
+ * console.log(invoice.status, invoice.confirmations);
91
+ * ```
92
+ */
93
+ getInvoice(id) {
94
+ return this.#request({
95
+ method: 'GET',
96
+ path: `/api/v1/sandbox/invoices/${id}`,
97
+ });
98
+ }
99
+ /**
100
+ * `GET /api/v1/sandbox/invoices` — cursor-paginated search over the sandbox
101
+ * project's invoices. The sandbox mirror of `client.searchInvoices`; takes
102
+ * the same snake_case query filters.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * import { TxnodClient } from '@txnod/sdk';
107
+ *
108
+ * const client = new TxnodClient({
109
+ * projectId: process.env.TXNOD_PROJECT_ID!,
110
+ * apiSecret: process.env.TXNOD_API_SECRET!,
111
+ * environment: 'non-production',
112
+ * });
113
+ *
114
+ * const page = await client.sandbox.listInvoices({ status: 'paid', limit: 20 });
115
+ * for (const invoice of page.items) console.log(invoice.id);
116
+ * ```
117
+ */
118
+ listInvoices(query = {}) {
119
+ return this.#request({
120
+ method: 'GET',
121
+ path: '/api/v1/sandbox/invoices',
122
+ query: query,
123
+ });
124
+ }
125
+ /**
126
+ * `POST /api/v1/sandbox/invoices/{invoiceId}/cancel` — cancel a sandbox
127
+ * invoice in `pending` or `detected` state. The sandbox mirror of
128
+ * `client.cancelInvoice`; throws `TxnodInvoiceNotCancellableError` on
129
+ * terminal-status invoices.
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * import { TxnodClient } from '@txnod/sdk';
134
+ *
135
+ * const client = new TxnodClient({
136
+ * projectId: process.env.TXNOD_PROJECT_ID!,
137
+ * apiSecret: process.env.TXNOD_API_SECRET!,
138
+ * environment: 'non-production',
139
+ * });
140
+ *
141
+ * const cancelled = await client.sandbox.cancelInvoice(
142
+ * '01HK8MAR2QEXAMPLE000000000',
143
+ * );
144
+ * console.log(cancelled.status); // 'cancelled'
145
+ * ```
146
+ */
147
+ cancelInvoice(id) {
148
+ return this.#request({
149
+ method: 'POST',
150
+ path: `/api/v1/sandbox/invoices/${id}/cancel`,
151
+ });
152
+ }
153
+ /**
154
+ * `GET /api/v1/sandbox/webhooks/events` — cursor-paginated delivery log for
155
+ * the sandbox project's outbound webhook events. The sandbox mirror of
156
+ * `client.listWebhookEvents` (the production endpoint is kind-locked and
157
+ * rejects sandbox projects); takes the same snake_case query filters. Every
158
+ * row corresponds to an envelope with `mode: 'sandbox'`.
159
+ *
160
+ * @example
161
+ * ```ts
162
+ * import { TxnodClient } from '@txnod/sdk';
163
+ *
164
+ * const client = new TxnodClient({
165
+ * projectId: process.env.TXNOD_PROJECT_ID!,
166
+ * apiSecret: process.env.TXNOD_API_SECRET!, // sk_sandbox_...
167
+ * environment: 'non-production',
168
+ * });
169
+ *
170
+ * const page = await client.sandbox.listWebhookEvents({
171
+ * invoice_id: '01HK8MAR2QEXAMPLE000000000',
172
+ * limit: 50,
173
+ * });
174
+ * for (const event of page.items) console.log(event.id, event.event_type);
175
+ * ```
176
+ */
177
+ listWebhookEvents(query = {}) {
178
+ return this.#request({
179
+ method: 'GET',
180
+ path: '/api/v1/sandbox/webhooks/events',
181
+ query: query,
182
+ });
183
+ }
184
+ /**
185
+ * `POST /api/v1/sandbox/webhooks/events/{eventId}/resend` — re-enqueue a
186
+ * previously-delivered sandbox webhook event. The sandbox mirror of
187
+ * `client.resendWebhookEvent`; the resend mints a fresh `event_id` and the
188
+ * response carries `original_event_id` for lineage. In-flight or
189
+ * dead-lettered events throw `TxnodEventNotResendableError`.
190
+ *
191
+ * @example
192
+ * ```ts
193
+ * import { TxnodClient } from '@txnod/sdk';
194
+ *
195
+ * const client = new TxnodClient({
196
+ * projectId: process.env.TXNOD_PROJECT_ID!,
197
+ * apiSecret: process.env.TXNOD_API_SECRET!,
198
+ * environment: 'non-production',
199
+ * });
200
+ *
201
+ * const resent = await client.sandbox.resendWebhookEvent(
202
+ * '01HK8MAR2QEXAMPLE000000000',
203
+ * );
204
+ * console.log(resent.event_id, resent.original_event_id);
205
+ * ```
206
+ */
207
+ resendWebhookEvent(eventId) {
208
+ return this.#request({
209
+ method: 'POST',
210
+ path: `/api/v1/sandbox/webhooks/events/${eventId}/resend`,
211
+ });
212
+ }
34
213
  /**
35
214
  * `POST /api/v1/sandbox/invoices/{invoiceId}/simulate-detect` — synthesize
36
215
  * an `invoice.detected` event (status `pending` → `detected`) and write a
@@ -1 +1 @@
1
- {"version":3,"file":"client-sandbox.js","sourceRoot":"","sources":["../src/client-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-sandbox.js","sourceRoot":"","sources":["../src/client-sandbox.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Chain, ClaimByTxResponse, InvoiceCreateRequest, InvoiceResponse, InvoiceSearchQuery, CursorPaginatedInvoiceResponse, OrphanPaymentListQuery, CursorPaginatedOrphanPaymentResponse, OrphanAttributeRequest, WebhookEventListApiQuery, WebhookEventListResponse, WebhookEventResendResponse, RatesQuery, RatesResponse, QuoteQuery, QuoteResponse } from './_shared/index.js';
1
+ import type { Chain, ClaimByTxResponse, InvoiceCreateRequest, InvoiceDetailResponse, InvoiceResponse, InvoiceSearchQuery, CursorPaginatedInvoiceResponse, OrphanPaymentListQuery, CursorPaginatedOrphanPaymentResponse, OrphanAttributeRequest, WebhookEventListApiQuery, WebhookEventListResponse, WebhookEventResendResponse, RatesQuery, RatesResponse, QuoteQuery, QuoteResponse } from './_shared/index.js';
2
2
  import { type SignedFetchRequestLogEntry, type SignedFetchRequestLogger } from './internals/fetch-with-retry.js';
3
3
  import { TxnodClientSandbox } from './client-sandbox.js';
4
4
  /**
@@ -231,7 +231,7 @@ export declare class TxnodClient {
231
231
  * }
232
232
  * ```
233
233
  */
234
- getInvoice(id: string): Promise<InvoiceResponse>;
234
+ getInvoice(id: string): Promise<InvoiceDetailResponse>;
235
235
  /**
236
236
  * Search invoices with snake_case query filters.
237
237
  *
@@ -278,7 +278,7 @@ export declare class TxnodClient {
278
278
  * }
279
279
  * ```
280
280
  */
281
- cancelInvoice(id: string): Promise<InvoiceResponse>;
281
+ cancelInvoice(id: string): Promise<InvoiceDetailResponse>;
282
282
  /**
283
283
  * Submit a manual tx-hash claim for an open invoice.
284
284
  *
@@ -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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"}
@@ -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":"AAmBA,OAAO,EACL,WAAW,GAIZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CACpB,CAAwD;IAExD,MAAM,GAAG,GAAgD,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAwDD,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAMhD;;;;;;;;;GASG;AACH,SAAS,uBAAuB,CAC9B,SAAiB,EACjB,SAAiB,EACjB,OAA2B;IAE3B,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,sDAAsD,KAAK,IAAI,EAAE,CAAC;YAC5E,sEAAsE;YACtE,mDAAmD;YACnD,OAAO,CAAC,KAAK,CACX,qGAAqG,SAAS,0LAA0L,CACzS,CAAC;YACF,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GACV,OAAO,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,YAAY;gBACjD,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,UAAU,CAAC;QACnB,MAAM,IAAI,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,4BAA4B,EAAE,CAAC;IAC3C,CAAC;IACD,6DAA6D;IAC7D,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;IACF,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,WAAW;IACb,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,iBAAiB,CAAqB;IACtC,iBAAiB,CAAqB;IACtC,cAAc,CAAuC;IACrD,mBAAmB,CAAU;IAC7B,kBAAkB,CAA8C;IACzE,WAAW,CAA0B;IACrC,UAAU,CAA4B;IACtC,iBAAiB,CAAiC;IAClD,aAAa,CAOC;IAEd;;;;;;;;;;;;OAYG;IACH,aAAa,CAAqB;IAElC,YAAY,OAA2B;QACrC,MAAM,MAAM,GAAG,uBAAuB,CACpC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;QACnC,gCAAgC,CAC9B,IAAI,CAAC,WAAW,EAChB,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;QACnC,gCAAgC,CAC9B,IAAI,CAAC,WAAW,EAChB,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,KAKjB;QACC,MAAM,UAAU,GAAqB;YACnC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3D,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACtC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACtC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YACnC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,UAAU,CAAC,YAAY,GAAG,EAAE,4BAA4B,EAAE,YAAY,EAAE,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa;YAChB,eAAe,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBACpD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,aAAa,CAAC,IAA0B;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAkB;YACnD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB;YACxB,IAAI;SACL,CAAC,CAAC;QACH,MAAM,WAAW,GAAwC;YACvD,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3E,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,kBAAkB,CACtB,IAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,4BAA4B,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,uEAAuE;gBACvE,kDAAkD;gBAClD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAwB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oBAAoB,EAAE,EAAE;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,cAAc,CACZ,KAAyB;QAEzB,OAAO,IAAI,CAAC,QAAQ,CAAiC;YACnD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,aAAa,CAAC,KAAoD,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAwB;YAC1C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB,EAAE,SAAS;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,gBAAgB,CAAC,IAIhB;QACC,OAAO,IAAI,CAAC,QAAQ,CAAoB;YACtC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB,IAAI,CAAC,SAAS,cAAc;YACtD,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAAkB,CAChB,KAA6B;QAE7B,OAAO,IAAI,CAAC,QAAQ,CAAuC;YACzD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,aAAa,CAClB,KAAyE,CAC1E;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,sBAAsB,CACpB,MAAc,EACd,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAkB;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2BAA2B,MAAM,YAAY;YACnD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,iBAAiB,CACf,KAA+B;QAE/B,OAAO,IAAI,CAAC,QAAQ,CAA2B;YAC7C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,aAAa,CAClB,KAAoD,CACrD;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBAAkB,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,QAAQ,CAA6B;YAC/C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2BAA2B,OAAO,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,KAAiB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAgB;YAClC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,aAAa,CAAC,KAAoD,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,WAAW,CAAC,KAAiB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAgB;YAClC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,aAAa,CAAC,KAAoD,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;CACF"}