@daimo/sdk 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/client/createDaimoClient.d.ts +33 -0
  2. package/dist/client/createDaimoClient.d.ts.map +1 -0
  3. package/dist/client/createDaimoClient.js +79 -0
  4. package/dist/client/createDaimoClient.js.map +1 -0
  5. package/dist/client/index.d.ts +4 -0
  6. package/dist/client/index.d.ts.map +1 -0
  7. package/dist/client/index.js +2 -0
  8. package/dist/client/index.js.map +1 -0
  9. package/dist/client/transport.d.ts +15 -0
  10. package/dist/client/transport.d.ts.map +1 -0
  11. package/dist/client/transport.js +95 -0
  12. package/dist/client/transport.js.map +1 -0
  13. package/dist/common/api.d.ts +184 -0
  14. package/dist/common/api.d.ts.map +1 -0
  15. package/dist/common/api.js +40 -0
  16. package/dist/common/api.js.map +1 -0
  17. package/dist/common/chain.d.ts +35 -0
  18. package/dist/common/chain.d.ts.map +1 -0
  19. package/dist/common/chain.js +198 -0
  20. package/dist/common/chain.js.map +1 -0
  21. package/dist/common/errors.d.ts +29 -0
  22. package/dist/common/errors.d.ts.map +1 -0
  23. package/dist/common/errors.js +41 -0
  24. package/dist/common/errors.js.map +1 -0
  25. package/dist/common/index.d.ts +7 -0
  26. package/dist/common/index.d.ts.map +1 -0
  27. package/dist/common/index.js +7 -0
  28. package/dist/common/index.js.map +1 -0
  29. package/dist/common/primitives.d.ts +13 -0
  30. package/dist/common/primitives.d.ts.map +1 -0
  31. package/dist/common/primitives.js +14 -0
  32. package/dist/common/primitives.js.map +1 -0
  33. package/dist/common/session.d.ts +140 -0
  34. package/dist/common/session.d.ts.map +1 -0
  35. package/dist/common/session.js +16 -0
  36. package/dist/common/session.js.map +1 -0
  37. package/dist/common/token.d.ts +130 -0
  38. package/dist/common/token.d.ts.map +1 -0
  39. package/dist/common/token.js +783 -0
  40. package/dist/common/token.js.map +1 -0
  41. package/dist/web/api/index.d.ts +3 -0
  42. package/dist/web/api/index.d.ts.map +1 -0
  43. package/dist/web/api/index.js +2 -0
  44. package/dist/web/api/index.js.map +1 -0
  45. package/dist/web/api/navTree.d.ts +52 -0
  46. package/dist/web/api/navTree.d.ts.map +1 -0
  47. package/dist/web/api/navTree.js +2 -0
  48. package/dist/web/api/navTree.js.map +1 -0
  49. package/dist/web/api/walletTypes.d.ts +25 -0
  50. package/dist/web/api/walletTypes.d.ts.map +1 -0
  51. package/dist/web/api/walletTypes.js +2 -0
  52. package/dist/web/api/walletTypes.js.map +1 -0
  53. package/dist/web/components/ChooseOptionPage.d.ts +9 -0
  54. package/dist/web/components/ChooseOptionPage.d.ts.map +1 -0
  55. package/dist/web/components/ChooseOptionPage.js +51 -0
  56. package/dist/web/components/ChooseOptionPage.js.map +1 -0
  57. package/dist/web/components/ConfirmationPage.d.ts +32 -0
  58. package/dist/web/components/ConfirmationPage.d.ts.map +1 -0
  59. package/dist/web/components/ConfirmationPage.js +72 -0
  60. package/dist/web/components/ConfirmationPage.js.map +1 -0
  61. package/dist/web/components/ConfirmationSpinner.d.ts +7 -0
  62. package/dist/web/components/ConfirmationSpinner.d.ts.map +1 -0
  63. package/dist/web/components/ConfirmationSpinner.js +20 -0
  64. package/dist/web/components/ConfirmationSpinner.js.map +1 -0
  65. package/dist/web/components/DaimoModal.d.ts +15 -0
  66. package/dist/web/components/DaimoModal.d.ts.map +1 -0
  67. package/dist/web/components/DaimoModal.js +314 -0
  68. package/dist/web/components/DaimoModal.js.map +1 -0
  69. package/dist/web/components/DeeplinkPage.d.ts +8 -0
  70. package/dist/web/components/DeeplinkPage.d.ts.map +1 -0
  71. package/dist/web/components/DeeplinkPage.js +13 -0
  72. package/dist/web/components/DeeplinkPage.js.map +1 -0
  73. package/dist/web/components/ErrorPage.d.ts +29 -0
  74. package/dist/web/components/ErrorPage.d.ts.map +1 -0
  75. package/dist/web/components/ErrorPage.js +47 -0
  76. package/dist/web/components/ErrorPage.js.map +1 -0
  77. package/dist/web/components/ExchangePage.d.ts +11 -0
  78. package/dist/web/components/ExchangePage.d.ts.map +1 -0
  79. package/dist/web/components/ExchangePage.js +13 -0
  80. package/dist/web/components/ExchangePage.js.map +1 -0
  81. package/dist/web/components/ExpiredPage.d.ts +9 -0
  82. package/dist/web/components/ExpiredPage.d.ts.map +1 -0
  83. package/dist/web/components/ExpiredPage.js +12 -0
  84. package/dist/web/components/ExpiredPage.js.map +1 -0
  85. package/dist/web/components/ModalSkeleton.d.ts +7 -0
  86. package/dist/web/components/ModalSkeleton.d.ts.map +1 -0
  87. package/dist/web/components/ModalSkeleton.js +13 -0
  88. package/dist/web/components/ModalSkeleton.js.map +1 -0
  89. package/dist/web/components/ProgressDots.d.ts +16 -0
  90. package/dist/web/components/ProgressDots.d.ts.map +1 -0
  91. package/dist/web/components/ProgressDots.js +55 -0
  92. package/dist/web/components/ProgressDots.js.map +1 -0
  93. package/dist/web/components/QRCode.d.ts +7 -0
  94. package/dist/web/components/QRCode.d.ts.map +1 -0
  95. package/dist/web/components/QRCode.js +69 -0
  96. package/dist/web/components/QRCode.js.map +1 -0
  97. package/dist/web/components/SelectAmountPage.d.ts +21 -0
  98. package/dist/web/components/SelectAmountPage.d.ts.map +1 -0
  99. package/dist/web/components/SelectAmountPage.js +27 -0
  100. package/dist/web/components/SelectAmountPage.js.map +1 -0
  101. package/dist/web/components/SelectTokenPage.d.ts +14 -0
  102. package/dist/web/components/SelectTokenPage.d.ts.map +1 -0
  103. package/dist/web/components/SelectTokenPage.js +71 -0
  104. package/dist/web/components/SelectTokenPage.js.map +1 -0
  105. package/dist/web/components/WaitingDepositAddressPage.d.ts +15 -0
  106. package/dist/web/components/WaitingDepositAddressPage.d.ts.map +1 -0
  107. package/dist/web/components/WaitingDepositAddressPage.js +126 -0
  108. package/dist/web/components/WaitingDepositAddressPage.js.map +1 -0
  109. package/dist/web/components/WalletAmountPage.d.ts +10 -0
  110. package/dist/web/components/WalletAmountPage.d.ts.map +1 -0
  111. package/dist/web/components/WalletAmountPage.js +158 -0
  112. package/dist/web/components/WalletAmountPage.js.map +1 -0
  113. package/dist/web/components/buttons.d.ts +15 -0
  114. package/dist/web/components/buttons.d.ts.map +1 -0
  115. package/dist/web/components/buttons.js +24 -0
  116. package/dist/web/components/buttons.js.map +1 -0
  117. package/dist/web/components/containers.d.ts +19 -0
  118. package/dist/web/components/containers.d.ts.map +1 -0
  119. package/dist/web/components/containers.js +77 -0
  120. package/dist/web/components/containers.js.map +1 -0
  121. package/dist/web/components/icons.d.ts +22 -0
  122. package/dist/web/components/icons.d.ts.map +1 -0
  123. package/dist/web/components/icons.js +33 -0
  124. package/dist/web/components/icons.js.map +1 -0
  125. package/dist/web/components/shared.d.ts +93 -0
  126. package/dist/web/components/shared.d.ts.map +1 -0
  127. package/dist/web/components/shared.js +202 -0
  128. package/dist/web/components/shared.js.map +1 -0
  129. package/dist/web/hooks/DaimoClientContext.d.ts +7 -0
  130. package/dist/web/hooks/DaimoClientContext.d.ts.map +1 -0
  131. package/dist/web/hooks/DaimoClientContext.js +15 -0
  132. package/dist/web/hooks/DaimoClientContext.js.map +1 -0
  133. package/dist/web/hooks/formatUserError.d.ts +3 -0
  134. package/dist/web/hooks/formatUserError.d.ts.map +1 -0
  135. package/dist/web/hooks/formatUserError.js +30 -0
  136. package/dist/web/hooks/formatUserError.js.map +1 -0
  137. package/dist/web/hooks/locale.d.ts +7 -0
  138. package/dist/web/hooks/locale.d.ts.map +1 -0
  139. package/dist/web/hooks/locale.js +15 -0
  140. package/dist/web/hooks/locale.js.map +1 -0
  141. package/dist/web/hooks/locales/en.d.ts +60 -0
  142. package/dist/web/hooks/locales/en.d.ts.map +1 -0
  143. package/dist/web/hooks/locales/en.js +76 -0
  144. package/dist/web/hooks/locales/en.js.map +1 -0
  145. package/dist/web/hooks/locales/es.d.ts +4 -0
  146. package/dist/web/hooks/locales/es.d.ts.map +1 -0
  147. package/dist/web/hooks/locales/es.js +60 -0
  148. package/dist/web/hooks/locales/es.js.map +1 -0
  149. package/dist/web/hooks/navEvent.d.ts +60 -0
  150. package/dist/web/hooks/navEvent.d.ts.map +1 -0
  151. package/dist/web/hooks/navEvent.js +12 -0
  152. package/dist/web/hooks/navEvent.js.map +1 -0
  153. package/dist/web/hooks/types.d.ts +72 -0
  154. package/dist/web/hooks/types.d.ts.map +1 -0
  155. package/dist/web/hooks/types.js +14 -0
  156. package/dist/web/hooks/types.js.map +1 -0
  157. package/dist/web/hooks/useCopyToClipboard.d.ts +6 -0
  158. package/dist/web/hooks/useCopyToClipboard.d.ts.map +1 -0
  159. package/dist/web/hooks/useCopyToClipboard.js +20 -0
  160. package/dist/web/hooks/useCopyToClipboard.js.map +1 -0
  161. package/dist/web/hooks/usePaymentCallbacks.d.ts +15 -0
  162. package/dist/web/hooks/usePaymentCallbacks.d.ts.map +1 -0
  163. package/dist/web/hooks/usePaymentCallbacks.js +27 -0
  164. package/dist/web/hooks/usePaymentCallbacks.js.map +1 -0
  165. package/dist/web/hooks/useSessionNav.d.ts +28 -0
  166. package/dist/web/hooks/useSessionNav.d.ts.map +1 -0
  167. package/dist/web/hooks/useSessionNav.js +422 -0
  168. package/dist/web/hooks/useSessionNav.js.map +1 -0
  169. package/dist/web/hooks/useSessionPolling.d.ts +10 -0
  170. package/dist/web/hooks/useSessionPolling.d.ts.map +1 -0
  171. package/dist/web/hooks/useSessionPolling.js +60 -0
  172. package/dist/web/hooks/useSessionPolling.js.map +1 -0
  173. package/dist/web/hooks/useWalletFlow.d.ts +22 -0
  174. package/dist/web/hooks/useWalletFlow.d.ts.map +1 -0
  175. package/dist/web/hooks/useWalletFlow.js +350 -0
  176. package/dist/web/hooks/useWalletFlow.js.map +1 -0
  177. package/dist/web/hooks/walletProvider.d.ts +34 -0
  178. package/dist/web/hooks/walletProvider.d.ts.map +1 -0
  179. package/dist/web/hooks/walletProvider.js +14 -0
  180. package/dist/web/hooks/walletProvider.js.map +1 -0
  181. package/dist/web/index.d.ts +33 -0
  182. package/dist/web/index.d.ts.map +1 -0
  183. package/dist/web/index.js +30 -0
  184. package/dist/web/index.js.map +1 -0
  185. package/dist/web/theme.css +183 -0
  186. package/package.json +64 -0
@@ -0,0 +1,33 @@
1
+ import type { CheckSessionRequest, CheckSessionResponse, CreatePaymentMethodRequest, CreatePaymentMethodResponse, LogNavEventRequest, RetrieveSessionResponse, TokenOptionsRequest, TokenOptionsResponse } from "../common/api.js";
2
+ import type { SessionWithNav, WalletPaymentOption } from "../web/api/index.js";
3
+ import { type TransportConfig } from "./transport.js";
4
+ export type RetrieveSessionWithNavResponse = {
5
+ session: SessionWithNav;
6
+ };
7
+ export type WalletOptionsResponse = WalletPaymentOption[];
8
+ export type DaimoClient = {
9
+ sessions: {
10
+ retrieve(sessionId: string): Promise<RetrieveSessionResponse>;
11
+ paymentMethods: {
12
+ create(sessionId: string, input: CreatePaymentMethodRequest): Promise<CreatePaymentMethodResponse>;
13
+ };
14
+ check(sessionId: string, input: CheckSessionRequest): Promise<CheckSessionResponse>;
15
+ tokenOptions: {
16
+ list(sessionId: string, input: TokenOptionsRequest): Promise<TokenOptionsResponse>;
17
+ };
18
+ };
19
+ internal: {
20
+ sessions: {
21
+ retrieveWithNav(sessionId: string): Promise<RetrieveSessionWithNavResponse>;
22
+ recreate(sessionId: string, clientSecret: string): Promise<RetrieveSessionWithNavResponse>;
23
+ walletOptions(sessionId: string, params: {
24
+ clientSecret: string;
25
+ evmAddress?: string;
26
+ solanaAddress?: string;
27
+ }): Promise<WalletOptionsResponse>;
28
+ logNavEvent(sessionId: string, input: LogNavEventRequest): Promise<void>;
29
+ };
30
+ };
31
+ };
32
+ export declare function createDaimoClient(config: TransportConfig): DaimoClient;
33
+ //# sourceMappingURL=createDaimoClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDaimoClient.d.ts","sourceRoot":"","sources":["../../src/client/createDaimoClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,cAAc,EAAE;YACd,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAAC;SACzC,CAAC;QACF,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjC,YAAY,EAAE;YACZ,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,eAAe,CACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC3C,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC3C,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;gBACN,YAAY,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,MAAM,CAAC;gBACpB,aAAa,CAAC,EAAE,MAAM,CAAC;aACxB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAClC,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;SAClB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAiFtE"}
@@ -0,0 +1,79 @@
1
+ import { createTransport } from "./transport.js";
2
+ export function createDaimoClient(config) {
3
+ const transport = createTransport(config);
4
+ return {
5
+ sessions: {
6
+ retrieve(sessionId) {
7
+ return transport.request({
8
+ method: "GET",
9
+ path: `/v1/sessions/${sessionId}`,
10
+ });
11
+ },
12
+ paymentMethods: {
13
+ create(sessionId, input) {
14
+ return transport.request({
15
+ method: "POST",
16
+ path: `/v1/sessions/${sessionId}/paymentMethods`,
17
+ body: input,
18
+ });
19
+ },
20
+ },
21
+ check(sessionId, input) {
22
+ return transport.request({
23
+ method: "PUT",
24
+ path: `/v1/sessions/${sessionId}/check`,
25
+ body: input,
26
+ });
27
+ },
28
+ tokenOptions: {
29
+ list(sessionId, input) {
30
+ return transport.request({
31
+ method: "GET",
32
+ path: `/v1/sessions/${sessionId}/tokenOptions`,
33
+ query: {
34
+ evmAddress: input.evmAddress,
35
+ solanaAddress: input.solanaAddress,
36
+ clientSecret: input.clientSecret,
37
+ },
38
+ });
39
+ },
40
+ },
41
+ },
42
+ internal: {
43
+ sessions: {
44
+ async retrieveWithNav(sessionId) {
45
+ return transport.request({
46
+ method: "GET",
47
+ path: `/v1/sessions/${sessionId}/internal/nav`,
48
+ });
49
+ },
50
+ async recreate(sessionId, clientSecret) {
51
+ return transport.request({
52
+ method: "POST",
53
+ path: `/v1/sessions/${sessionId}/internal/recreate`,
54
+ body: { clientSecret },
55
+ });
56
+ },
57
+ async walletOptions(sessionId, params) {
58
+ return transport.request({
59
+ method: "GET",
60
+ path: `/v1/sessions/${sessionId}/internal/walletOptions`,
61
+ query: {
62
+ clientSecret: params.clientSecret,
63
+ evmAddress: params.evmAddress,
64
+ solanaAddress: params.solanaAddress,
65
+ },
66
+ });
67
+ },
68
+ async logNavEvent(sessionId, input) {
69
+ await transport.request({
70
+ method: "POST",
71
+ path: `/v1/sessions/${sessionId}/internal/nav`,
72
+ body: input,
73
+ });
74
+ },
75
+ },
76
+ },
77
+ };
78
+ }
79
+ //# sourceMappingURL=createDaimoClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDaimoClient.js","sourceRoot":"","sources":["../../src/client/createDaimoClient.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAqDvE,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE;YACR,QAAQ,CAAC,SAAS;gBAChB,OAAO,SAAS,CAAC,OAAO,CAA0B;oBAChD,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,gBAAgB,SAAS,EAAE;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,cAAc,EAAE;gBACd,MAAM,CAAC,SAAS,EAAE,KAAK;oBACrB,OAAO,SAAS,CAAC,OAAO,CAA8B;wBACpD,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,iBAAiB;wBAChD,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;aACF;YAED,KAAK,CAAC,SAAS,EAAE,KAAK;gBACpB,OAAO,SAAS,CAAC,OAAO,CAAuB;oBAC7C,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,gBAAgB,SAAS,QAAQ;oBACvC,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,YAAY,EAAE;gBACZ,IAAI,CAAC,SAAS,EAAE,KAAK;oBACnB,OAAO,SAAS,CAAC,OAAO,CAAuB;wBAC7C,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,KAAK,EAAE;4BACL,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;4BAClC,YAAY,EAAE,KAAK,CAAC,YAAY;yBACjC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF;SACF;QAED,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,KAAK,CAAC,eAAe,CAAC,SAAS;oBAC7B,OAAO,SAAS,CAAC,OAAO,CAAiC;wBACvD,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,eAAe;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;oBACpC,OAAO,SAAS,CAAC,OAAO,CAAiC;wBACvD,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,oBAAoB;wBACnD,IAAI,EAAE,EAAE,YAAY,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;oBACnC,OAAO,SAAS,CAAC,OAAO,CAAwB;wBAC9C,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,gBAAgB,SAAS,yBAAyB;wBACxD,KAAK,EAAE;4BACL,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK;oBAChC,MAAM,SAAS,CAAC,OAAO,CAAO;wBAC5B,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,gBAAgB,SAAS,eAAe;wBAC9C,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createDaimoClient } from "./createDaimoClient.js";
2
+ export type { DaimoClient } from "./createDaimoClient.js";
3
+ export type { TransportConfig } from "./transport.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createDaimoClient } from "./createDaimoClient.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type TransportConfig = {
2
+ baseUrl: string;
3
+ fetchImpl?: typeof fetch;
4
+ timeoutMs?: number;
5
+ };
6
+ export type TransportRequest = {
7
+ method: "GET" | "POST" | "PUT";
8
+ path: string;
9
+ query?: Record<string, string | number | boolean | undefined>;
10
+ body?: unknown;
11
+ };
12
+ export declare function createTransport(config: TransportConfig): {
13
+ request<T>(options: TransportRequest): Promise<T>;
14
+ };
15
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AA6BF,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe;YAKrC,CAAC,WAAW,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;EA4E1D"}
@@ -0,0 +1,95 @@
1
+ import { DaimoRequestError, getApiErrorEnvelope } from "../common/errors.js";
2
+ function normalizeBaseUrl(baseUrl) {
3
+ return baseUrl.replace(/\/$/, "");
4
+ }
5
+ function buildUrl(baseUrl, path, query) {
6
+ const normalizedPath = path.startsWith("/") ? path : `/${path}`;
7
+ if (!query)
8
+ return `${baseUrl}${normalizedPath}`;
9
+ const params = new URLSearchParams();
10
+ for (const [key, value] of Object.entries(query)) {
11
+ if (value == null)
12
+ continue;
13
+ params.set(key, String(value));
14
+ }
15
+ const queryString = params.toString();
16
+ if (!queryString)
17
+ return `${baseUrl}${normalizedPath}`;
18
+ return `${baseUrl}${normalizedPath}?${queryString}`;
19
+ }
20
+ function getRequestId(headers) {
21
+ return headers.get("request-id") ?? headers.get("Request-Id") ?? undefined;
22
+ }
23
+ export function createTransport(config) {
24
+ const baseUrl = normalizeBaseUrl(config.baseUrl);
25
+ const fetchImpl = config.fetchImpl ?? fetch;
26
+ return {
27
+ async request(options) {
28
+ const url = buildUrl(baseUrl, options.path, options.query);
29
+ const headers = new Headers();
30
+ let body;
31
+ if (options.body !== undefined) {
32
+ headers.set("Content-Type", "application/json");
33
+ body = JSON.stringify(options.body);
34
+ }
35
+ const timeoutMs = config.timeoutMs ?? 30_000;
36
+ const timeoutController = new AbortController();
37
+ const timeoutId = setTimeout(() => {
38
+ timeoutController.abort(new Error("request timed out"));
39
+ }, timeoutMs);
40
+ let response;
41
+ try {
42
+ response = await fetchImpl(url, {
43
+ method: options.method,
44
+ headers,
45
+ body,
46
+ signal: timeoutController.signal,
47
+ });
48
+ }
49
+ catch (error) {
50
+ clearTimeout(timeoutId);
51
+ const message = error instanceof Error && error.message
52
+ ? error.message.toLowerCase()
53
+ : "request failed";
54
+ throw new DaimoRequestError({ status: 0, message, raw: error });
55
+ }
56
+ clearTimeout(timeoutId);
57
+ const requestId = getRequestId(response.headers);
58
+ const rawText = await response.text();
59
+ let parsedBody = undefined;
60
+ if (rawText.length > 0) {
61
+ try {
62
+ parsedBody = JSON.parse(rawText);
63
+ }
64
+ catch {
65
+ parsedBody = rawText;
66
+ }
67
+ }
68
+ if (!response.ok) {
69
+ const envelope = getApiErrorEnvelope(parsedBody);
70
+ if (envelope) {
71
+ throw new DaimoRequestError({
72
+ status: response.status,
73
+ requestId,
74
+ message: envelope.error.message,
75
+ type: envelope.error.type,
76
+ code: envelope.error.code,
77
+ param: envelope.error.param,
78
+ raw: parsedBody,
79
+ });
80
+ }
81
+ throw new DaimoRequestError({
82
+ status: response.status,
83
+ requestId,
84
+ message: `request failed with status ${response.status}`,
85
+ raw: parsedBody,
86
+ });
87
+ }
88
+ if (response.status === 204) {
89
+ return undefined;
90
+ }
91
+ return parsedBody;
92
+ },
93
+ };
94
+ }
95
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ import { z } from "zod";
2
+ import type { TronAddress, UUID } from "./primitives.js";
3
+ import type { SessionPublicInfo } from "./session.js";
4
+ export declare const zSessionId: z.ZodString;
5
+ export declare const zCreatePaymentMethodRequest: z.ZodObject<{
6
+ clientSecret: z.ZodString;
7
+ paymentMethod: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
8
+ type: z.ZodLiteral<"evm">;
9
+ }, "strip", z.ZodTypeAny, {
10
+ type: "evm";
11
+ }, {
12
+ type: "evm";
13
+ }>, z.ZodObject<{
14
+ type: z.ZodLiteral<"tron">;
15
+ amountUsd: z.ZodNumber;
16
+ }, "strip", z.ZodTypeAny, {
17
+ type: "tron";
18
+ amountUsd: number;
19
+ }, {
20
+ type: "tron";
21
+ amountUsd: number;
22
+ }>, z.ZodObject<{
23
+ type: z.ZodLiteral<"solana">;
24
+ walletAddress: z.ZodString;
25
+ inputTokenMint: z.ZodString;
26
+ amountUsd: z.ZodNumber;
27
+ }, "strip", z.ZodTypeAny, {
28
+ type: "solana";
29
+ amountUsd: number;
30
+ walletAddress: string;
31
+ inputTokenMint: string;
32
+ }, {
33
+ type: "solana";
34
+ amountUsd: number;
35
+ walletAddress: string;
36
+ inputTokenMint: string;
37
+ }>, z.ZodObject<{
38
+ type: z.ZodLiteral<"exchange">;
39
+ exchangeId: z.ZodEnum<["Coinbase", "Binance", "Lemon"]>;
40
+ amountUsd: z.ZodNumber;
41
+ platform: z.ZodOptional<z.ZodEnum<["ios", "android", "other"]>>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ type: "exchange";
44
+ amountUsd: number;
45
+ exchangeId: "Coinbase" | "Binance" | "Lemon";
46
+ platform?: "ios" | "android" | "other" | undefined;
47
+ }, {
48
+ type: "exchange";
49
+ amountUsd: number;
50
+ exchangeId: "Coinbase" | "Binance" | "Lemon";
51
+ platform?: "ios" | "android" | "other" | undefined;
52
+ }>]>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ clientSecret: string;
55
+ paymentMethod: {
56
+ type: "evm";
57
+ } | {
58
+ type: "tron";
59
+ amountUsd: number;
60
+ } | {
61
+ type: "solana";
62
+ amountUsd: number;
63
+ walletAddress: string;
64
+ inputTokenMint: string;
65
+ } | {
66
+ type: "exchange";
67
+ amountUsd: number;
68
+ exchangeId: "Coinbase" | "Binance" | "Lemon";
69
+ platform?: "ios" | "android" | "other" | undefined;
70
+ };
71
+ }, {
72
+ clientSecret: string;
73
+ paymentMethod: {
74
+ type: "evm";
75
+ } | {
76
+ type: "tron";
77
+ amountUsd: number;
78
+ } | {
79
+ type: "solana";
80
+ amountUsd: number;
81
+ walletAddress: string;
82
+ inputTokenMint: string;
83
+ } | {
84
+ type: "exchange";
85
+ amountUsd: number;
86
+ exchangeId: "Coinbase" | "Binance" | "Lemon";
87
+ platform?: "ios" | "android" | "other" | undefined;
88
+ };
89
+ }>;
90
+ export declare const zCheckSessionRequest: z.ZodObject<{
91
+ clientSecret: z.ZodString;
92
+ txHash: z.ZodOptional<z.ZodString>;
93
+ }, "strip", z.ZodTypeAny, {
94
+ clientSecret: string;
95
+ txHash?: string | undefined;
96
+ }, {
97
+ clientSecret: string;
98
+ txHash?: string | undefined;
99
+ }>;
100
+ export declare const zTokenOptionsRequest: z.ZodEffects<z.ZodObject<{
101
+ evmAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
102
+ solanaAddress: z.ZodOptional<z.ZodString>;
103
+ clientSecret: z.ZodString;
104
+ }, "strip", z.ZodTypeAny, {
105
+ clientSecret: string;
106
+ evmAddress?: `0x${string}` | undefined;
107
+ solanaAddress?: string | undefined;
108
+ }, {
109
+ clientSecret: string;
110
+ evmAddress?: string | undefined;
111
+ solanaAddress?: string | undefined;
112
+ }>, {
113
+ clientSecret: string;
114
+ evmAddress?: `0x${string}` | undefined;
115
+ solanaAddress?: string | undefined;
116
+ }, {
117
+ clientSecret: string;
118
+ evmAddress?: string | undefined;
119
+ solanaAddress?: string | undefined;
120
+ }>;
121
+ export declare const zLogNavEventRequest: z.ZodObject<{
122
+ clientSecret: z.ZodString;
123
+ event: z.ZodString;
124
+ }, "strip", z.ZodTypeAny, {
125
+ clientSecret: string;
126
+ event: string;
127
+ }, {
128
+ clientSecret: string;
129
+ event: string;
130
+ }>;
131
+ export type CreatePaymentMethodRequest = z.output<typeof zCreatePaymentMethodRequest>;
132
+ export type CheckSessionRequest = z.output<typeof zCheckSessionRequest>;
133
+ export type TokenOptionsRequest = z.output<typeof zTokenOptionsRequest>;
134
+ export type LogNavEventRequest = z.output<typeof zLogNavEventRequest>;
135
+ export type RetrieveSessionResponse = {
136
+ /** Current session state. */
137
+ session: SessionPublicInfo;
138
+ };
139
+ export type CreatePaymentMethodResponse = {
140
+ /** Updated session state after payment method creation. */
141
+ session: SessionPublicInfo;
142
+ /** Tron-specific payment details, present when payment method is Tron. */
143
+ tron?: {
144
+ /** Tron address to send funds to. */
145
+ receiverAddress: TronAddress;
146
+ /** When this payment method expires (unix seconds). */
147
+ expiresAt: number;
148
+ };
149
+ /** Solana-specific payment details, present when payment method is Solana. */
150
+ solana?: {
151
+ /** Base64-encoded Solana transaction for the user to sign. */
152
+ serializedTx: string;
153
+ };
154
+ /** Exchange-specific payment details, present when payment method is Exchange. */
155
+ exchange?: {
156
+ /** Deeplink URL for the exchange. */
157
+ url: string;
158
+ /** Message to display while waiting. */
159
+ waitingMessage: string;
160
+ };
161
+ };
162
+ export type CheckSessionResponse = {
163
+ /** Current session state. */
164
+ session: SessionPublicInfo;
165
+ };
166
+ export type TokenOption = {
167
+ /** Chain ID, e.g. 8453. */
168
+ chainId: number;
169
+ /** Token contract address, checksum encoded. */
170
+ tokenAddress: string;
171
+ /** Token symbol, e.g. "USDC". */
172
+ tokenSymbol: string;
173
+ /** Amount required in token units, e.g. "1.23" for $1.23 USDC. */
174
+ requiredUnits: string;
175
+ /** User's balance in token units, e.g. "5.00" for $5.00 USDC. */
176
+ balanceUnits?: string;
177
+ };
178
+ export type TokenOptionsResponse = {
179
+ /** Session this token options response belongs to. */
180
+ sessionId: UUID;
181
+ /** Available token options the user can pay with. */
182
+ options: TokenOption[];
183
+ };
184
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/common/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,eAAO,MAAM,UAAU,aAAqC,CAAC;AAE7D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBtC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AAEL,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAC/C,OAAO,2BAA2B,CACnC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,MAAM,MAAM,uBAAuB,GAAG;IACpC,6BAA6B;IAC7B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,2DAA2D;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,0EAA0E;IAC1E,IAAI,CAAC,EAAE;QACL,qCAAqC;QACrC,eAAe,EAAE,WAAW,CAAC;QAC7B,uDAAuD;QACvD,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,8EAA8E;IAC9E,MAAM,CAAC,EAAE;QACP,8DAA8D;QAC9D,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kFAAkF;IAClF,QAAQ,CAAC,EAAE;QACT,qCAAqC;QACrC,GAAG,EAAE,MAAM,CAAC;QACZ,wCAAwC;QACxC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,6BAA6B;IAC7B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,sDAAsD;IACtD,SAAS,EAAE,IAAI,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ import { zAddress, zSolanaAddress } from "./primitives.js";
3
+ export const zSessionId = z.string().regex(/^[0-9a-f]{32}$/);
4
+ export const zCreatePaymentMethodRequest = z.object({
5
+ clientSecret: z.string(),
6
+ paymentMethod: z.discriminatedUnion("type", [
7
+ z.object({ type: z.literal("evm") }),
8
+ z.object({ type: z.literal("tron"), amountUsd: z.number().positive() }),
9
+ z.object({
10
+ type: z.literal("solana"),
11
+ walletAddress: z.string().min(1),
12
+ inputTokenMint: z.string().min(1),
13
+ amountUsd: z.number().positive(),
14
+ }),
15
+ z.object({
16
+ type: z.literal("exchange"),
17
+ exchangeId: z.enum(["Coinbase", "Binance", "Lemon"]),
18
+ amountUsd: z.number().positive(),
19
+ platform: z.enum(["ios", "android", "other"]).optional(),
20
+ }),
21
+ ]),
22
+ });
23
+ export const zCheckSessionRequest = z.object({
24
+ clientSecret: z.string(),
25
+ txHash: z.string().optional(),
26
+ });
27
+ export const zTokenOptionsRequest = z
28
+ .object({
29
+ evmAddress: zAddress.optional(),
30
+ solanaAddress: zSolanaAddress.optional(),
31
+ clientSecret: z.string(),
32
+ })
33
+ .refine((data) => data.evmAddress || data.solanaAddress, {
34
+ message: "at least one of evmAddress or solanaAddress is required",
35
+ });
36
+ export const zLogNavEventRequest = z.object({
37
+ clientSecret: z.string(),
38
+ event: z.string().min(1),
39
+ });
40
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/common/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC1C,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvE,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;SACzD,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,cAAc,CAAC,QAAQ,EAAE;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE;IACvD,OAAO,EAAE,yDAAyD;CACnE,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ export type Chain = {
2
+ type: "evm" | "solana" | "tron";
3
+ chainId: number;
4
+ name: string;
5
+ cctpDomain: number | null;
6
+ lzEid: number | null;
7
+ };
8
+ export declare const arbitrum: Chain;
9
+ export declare const base: Chain;
10
+ export declare const bsc: Chain;
11
+ export declare const celo: Chain;
12
+ export declare const ethereum: Chain;
13
+ export declare const gnosis: Chain;
14
+ export declare const hyperEvm: Chain;
15
+ export declare const linea: Chain;
16
+ export declare const monad: Chain;
17
+ export declare const optimism: Chain;
18
+ export declare const polygon: Chain;
19
+ export declare const scroll: Chain;
20
+ export declare const worldchain: Chain;
21
+ export declare const tron: Chain;
22
+ export declare const solana: Chain;
23
+ export declare const supportedChains: Chain[];
24
+ /** Given a chainId, return the chain. */
25
+ export declare function getChainById(chainId: number): Chain;
26
+ /** Returns the chain name for the given chainId. */
27
+ export declare function getChainName(chainId: number): string;
28
+ /** Returns the CCTP domain for the given chainId. */
29
+ export declare function getCCTPDomain(chainId: number): number | null;
30
+ /** Returns the LayerZero endpoint ID for the given chainId. */
31
+ export declare function getLZEid(chainId: number): number | null;
32
+ export declare function getChainExplorerByChainId(chainId: number): string | undefined;
33
+ export declare function getChainExplorerAddressUrl(chainId: number, address: string): string | undefined;
34
+ export declare function getChainExplorerTxUrl(chainId: number, txHash: string): string | undefined;
35
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/common/chain.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,KAMjB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAMF,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,EAgBlC,CAAC;AAEF,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAInD;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE5D;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmC7E;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAOpB"}