phygital-payment-sdk 0.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.
Files changed (318) hide show
  1. package/README.md +120 -0
  2. package/dist/arbiter/client.d.ts +34 -0
  3. package/dist/arbiter/client.d.ts.map +1 -0
  4. package/dist/arbiter/client.js +106 -0
  5. package/dist/arbiter/client.js.map +1 -0
  6. package/dist/core/amounts.d.ts +4 -0
  7. package/dist/core/amounts.d.ts.map +1 -0
  8. package/dist/core/amounts.js +36 -0
  9. package/dist/core/amounts.js.map +1 -0
  10. package/dist/core/bytes.d.ts +11 -0
  11. package/dist/core/bytes.d.ts.map +1 -0
  12. package/dist/core/bytes.js +69 -0
  13. package/dist/core/bytes.js.map +1 -0
  14. package/dist/core/challenge.d.ts +15 -0
  15. package/dist/core/challenge.d.ts.map +1 -0
  16. package/dist/core/challenge.js +24 -0
  17. package/dist/core/challenge.js.map +1 -0
  18. package/dist/core/errors.d.ts +90 -0
  19. package/dist/core/errors.d.ts.map +1 -0
  20. package/dist/core/errors.js +204 -0
  21. package/dist/core/errors.js.map +1 -0
  22. package/dist/core/events.d.ts +113 -0
  23. package/dist/core/events.d.ts.map +1 -0
  24. package/dist/core/events.js +258 -0
  25. package/dist/core/events.js.map +1 -0
  26. package/dist/core/evidence.d.ts +3 -0
  27. package/dist/core/evidence.d.ts.map +1 -0
  28. package/dist/core/evidence.js +7 -0
  29. package/dist/core/evidence.js.map +1 -0
  30. package/dist/core/execution-plan.d.ts +25 -0
  31. package/dist/core/execution-plan.d.ts.map +1 -0
  32. package/dist/core/execution-plan.js +57 -0
  33. package/dist/core/execution-plan.js.map +1 -0
  34. package/dist/core/indexer-store.d.ts +31 -0
  35. package/dist/core/indexer-store.d.ts.map +1 -0
  36. package/dist/core/indexer-store.js +2 -0
  37. package/dist/core/indexer-store.js.map +1 -0
  38. package/dist/core/instruction-codec.d.ts +13 -0
  39. package/dist/core/instruction-codec.d.ts.map +1 -0
  40. package/dist/core/instruction-codec.js +23 -0
  41. package/dist/core/instruction-codec.js.map +1 -0
  42. package/dist/core/payment.d.ts +116 -0
  43. package/dist/core/payment.d.ts.map +1 -0
  44. package/dist/core/payment.js +185 -0
  45. package/dist/core/payment.js.map +1 -0
  46. package/dist/core/pda.d.ts +29 -0
  47. package/dist/core/pda.d.ts.map +1 -0
  48. package/dist/core/pda.js +48 -0
  49. package/dist/core/pda.js.map +1 -0
  50. package/dist/core/provider-fee-payer.d.ts +5 -0
  51. package/dist/core/provider-fee-payer.d.ts.map +1 -0
  52. package/dist/core/provider-fee-payer.js +17 -0
  53. package/dist/core/provider-fee-payer.js.map +1 -0
  54. package/dist/core/provider-transport.d.ts +79 -0
  55. package/dist/core/provider-transport.d.ts.map +1 -0
  56. package/dist/core/provider-transport.js +151 -0
  57. package/dist/core/provider-transport.js.map +1 -0
  58. package/dist/core/status.d.ts +13 -0
  59. package/dist/core/status.d.ts.map +1 -0
  60. package/dist/core/status.js +17 -0
  61. package/dist/core/status.js.map +1 -0
  62. package/dist/core/time.d.ts +29 -0
  63. package/dist/core/time.d.ts.map +1 -0
  64. package/dist/core/time.js +66 -0
  65. package/dist/core/time.js.map +1 -0
  66. package/dist/core/transactions.d.ts +16 -0
  67. package/dist/core/transactions.d.ts.map +1 -0
  68. package/dist/core/transactions.js +87 -0
  69. package/dist/core/transactions.js.map +1 -0
  70. package/dist/generated/accounts/arbiter.d.ts +31 -0
  71. package/dist/generated/accounts/arbiter.d.ts.map +1 -0
  72. package/dist/generated/accounts/arbiter.js +57 -0
  73. package/dist/generated/accounts/arbiter.js.map +1 -0
  74. package/dist/generated/accounts/index.d.ts +5 -0
  75. package/dist/generated/accounts/index.d.ts.map +1 -0
  76. package/dist/generated/accounts/index.js +5 -0
  77. package/dist/generated/accounts/index.js.map +1 -0
  78. package/dist/generated/accounts/merchantOperator.d.ts +25 -0
  79. package/dist/generated/accounts/merchantOperator.d.ts.map +1 -0
  80. package/dist/generated/accounts/merchantOperator.js +49 -0
  81. package/dist/generated/accounts/merchantOperator.js.map +1 -0
  82. package/dist/generated/accounts/payment.d.ts +56 -0
  83. package/dist/generated/accounts/payment.d.ts.map +1 -0
  84. package/dist/generated/accounts/payment.js +82 -0
  85. package/dist/generated/accounts/payment.js.map +1 -0
  86. package/dist/generated/accounts/paymentAccount.d.ts +59 -0
  87. package/dist/generated/accounts/paymentAccount.d.ts.map +1 -0
  88. package/dist/generated/accounts/paymentAccount.js +83 -0
  89. package/dist/generated/accounts/paymentAccount.js.map +1 -0
  90. package/dist/generated/errors/index.d.ts +2 -0
  91. package/dist/generated/errors/index.d.ts.map +1 -0
  92. package/dist/generated/errors/index.js +2 -0
  93. package/dist/generated/errors/index.js.map +1 -0
  94. package/dist/generated/errors/phygitalPayment.d.ts +50 -0
  95. package/dist/generated/errors/phygitalPayment.d.ts.map +1 -0
  96. package/dist/generated/errors/phygitalPayment.js +91 -0
  97. package/dist/generated/errors/phygitalPayment.js.map +1 -0
  98. package/dist/generated/index.d.ts +7 -0
  99. package/dist/generated/index.d.ts.map +1 -0
  100. package/dist/generated/index.js +7 -0
  101. package/dist/generated/index.js.map +1 -0
  102. package/dist/generated/instructions/addMerchantOperator.d.ts +49 -0
  103. package/dist/generated/instructions/addMerchantOperator.d.ts.map +1 -0
  104. package/dist/generated/instructions/addMerchantOperator.js +110 -0
  105. package/dist/generated/instructions/addMerchantOperator.js.map +1 -0
  106. package/dist/generated/instructions/autoRefund.d.ts +48 -0
  107. package/dist/generated/instructions/autoRefund.d.ts.map +1 -0
  108. package/dist/generated/instructions/autoRefund.js +91 -0
  109. package/dist/generated/instructions/autoRefund.js.map +1 -0
  110. package/dist/generated/instructions/autoSettle.d.ts +45 -0
  111. package/dist/generated/instructions/autoSettle.d.ts.map +1 -0
  112. package/dist/generated/instructions/autoSettle.js +82 -0
  113. package/dist/generated/instructions/autoSettle.js.map +1 -0
  114. package/dist/generated/instructions/closeExpiredPayment.d.ts +36 -0
  115. package/dist/generated/instructions/closeExpiredPayment.d.ts.map +1 -0
  116. package/dist/generated/instructions/closeExpiredPayment.js +64 -0
  117. package/dist/generated/instructions/closeExpiredPayment.js.map +1 -0
  118. package/dist/generated/instructions/dispute.d.ts +49 -0
  119. package/dist/generated/instructions/dispute.d.ts.map +1 -0
  120. package/dist/generated/instructions/dispute.js +84 -0
  121. package/dist/generated/instructions/dispute.js.map +1 -0
  122. package/dist/generated/instructions/disputeAuthorization.d.ts +73 -0
  123. package/dist/generated/instructions/disputeAuthorization.d.ts.map +1 -0
  124. package/dist/generated/instructions/disputeAuthorization.js +149 -0
  125. package/dist/generated/instructions/disputeAuthorization.js.map +1 -0
  126. package/dist/generated/instructions/index.d.ts +21 -0
  127. package/dist/generated/instructions/index.d.ts.map +1 -0
  128. package/dist/generated/instructions/index.js +21 -0
  129. package/dist/generated/instructions/index.js.map +1 -0
  130. package/dist/generated/instructions/merchantRefund.d.ts +43 -0
  131. package/dist/generated/instructions/merchantRefund.d.ts.map +1 -0
  132. package/dist/generated/instructions/merchantRefund.js +78 -0
  133. package/dist/generated/instructions/merchantRefund.js.map +1 -0
  134. package/dist/generated/instructions/merchantRespond.d.ts +43 -0
  135. package/dist/generated/instructions/merchantRespond.d.ts.map +1 -0
  136. package/dist/generated/instructions/merchantRespond.js +78 -0
  137. package/dist/generated/instructions/merchantRespond.js.map +1 -0
  138. package/dist/generated/instructions/refundSettled.d.ts +52 -0
  139. package/dist/generated/instructions/refundSettled.d.ts.map +1 -0
  140. package/dist/generated/instructions/refundSettled.js +88 -0
  141. package/dist/generated/instructions/refundSettled.js.map +1 -0
  142. package/dist/generated/instructions/registerArbiter.d.ts +44 -0
  143. package/dist/generated/instructions/registerArbiter.d.ts.map +1 -0
  144. package/dist/generated/instructions/registerArbiter.js +94 -0
  145. package/dist/generated/instructions/registerArbiter.js.map +1 -0
  146. package/dist/generated/instructions/removeMerchantOperator.d.ts +45 -0
  147. package/dist/generated/instructions/removeMerchantOperator.d.ts.map +1 -0
  148. package/dist/generated/instructions/removeMerchantOperator.js +97 -0
  149. package/dist/generated/instructions/removeMerchantOperator.js.map +1 -0
  150. package/dist/generated/instructions/resolveDispute.d.ts +55 -0
  151. package/dist/generated/instructions/resolveDispute.d.ts.map +1 -0
  152. package/dist/generated/instructions/resolveDispute.js +91 -0
  153. package/dist/generated/instructions/resolveDispute.js.map +1 -0
  154. package/dist/generated/instructions/setApprovedArbiter.d.ts +57 -0
  155. package/dist/generated/instructions/setApprovedArbiter.d.ts.map +1 -0
  156. package/dist/generated/instructions/setApprovedArbiter.js +121 -0
  157. package/dist/generated/instructions/setApprovedArbiter.js.map +1 -0
  158. package/dist/generated/instructions/setAuthorizedCredential.d.ts +64 -0
  159. package/dist/generated/instructions/setAuthorizedCredential.d.ts.map +1 -0
  160. package/dist/generated/instructions/setAuthorizedCredential.js +138 -0
  161. package/dist/generated/instructions/setAuthorizedCredential.js.map +1 -0
  162. package/dist/generated/instructions/setPaymentEnabler.d.ts +65 -0
  163. package/dist/generated/instructions/setPaymentEnabler.d.ts.map +1 -0
  164. package/dist/generated/instructions/setPaymentEnabler.js +136 -0
  165. package/dist/generated/instructions/setPaymentEnabler.js.map +1 -0
  166. package/dist/generated/instructions/setReserve.d.ts +53 -0
  167. package/dist/generated/instructions/setReserve.d.ts.map +1 -0
  168. package/dist/generated/instructions/setReserve.js +109 -0
  169. package/dist/generated/instructions/setReserve.js.map +1 -0
  170. package/dist/generated/instructions/setTapLimit.d.ts +53 -0
  171. package/dist/generated/instructions/setTapLimit.d.ts.map +1 -0
  172. package/dist/generated/instructions/setTapLimit.js +109 -0
  173. package/dist/generated/instructions/setTapLimit.js.map +1 -0
  174. package/dist/generated/instructions/transfer.d.ts +97 -0
  175. package/dist/generated/instructions/transfer.d.ts.map +1 -0
  176. package/dist/generated/instructions/transfer.js +182 -0
  177. package/dist/generated/instructions/transfer.js.map +1 -0
  178. package/dist/generated/instructions/withdrawDispute.d.ts +36 -0
  179. package/dist/generated/instructions/withdrawDispute.d.ts.map +1 -0
  180. package/dist/generated/instructions/withdrawDispute.js +61 -0
  181. package/dist/generated/instructions/withdrawDispute.js.map +1 -0
  182. package/dist/generated/instructions/withdrawFromEscrow.d.ts +61 -0
  183. package/dist/generated/instructions/withdrawFromEscrow.d.ts.map +1 -0
  184. package/dist/generated/instructions/withdrawFromEscrow.js +132 -0
  185. package/dist/generated/instructions/withdrawFromEscrow.js.map +1 -0
  186. package/dist/generated/pdas/arbiterAccount.d.ts +8 -0
  187. package/dist/generated/pdas/arbiterAccount.d.ts.map +1 -0
  188. package/dist/generated/pdas/arbiterAccount.js +12 -0
  189. package/dist/generated/pdas/arbiterAccount.js.map +1 -0
  190. package/dist/generated/pdas/index.d.ts +6 -0
  191. package/dist/generated/pdas/index.d.ts.map +1 -0
  192. package/dist/generated/pdas/index.js +6 -0
  193. package/dist/generated/pdas/index.js.map +1 -0
  194. package/dist/generated/pdas/merchantOperator.d.ts +9 -0
  195. package/dist/generated/pdas/merchantOperator.d.ts.map +1 -0
  196. package/dist/generated/pdas/merchantOperator.js +16 -0
  197. package/dist/generated/pdas/merchantOperator.js.map +1 -0
  198. package/dist/generated/pdas/payment.d.ts +9 -0
  199. package/dist/generated/pdas/payment.d.ts.map +1 -0
  200. package/dist/generated/pdas/payment.js +13 -0
  201. package/dist/generated/pdas/payment.js.map +1 -0
  202. package/dist/generated/pdas/paymentAccount.d.ts +10 -0
  203. package/dist/generated/pdas/paymentAccount.d.ts.map +1 -0
  204. package/dist/generated/pdas/paymentAccount.js +16 -0
  205. package/dist/generated/pdas/paymentAccount.js.map +1 -0
  206. package/dist/generated/pdas/setApprovedArbiterArbiterAccount.d.ts +8 -0
  207. package/dist/generated/pdas/setApprovedArbiterArbiterAccount.d.ts.map +1 -0
  208. package/dist/generated/pdas/setApprovedArbiterArbiterAccount.js +12 -0
  209. package/dist/generated/pdas/setApprovedArbiterArbiterAccount.js.map +1 -0
  210. package/dist/generated/programs/index.d.ts +2 -0
  211. package/dist/generated/programs/index.d.ts.map +1 -0
  212. package/dist/generated/programs/index.js +2 -0
  213. package/dist/generated/programs/index.js.map +1 -0
  214. package/dist/generated/programs/phygitalPayment.d.ts +132 -0
  215. package/dist/generated/programs/phygitalPayment.d.ts.map +1 -0
  216. package/dist/generated/programs/phygitalPayment.js +322 -0
  217. package/dist/generated/programs/phygitalPayment.js.map +1 -0
  218. package/dist/generated/types/index.d.ts +2 -0
  219. package/dist/generated/types/index.d.ts.map +1 -0
  220. package/dist/generated/types/index.js +2 -0
  221. package/dist/generated/types/index.js.map +1 -0
  222. package/dist/generated/types/paymentFlags.d.ts +7 -0
  223. package/dist/generated/types/paymentFlags.d.ts.map +1 -0
  224. package/dist/generated/types/paymentFlags.js +11 -0
  225. package/dist/generated/types/paymentFlags.js.map +1 -0
  226. package/dist/index.d.ts +25 -0
  227. package/dist/index.d.ts.map +1 -0
  228. package/dist/index.js +23 -0
  229. package/dist/index.js.map +1 -0
  230. package/dist/merchant/charge.d.ts +106 -0
  231. package/dist/merchant/charge.d.ts.map +1 -0
  232. package/dist/merchant/charge.js +311 -0
  233. package/dist/merchant/charge.js.map +1 -0
  234. package/dist/merchant/client.d.ts +80 -0
  235. package/dist/merchant/client.d.ts.map +1 -0
  236. package/dist/merchant/client.js +282 -0
  237. package/dist/merchant/client.js.map +1 -0
  238. package/dist/merchant/deferred-queue.d.ts +35 -0
  239. package/dist/merchant/deferred-queue.d.ts.map +1 -0
  240. package/dist/merchant/deferred-queue.js +237 -0
  241. package/dist/merchant/deferred-queue.js.map +1 -0
  242. package/dist/merchant/deferred-store.d.ts +67 -0
  243. package/dist/merchant/deferred-store.d.ts.map +1 -0
  244. package/dist/merchant/deferred-store.js +126 -0
  245. package/dist/merchant/deferred-store.js.map +1 -0
  246. package/dist/merchant/indexed-db-store.d.ts +6 -0
  247. package/dist/merchant/indexed-db-store.d.ts.map +1 -0
  248. package/dist/merchant/indexed-db-store.js +121 -0
  249. package/dist/merchant/indexed-db-store.js.map +1 -0
  250. package/dist/merchant/tap.d.ts +11 -0
  251. package/dist/merchant/tap.d.ts.map +1 -0
  252. package/dist/merchant/tap.js +47 -0
  253. package/dist/merchant/tap.js.map +1 -0
  254. package/dist/server/closable-store.d.ts +12 -0
  255. package/dist/server/closable-store.d.ts.map +1 -0
  256. package/dist/server/closable-store.js +16 -0
  257. package/dist/server/closable-store.js.map +1 -0
  258. package/dist/server/deferred-flusher.d.ts +19 -0
  259. package/dist/server/deferred-flusher.d.ts.map +1 -0
  260. package/dist/server/deferred-flusher.js +57 -0
  261. package/dist/server/deferred-flusher.js.map +1 -0
  262. package/dist/server/enabler-service.d.ts +20 -0
  263. package/dist/server/enabler-service.d.ts.map +1 -0
  264. package/dist/server/enabler-service.js +191 -0
  265. package/dist/server/enabler-service.js.map +1 -0
  266. package/dist/server/enabler-signer.d.ts +11 -0
  267. package/dist/server/enabler-signer.d.ts.map +1 -0
  268. package/dist/server/enabler-signer.js +37 -0
  269. package/dist/server/enabler-signer.js.map +1 -0
  270. package/dist/server/fee-budget.d.ts +22 -0
  271. package/dist/server/fee-budget.d.ts.map +1 -0
  272. package/dist/server/fee-budget.js +58 -0
  273. package/dist/server/fee-budget.js.map +1 -0
  274. package/dist/server/fee-payer.d.ts +27 -0
  275. package/dist/server/fee-payer.d.ts.map +1 -0
  276. package/dist/server/fee-payer.js +167 -0
  277. package/dist/server/fee-payer.js.map +1 -0
  278. package/dist/server/index.d.ts +14 -0
  279. package/dist/server/index.d.ts.map +1 -0
  280. package/dist/server/index.js +14 -0
  281. package/dist/server/index.js.map +1 -0
  282. package/dist/server/indexer.d.ts +50 -0
  283. package/dist/server/indexer.d.ts.map +1 -0
  284. package/dist/server/indexer.js +218 -0
  285. package/dist/server/indexer.js.map +1 -0
  286. package/dist/server/keeper.d.ts +34 -0
  287. package/dist/server/keeper.d.ts.map +1 -0
  288. package/dist/server/keeper.js +246 -0
  289. package/dist/server/keeper.js.map +1 -0
  290. package/dist/server/pending-taps.d.ts +12 -0
  291. package/dist/server/pending-taps.d.ts.map +1 -0
  292. package/dist/server/pending-taps.js +19 -0
  293. package/dist/server/pending-taps.js.map +1 -0
  294. package/dist/server/policy.d.ts +46 -0
  295. package/dist/server/policy.d.ts.map +1 -0
  296. package/dist/server/policy.js +47 -0
  297. package/dist/server/policy.js.map +1 -0
  298. package/dist/server/provider-deferred-queue.d.ts +21 -0
  299. package/dist/server/provider-deferred-queue.d.ts.map +1 -0
  300. package/dist/server/provider-deferred-queue.js +69 -0
  301. package/dist/server/provider-deferred-queue.js.map +1 -0
  302. package/dist/server/queue.d.ts +43 -0
  303. package/dist/server/queue.d.ts.map +1 -0
  304. package/dist/server/queue.js +105 -0
  305. package/dist/server/queue.js.map +1 -0
  306. package/dist/server/router.d.ts +21 -0
  307. package/dist/server/router.d.ts.map +1 -0
  308. package/dist/server/router.js +137 -0
  309. package/dist/server/router.js.map +1 -0
  310. package/dist/server/webauthn.d.ts +2 -0
  311. package/dist/server/webauthn.d.ts.map +1 -0
  312. package/dist/server/webauthn.js +19 -0
  313. package/dist/server/webauthn.js.map +1 -0
  314. package/dist/wallet/client.d.ts +106 -0
  315. package/dist/wallet/client.d.ts.map +1 -0
  316. package/dist/wallet/client.js +354 -0
  317. package/dist/wallet/client.js.map +1 -0
  318. package/package.json +75 -0
@@ -0,0 +1,79 @@
1
+ import type { AuthenticationResponseJSON } from "@simplewebauthn/browser";
2
+ import type { Address } from "@solana/kit";
3
+ import type { Secp256r1VerifyEntry } from "phygital-token-sdk";
4
+ import type { PendingTapWire } from "../merchant/deferred-store.js";
5
+ export interface EnablerSignatureRequest {
6
+ response: AuthenticationResponseJSON;
7
+ mint: Address;
8
+ amount: string;
9
+ destination: Address;
10
+ reference: string;
11
+ issuedAt: number;
12
+ tokenProgram: Address;
13
+ }
14
+ export interface EnablerSignatureResponse {
15
+ publicKey: string;
16
+ signature: string;
17
+ paymentAccessory: string;
18
+ payer: Address;
19
+ outstandingExposure: string;
20
+ freeEscrow: string;
21
+ }
22
+ export interface FeePayerResponse {
23
+ address: Address;
24
+ }
25
+ export interface SignAsFeePayerRequest {
26
+ transaction: string;
27
+ }
28
+ export interface SignAsFeePayerResponse {
29
+ signature: string;
30
+ }
31
+ export interface TransferReceipt {
32
+ txSig?: string;
33
+ queueId?: string;
34
+ sender: Address;
35
+ mint: Address;
36
+ tokenProgram: Address;
37
+ amount: string;
38
+ destination: Address;
39
+ reference: string;
40
+ issuedAt: number;
41
+ arbiter: Address;
42
+ enabler: string;
43
+ paymentAccessory: string;
44
+ pendingTap?: PendingTapWire;
45
+ }
46
+ export interface ProviderRetryConfig {
47
+ maxAttempts?: number;
48
+ baseDelayMs?: number;
49
+ }
50
+ export interface ProviderTransportConfig {
51
+ baseUrl: string;
52
+ apiKey?: string;
53
+ fetch?: typeof globalThis.fetch;
54
+ headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
55
+ timeoutMs?: number;
56
+ retry?: ProviderRetryConfig;
57
+ }
58
+ export interface ProviderTransport {
59
+ getEnablerSignature(request: EnablerSignatureRequest, challenge: Uint8Array, abortSignal?: AbortSignal): Promise<EnablerCosignResult>;
60
+ getFeePayerAddress(abortSignal?: AbortSignal): Promise<Address>;
61
+ signAsFeePayer(transactionBase64: string, abortSignal?: AbortSignal): Promise<Uint8Array>;
62
+ listPendingTaps(request: {
63
+ merchant: Address;
64
+ }, abortSignal?: AbortSignal): Promise<PendingTapWire[]>;
65
+ acknowledgePendingTap(request: {
66
+ reference: string;
67
+ }, abortSignal?: AbortSignal): Promise<void>;
68
+ persistTransferResult(receipt: TransferReceipt, abortSignal?: AbortSignal): Promise<void>;
69
+ }
70
+ export interface EnablerCosignResult {
71
+ enabler: Secp256r1VerifyEntry;
72
+ paymentAccessory: Uint8Array;
73
+ payer: Address;
74
+ outstandingExposure: bigint;
75
+ freeEscrow: bigint;
76
+ }
77
+ export declare function isTransientProviderStatus(status: number): boolean;
78
+ export declare function createProviderTransport(config: ProviderTransportConfig): ProviderTransport;
79
+ //# sourceMappingURL=provider-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-transport.d.ts","sourceRoot":"","sources":["../../src/core/provider-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { assertU64 } from "./amounts.js";
2
+ import { base64ToBytes, base64UrlToBytes } from "./bytes.js";
3
+ import { ConfigurationError, ProviderHttpError } from "./errors.js";
4
+ const DEFAULT_TIMEOUT_MS = 15_000;
5
+ const DEFAULT_MAX_ATTEMPTS = 3;
6
+ const DEFAULT_BASE_DELAY_MS = 200;
7
+ export function isTransientProviderStatus(status) {
8
+ return status === 0 || status === 408 || status === 429 || status >= 500;
9
+ }
10
+ function abortError(signal) {
11
+ const reason = signal.reason;
12
+ return reason instanceof Error
13
+ ? reason
14
+ : new DOMException("The operation was aborted.", "AbortError");
15
+ }
16
+ async function sleep(ms, abortSignal) {
17
+ if (abortSignal?.aborted)
18
+ throw abortError(abortSignal);
19
+ await new Promise((resolve, reject) => {
20
+ const timer = setTimeout(() => {
21
+ abortSignal?.removeEventListener("abort", onAbort);
22
+ resolve();
23
+ }, ms);
24
+ const onAbort = () => {
25
+ clearTimeout(timer);
26
+ reject(abortError(abortSignal));
27
+ };
28
+ abortSignal?.addEventListener("abort", onAbort, { once: true });
29
+ });
30
+ }
31
+ export function createProviderTransport(config) {
32
+ const fetchImpl = config.fetch ?? globalThis.fetch;
33
+ const baseUrl = config.baseUrl.replace(/\/$/, "");
34
+ const timeoutMs = config.timeoutMs ?? DEFAULT_TIMEOUT_MS;
35
+ const maxAttempts = config.retry?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
36
+ const baseDelayMs = config.retry?.baseDelayMs ?? DEFAULT_BASE_DELAY_MS;
37
+ async function postOnce(endpoint, body, abortSignal) {
38
+ const extraHeaders = typeof config.headers === "function"
39
+ ? await config.headers()
40
+ : config.headers;
41
+ const headers = new Headers(extraHeaders);
42
+ headers.set("content-type", "application/json");
43
+ if (config.apiKey)
44
+ headers.set("x-api-key", config.apiKey);
45
+ const timeout = AbortSignal.timeout(timeoutMs);
46
+ const signal = abortSignal
47
+ ? AbortSignal.any([abortSignal, timeout])
48
+ : timeout;
49
+ let response;
50
+ try {
51
+ response = await fetchImpl(`${baseUrl}/${endpoint}`, {
52
+ method: "POST",
53
+ headers,
54
+ body: JSON.stringify(body),
55
+ signal,
56
+ });
57
+ }
58
+ catch (cause) {
59
+ if (abortSignal?.aborted)
60
+ throw abortError(abortSignal);
61
+ throw new ProviderHttpError(endpoint, 0, String(cause), { cause });
62
+ }
63
+ if (!response.ok) {
64
+ let text;
65
+ try {
66
+ text = await response.text();
67
+ }
68
+ catch {
69
+ }
70
+ throw new ProviderHttpError(endpoint, response.status, text);
71
+ }
72
+ return response;
73
+ }
74
+ async function post(endpoint, body, abortSignal) {
75
+ let lastError;
76
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
77
+ try {
78
+ return await postOnce(endpoint, body, abortSignal);
79
+ }
80
+ catch (error) {
81
+ lastError = error;
82
+ if (abortSignal?.aborted)
83
+ throw abortError(abortSignal);
84
+ const transient = error instanceof ProviderHttpError &&
85
+ isTransientProviderStatus(error.status);
86
+ if (!transient || attempt >= maxAttempts)
87
+ throw error;
88
+ const delay = baseDelayMs * 2 ** (attempt - 1) * (0.5 + Math.random() * 0.5);
89
+ await sleep(delay, abortSignal);
90
+ }
91
+ }
92
+ throw lastError;
93
+ }
94
+ return {
95
+ async getEnablerSignature(request, challenge, abortSignal) {
96
+ const response = await post("getEnablerSignature", request, abortSignal);
97
+ const result = (await response.json());
98
+ return {
99
+ enabler: {
100
+ publicKey: base64UrlToBytes(result.publicKey),
101
+ signature: base64UrlToBytes(result.signature),
102
+ message: challenge,
103
+ },
104
+ paymentAccessory: base64UrlToBytes(result.paymentAccessory),
105
+ payer: result.payer,
106
+ outstandingExposure: parseU64Field(result.outstandingExposure, "outstandingExposure"),
107
+ freeEscrow: parseU64Field(result.freeEscrow, "freeEscrow"),
108
+ };
109
+ },
110
+ async getFeePayerAddress(abortSignal) {
111
+ const response = await post("getFeePayer", {}, abortSignal);
112
+ const result = (await response.json());
113
+ return result.address;
114
+ },
115
+ async signAsFeePayer(transactionBase64, abortSignal) {
116
+ const response = await post("signAsFeePayer", { transaction: transactionBase64 }, abortSignal);
117
+ const result = (await response.json());
118
+ return base64ToBytes(result.signature);
119
+ },
120
+ async listPendingTaps(request, abortSignal) {
121
+ const response = await post("listPendingTaps", request, abortSignal);
122
+ return (await response.json());
123
+ },
124
+ async acknowledgePendingTap(request, abortSignal) {
125
+ await post("acknowledgePendingTap", request, abortSignal);
126
+ },
127
+ async persistTransferResult(receipt, abortSignal) {
128
+ await post("persistTransferResult", receipt, abortSignal);
129
+ },
130
+ };
131
+ }
132
+ function parseU64Field(value, field) {
133
+ if (typeof value !== "string" || value.trim() === "") {
134
+ throw new ConfigurationError(`getEnablerSignature response missing required u64 field "${field}".`);
135
+ }
136
+ let parsed;
137
+ try {
138
+ parsed = BigInt(value);
139
+ }
140
+ catch {
141
+ throw new ConfigurationError(`getEnablerSignature response field "${field}" is not a u64 string.`);
142
+ }
143
+ try {
144
+ assertU64(parsed);
145
+ }
146
+ catch {
147
+ throw new ConfigurationError(`getEnablerSignature response field "${field}" is outside the u64 range.`);
148
+ }
149
+ return parsed;
150
+ }
151
+ //# sourceMappingURL=provider-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-transport.js","sourceRoot":"","sources":["../../src/core/provider-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { PaymentFlags } from "../generated/types/paymentFlags.js";
2
+ export declare enum PaymentStatus {
3
+ Pending = 0,
4
+ Disputed = 1,
5
+ Captured = 2,
6
+ Refunded = 3
7
+ }
8
+ export interface DecodedPaymentFlags {
9
+ status: PaymentStatus;
10
+ merchantResponded: boolean;
11
+ }
12
+ export declare function decodePaymentFlags(flags: PaymentFlags | number): DecodedPaymentFlags;
13
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,oBAAY,aAAa;IACvB,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AASD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,GAAG,MAAM,GAC3B,mBAAmB,CAMrB"}
@@ -0,0 +1,17 @@
1
+ export var PaymentStatus;
2
+ (function (PaymentStatus) {
3
+ PaymentStatus[PaymentStatus["Pending"] = 0] = "Pending";
4
+ PaymentStatus[PaymentStatus["Disputed"] = 1] = "Disputed";
5
+ PaymentStatus[PaymentStatus["Captured"] = 2] = "Captured";
6
+ PaymentStatus[PaymentStatus["Refunded"] = 3] = "Refunded";
7
+ })(PaymentStatus || (PaymentStatus = {}));
8
+ const STATUS_MASK = 0b0000_0011;
9
+ const MERCHANT_RESPONDED = 0b0000_1000;
10
+ export function decodePaymentFlags(flags) {
11
+ const byte = typeof flags === "number" ? flags : flags[0];
12
+ return {
13
+ status: (byte & STATUS_MASK),
14
+ merchantResponded: (byte & MERCHANT_RESPONDED) !== 0,
15
+ };
16
+ }
17
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,yDAAY,CAAA;IACZ,yDAAY,CAAA;IACZ,yDAAY,CAAA;AACd,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAOD,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAMvC,MAAM,UAAU,kBAAkB,CAChC,KAA4B;IAE5B,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,GAAG,WAAW,CAAkB;QAC7C,iBAAiB,EAAE,CAAC,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { PaymentSummary } from "./payment.js";
2
+ export declare const PROTOCOL_CONSTANTS: {
3
+ readonly minCaptureWindowSecs: 1800;
4
+ readonly maxCaptureWindowSecs: 86400;
5
+ readonly authorizationTtlSecs: 86400;
6
+ readonly clockSkewSecs: 300;
7
+ readonly settingsChangeTimelockSecs: 86400;
8
+ readonly reserveLowerTimelockSecs: 86400;
9
+ readonly merchantResolveDeadlineSecs: 86400;
10
+ readonly arbiterDeadlineSecs: 172800;
11
+ readonly disputeBondBps: 100n;
12
+ readonly minDisputeBond: 1n;
13
+ readonly maxDisputeStrikes: 3;
14
+ readonly strikeDecaySecs: 2592000;
15
+ };
16
+ export declare function nowSeconds(): number;
17
+ export declare function computeDisputeBond(amount: bigint): bigint;
18
+ export declare function isSettleable(payment: Pick<PaymentSummary, "status" | "captureAfter">, now?: number): boolean;
19
+ export declare function isDisputable(payment: Pick<PaymentSummary, "status" | "captureAfter">, now?: number): boolean;
20
+ export declare function isAutoRefundable(payment: Pick<PaymentSummary, "status" | "merchantResponded" | "disputedAt" | "respondedAt">, now?: number): boolean;
21
+ export declare function isClosable(payment: Pick<PaymentSummary, "status" | "issuedAt">, now?: number): boolean;
22
+ export declare function autoRefundSplit(payment: Pick<PaymentSummary, "merchantResponded">): {
23
+ payerShare: "full" | "half";
24
+ };
25
+ export declare function nextDeadline(payment: Pick<PaymentSummary, "status" | "merchantResponded" | "captureAfter" | "disputedAt" | "respondedAt">): {
26
+ kind: "capture" | "merchantRespond" | "arbiterResolve";
27
+ at: number;
28
+ } | null;
29
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/core/time.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CA4BrB,CAAC;AAEX,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKzD;AAGD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,cAAc,CAAC,EACxD,GAAG,GAAE,MAAqB,GACzB,OAAO,CAET;AAGD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,cAAc,CAAC,EACxD,GAAG,GAAE,MAAqB,GACzB,OAAO,CAET;AAQD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CACX,cAAc,EACd,QAAQ,GAAG,mBAAmB,GAAG,YAAY,GAAG,aAAa,CAC9D,EACD,GAAG,GAAE,MAAqB,GACzB,OAAO,CAQT;AAQD,wBAAgB,UAAU,CACxB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,UAAU,CAAC,EACpD,GAAG,GAAE,MAAqB,GACzB,OAAO,CAQT;AAMD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,GACjD;IAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAEjC;AAMD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,IAAI,CACX,cAAc,EACd,QAAQ,GAAG,mBAAmB,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAC/E,GACA;IAAE,IAAI,EAAE,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiB/E"}
@@ -0,0 +1,66 @@
1
+ import { PaymentStatus } from "./status.js";
2
+ export const PROTOCOL_CONSTANTS = {
3
+ minCaptureWindowSecs: 1_800,
4
+ maxCaptureWindowSecs: 86_400,
5
+ authorizationTtlSecs: 86_400,
6
+ clockSkewSecs: 300,
7
+ settingsChangeTimelockSecs: 86_400,
8
+ reserveLowerTimelockSecs: 86_400,
9
+ merchantResolveDeadlineSecs: 86_400,
10
+ arbiterDeadlineSecs: 172_800,
11
+ disputeBondBps: 100n,
12
+ minDisputeBond: 1n,
13
+ maxDisputeStrikes: 3,
14
+ strikeDecaySecs: 2_592_000,
15
+ };
16
+ export function nowSeconds() {
17
+ return Math.floor(Date.now() / 1000);
18
+ }
19
+ export function computeDisputeBond(amount) {
20
+ const bond = (amount * PROTOCOL_CONSTANTS.disputeBondBps) / 10000n;
21
+ return bond > PROTOCOL_CONSTANTS.minDisputeBond
22
+ ? bond
23
+ : PROTOCOL_CONSTANTS.minDisputeBond;
24
+ }
25
+ export function isSettleable(payment, now = nowSeconds()) {
26
+ return payment.status === PaymentStatus.Pending && now >= payment.captureAfter;
27
+ }
28
+ export function isDisputable(payment, now = nowSeconds()) {
29
+ return payment.status === PaymentStatus.Pending && now < payment.captureAfter;
30
+ }
31
+ export function isAutoRefundable(payment, now = nowSeconds()) {
32
+ if (payment.status !== PaymentStatus.Disputed)
33
+ return false;
34
+ if (payment.merchantResponded) {
35
+ return (now >= payment.respondedAt + PROTOCOL_CONSTANTS.arbiterDeadlineSecs);
36
+ }
37
+ return now >= payment.disputedAt + PROTOCOL_CONSTANTS.merchantResolveDeadlineSecs;
38
+ }
39
+ export function isClosable(payment, now = nowSeconds()) {
40
+ const terminal = payment.status === PaymentStatus.Captured ||
41
+ payment.status === PaymentStatus.Refunded;
42
+ return (terminal &&
43
+ now >= payment.issuedAt + PROTOCOL_CONSTANTS.authorizationTtlSecs);
44
+ }
45
+ export function autoRefundSplit(payment) {
46
+ return { payerShare: payment.merchantResponded ? "half" : "full" };
47
+ }
48
+ export function nextDeadline(payment) {
49
+ switch (payment.status) {
50
+ case PaymentStatus.Pending:
51
+ return { kind: "capture", at: payment.captureAfter };
52
+ case PaymentStatus.Disputed:
53
+ return payment.merchantResponded
54
+ ? {
55
+ kind: "arbiterResolve",
56
+ at: payment.respondedAt + PROTOCOL_CONSTANTS.arbiterDeadlineSecs,
57
+ }
58
+ : {
59
+ kind: "merchantRespond",
60
+ at: payment.disputedAt + PROTOCOL_CONSTANTS.merchantResolveDeadlineSecs,
61
+ };
62
+ default:
63
+ return null;
64
+ }
65
+ }
66
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/core/time.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAEhC,oBAAoB,EAAE,KAAK;IAE3B,oBAAoB,EAAE,MAAM;IAE5B,oBAAoB,EAAE,MAAM;IAE5B,aAAa,EAAE,GAAG;IAKlB,0BAA0B,EAAE,MAAM;IAElC,wBAAwB,EAAE,MAAM;IAEhC,2BAA2B,EAAE,MAAM;IAEnC,mBAAmB,EAAE,OAAO;IAE5B,cAAc,EAAE,IAAI;IAEpB,cAAc,EAAE,EAAE;IAElB,iBAAiB,EAAE,CAAC;IAEpB,eAAe,EAAE,SAAS;CAClB,CAAC;AAEX,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,GAAG,MAAO,CAAC;IACpE,OAAO,IAAI,GAAG,kBAAkB,CAAC,cAAc;QAC7C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC;AACxC,CAAC;AAGD,MAAM,UAAU,YAAY,CAC1B,OAAwD,EACxD,MAAc,UAAU,EAAE;IAE1B,OAAO,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,IAAI,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;AACjF,CAAC;AAGD,MAAM,UAAU,YAAY,CAC1B,OAAwD,EACxD,MAAc,UAAU,EAAE;IAE1B,OAAO,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;AAChF,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAC9B,OAGC,EACD,MAAc,UAAU,EAAE;IAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,OAAO,CACL,GAAG,IAAI,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC,mBAAmB,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,GAAG,kBAAkB,CAAC,2BAA2B,CAAC;AACpF,CAAC;AAQD,MAAM,UAAU,UAAU,CACxB,OAAoD,EACpD,MAAc,UAAU,EAAE;IAE1B,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,QAAQ;QACzC,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,QAAQ,CAAC;IAC5C,OAAO,CACL,QAAQ;QACR,GAAG,IAAI,OAAO,CAAC,QAAQ,GAAG,kBAAkB,CAAC,oBAAoB,CAClE,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,eAAe,CAC7B,OAAkD;IAElD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACrE,CAAC;AAMD,MAAM,UAAU,YAAY,CAC1B,OAGC;IAED,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QACvD,KAAK,aAAa,CAAC,QAAQ;YACzB,OAAO,OAAO,CAAC,iBAAiB;gBAC9B,CAAC,CAAC;oBACE,IAAI,EAAE,gBAAgB;oBACtB,EAAE,EAAE,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC,mBAAmB;iBACjE;gBACH,CAAC,CAAC;oBACE,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,OAAO,CAAC,UAAU,GAAG,kBAAkB,CAAC,2BAA2B;iBACxE,CAAC;QACR;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type Instruction, type Rpc, type RpcSubscriptions, type Signature, type SolanaRpcApi, type SolanaRpcSubscriptionsApi, type TransactionSigner } from "@solana/kit";
2
+ import { type Address } from "@solana/kit";
3
+ export declare function demoteSignerAccount(instruction: Instruction, address: Address): Instruction;
4
+ export interface TransactionRuntimeConfig {
5
+ rpc: Rpc<SolanaRpcApi>;
6
+ rpcSubscriptions?: RpcSubscriptions<SolanaRpcSubscriptionsApi>;
7
+ }
8
+ export interface TransactionRuntime {
9
+ simulate(payer: TransactionSigner, instructions: Instruction[]): Promise<void>;
10
+ sendAndConfirm(payer: TransactionSigner, instructions: Instruction[], options?: {
11
+ skipSimulation?: boolean;
12
+ }): Promise<Signature>;
13
+ }
14
+ export declare function createTransactionRuntime(config: TransactionRuntimeConfig): TransactionRuntime;
15
+ export declare function isSignatureConfirmed(rpc: Rpc<SolanaRpcApi>, signature: Signature): Promise<boolean>;
16
+ //# sourceMappingURL=transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/core/transactions.ts"],"names":[],"mappings":"AAKA,OAAO,EAcL,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAaxD,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GACf,WAAW,CAcb;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;CAChE;AAOD,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E,cAAc,CACZ,KAAK,EAAE,iBAAiB,EACxB,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC,SAAS,CAAC,CAAC;CACvB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,kBAAkB,CAuFpB;AAQD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
@@ -0,0 +1,87 @@
1
+ import { appendTransactionMessageInstructions, assertIsTransactionWithBlockhashLifetime, compileTransaction, createTransactionMessage, getBase58Decoder, getBase64EncodedWireTransaction, getSignatureFromTransaction, pipe, sendAndConfirmTransactionFactory, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from "@solana/kit";
2
+ import { AccountRole } from "@solana/kit";
3
+ import { ConfigurationError, toSdkError } from "./errors.js";
4
+ export function demoteSignerAccount(instruction, address) {
5
+ return {
6
+ ...instruction,
7
+ accounts: instruction.accounts?.map((account) => {
8
+ if (account.address !== address)
9
+ return account;
10
+ if (account.role === AccountRole.WRITABLE_SIGNER) {
11
+ return { address: account.address, role: AccountRole.WRITABLE };
12
+ }
13
+ if (account.role === AccountRole.READONLY_SIGNER) {
14
+ return { address: account.address, role: AccountRole.READONLY };
15
+ }
16
+ return account;
17
+ }),
18
+ };
19
+ }
20
+ export function createTransactionRuntime(config) {
21
+ const { rpc, rpcSubscriptions } = config;
22
+ const confirm = rpcSubscriptions
23
+ ? sendAndConfirmTransactionFactory({ rpc, rpcSubscriptions })
24
+ : null;
25
+ async function simulate(payer, instructions) {
26
+ const transaction = pipe(createTransactionMessage({ version: 0 }), (m) => setTransactionMessageFeePayerSigner(payer, m), (m) => setTransactionMessageLifetimeUsingBlockhash({
27
+ blockhash: getBase58Decoder().decode(crypto.getRandomValues(new Uint8Array(32))),
28
+ lastValidBlockHeight: 0n,
29
+ }, m), (m) => appendTransactionMessageInstructions(instructions, m), (m) => compileTransaction(m));
30
+ const result = await rpc
31
+ .simulateTransaction(getBase64EncodedWireTransaction(transaction), {
32
+ encoding: "base64",
33
+ replaceRecentBlockhash: true,
34
+ sigVerify: false,
35
+ })
36
+ .send();
37
+ if (result.value.err) {
38
+ throw toSdkError(result.value.err, {
39
+ logs: result.value.logs ?? undefined,
40
+ });
41
+ }
42
+ }
43
+ async function sendAndConfirm(payer, instructions, options = {}) {
44
+ if (!confirm) {
45
+ throw new ConfigurationError("rpcSubscriptions is required to send transactions; pass it to the client config.");
46
+ }
47
+ if (!options.skipSimulation) {
48
+ await simulate(payer, instructions);
49
+ }
50
+ const latestBlockhash = (await rpc.getLatestBlockhash().send()).value;
51
+ const transaction = await pipe(createTransactionMessage({ version: 0 }), (m) => setTransactionMessageFeePayerSigner(payer, m), (m) => setTransactionMessageLifetimeUsingBlockhash({
52
+ blockhash: latestBlockhash.blockhash,
53
+ lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,
54
+ }, m), (m) => appendTransactionMessageInstructions(instructions, m), (m) => signTransactionMessageWithSigners(m));
55
+ assertIsTransactionWithBlockhashLifetime(transaction);
56
+ const signature = getSignatureFromTransaction(transaction);
57
+ try {
58
+ await confirm(transaction, { commitment: "confirmed" });
59
+ }
60
+ catch (error) {
61
+ if (await isSignatureConfirmed(rpc, signature)) {
62
+ return signature;
63
+ }
64
+ throw toSdkError(error, { signature });
65
+ }
66
+ return signature;
67
+ }
68
+ return { simulate, sendAndConfirm };
69
+ }
70
+ export async function isSignatureConfirmed(rpc, signature) {
71
+ try {
72
+ const statuses = await rpc
73
+ .getSignatureStatuses([signature], {
74
+ searchTransactionHistory: true,
75
+ })
76
+ .send();
77
+ const status = statuses.value[0];
78
+ return Boolean(status &&
79
+ !status.err &&
80
+ (status.confirmationStatus === "confirmed" ||
81
+ status.confirmationStatus === "finalized"));
82
+ }
83
+ catch {
84
+ return false;
85
+ }
86
+ }
87
+ //# sourceMappingURL=transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/core/transactions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from "@solana/kit";
2
+ export declare const ARBITER_DISCRIMINATOR: ReadonlyUint8Array;
3
+ export declare function getArbiterDiscriminatorBytes(): ReadonlyUint8Array;
4
+ export type Arbiter = {
5
+ discriminator: ReadonlyUint8Array;
6
+ version: number;
7
+ authority: Address;
8
+ resolutions: number;
9
+ timeouts: number;
10
+ assigned: number;
11
+ bump: number;
12
+ };
13
+ export type ArbiterArgs = {
14
+ version: number;
15
+ authority: Address;
16
+ resolutions: number;
17
+ timeouts: number;
18
+ assigned: number;
19
+ bump: number;
20
+ };
21
+ export declare function getArbiterEncoder(): FixedSizeEncoder<ArbiterArgs>;
22
+ export declare function getArbiterDecoder(): FixedSizeDecoder<Arbiter>;
23
+ export declare function getArbiterCodec(): FixedSizeCodec<ArbiterArgs, Arbiter>;
24
+ export declare function decodeArbiter<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<Arbiter, TAddress>;
25
+ export declare function decodeArbiter<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<Arbiter, TAddress>;
26
+ export declare function fetchArbiter<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<Arbiter, TAddress>>;
27
+ export declare function fetchMaybeArbiter<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<Arbiter, TAddress>>;
28
+ export declare function fetchAllArbiter(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<Arbiter>[]>;
29
+ export declare function fetchAllMaybeArbiter(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<Arbiter>[]>;
30
+ export declare function getArbiterSize(): number;
31
+ //# sourceMappingURL=arbiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arbiter.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/arbiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { assertAccountExists, assertAccountsExist, combineCodec, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU8Decoder, getU8Encoder, transformEncoder, } from "@solana/kit";
2
+ export const ARBITER_DISCRIMINATOR = new Uint8Array([
3
+ 73, 85, 239, 61, 111, 43, 95, 83,
4
+ ]);
5
+ export function getArbiterDiscriminatorBytes() {
6
+ return fixEncoderSize(getBytesEncoder(), 8).encode(ARBITER_DISCRIMINATOR);
7
+ }
8
+ export function getArbiterEncoder() {
9
+ return transformEncoder(getStructEncoder([
10
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
11
+ ["version", getU8Encoder()],
12
+ ["authority", getAddressEncoder()],
13
+ ["resolutions", getU32Encoder()],
14
+ ["timeouts", getU32Encoder()],
15
+ ["assigned", getU32Encoder()],
16
+ ["bump", getU8Encoder()],
17
+ ]), (value) => ({ ...value, discriminator: ARBITER_DISCRIMINATOR }));
18
+ }
19
+ export function getArbiterDecoder() {
20
+ return getStructDecoder([
21
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
22
+ ["version", getU8Decoder()],
23
+ ["authority", getAddressDecoder()],
24
+ ["resolutions", getU32Decoder()],
25
+ ["timeouts", getU32Decoder()],
26
+ ["assigned", getU32Decoder()],
27
+ ["bump", getU8Decoder()],
28
+ ]);
29
+ }
30
+ export function getArbiterCodec() {
31
+ return combineCodec(getArbiterEncoder(), getArbiterDecoder());
32
+ }
33
+ export function decodeArbiter(encodedAccount) {
34
+ return decodeAccount(encodedAccount, getArbiterDecoder());
35
+ }
36
+ export async function fetchArbiter(rpc, address, config) {
37
+ const maybeAccount = await fetchMaybeArbiter(rpc, address, config);
38
+ assertAccountExists(maybeAccount);
39
+ return maybeAccount;
40
+ }
41
+ export async function fetchMaybeArbiter(rpc, address, config) {
42
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
43
+ return decodeArbiter(maybeAccount);
44
+ }
45
+ export async function fetchAllArbiter(rpc, addresses, config) {
46
+ const maybeAccounts = await fetchAllMaybeArbiter(rpc, addresses, config);
47
+ assertAccountsExist(maybeAccounts);
48
+ return maybeAccounts;
49
+ }
50
+ export async function fetchAllMaybeArbiter(rpc, addresses, config) {
51
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
52
+ return maybeAccounts.map((maybeAccount) => decodeArbiter(maybeAccount));
53
+ }
54
+ export function getArbiterSize() {
55
+ return 54;
56
+ }
57
+ //# sourceMappingURL=arbiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arbiter.js","sourceRoot":"","sources":["../../../src/generated/accounts/arbiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./arbiter.js";
2
+ export * from "./merchantOperator.js";
3
+ export * from "./payment.js";
4
+ export * from "./paymentAccount.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/index.ts"],"names":[],"mappings":"AAQA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./arbiter.js";
2
+ export * from "./merchantOperator.js";
3
+ export * from "./payment.js";
4
+ export * from "./paymentAccount.js";
5
+ //# sourceMappingURL=index.js.map