@otim/utils 0.0.2-development.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 (421) hide show
  1. package/LICENSE +201 -0
  2. package/dist/api/api.d.mts +18 -0
  3. package/dist/api/api.d.ts +18 -0
  4. package/dist/api/api.d.ts.map +1 -0
  5. package/dist/api/core/error.d.mts +74 -0
  6. package/dist/api/core/error.d.ts +74 -0
  7. package/dist/api/core/error.d.ts.map +1 -0
  8. package/dist/api/core/index.d.mts +4 -0
  9. package/dist/api/core/index.d.ts +4 -0
  10. package/dist/api/core/index.d.ts.map +1 -0
  11. package/dist/api/core/instance.d.mts +13 -0
  12. package/dist/api/core/instance.d.ts +13 -0
  13. package/dist/api/core/instance.d.ts.map +1 -0
  14. package/dist/api/core/service.d.mts +51 -0
  15. package/dist/api/core/service.d.ts +51 -0
  16. package/dist/api/core/service.d.ts.map +1 -0
  17. package/dist/api/index.d.mts +7 -0
  18. package/dist/api/index.d.ts +7 -0
  19. package/dist/api/index.d.ts.map +1 -0
  20. package/dist/api/index.js +2061 -0
  21. package/dist/api/index.js.map +7 -0
  22. package/dist/api/index.mjs +2030 -0
  23. package/dist/api/index.mjs.map +7 -0
  24. package/dist/api/schemas/account.d.mts +44 -0
  25. package/dist/api/schemas/account.d.ts +44 -0
  26. package/dist/api/schemas/account.d.ts.map +1 -0
  27. package/dist/api/schemas/activity.d.mts +277 -0
  28. package/dist/api/schemas/activity.d.ts +277 -0
  29. package/dist/api/schemas/activity.d.ts.map +1 -0
  30. package/dist/api/schemas/auth.d.mts +127 -0
  31. package/dist/api/schemas/auth.d.ts +127 -0
  32. package/dist/api/schemas/auth.d.ts.map +1 -0
  33. package/dist/api/schemas/chain.d.mts +15 -0
  34. package/dist/api/schemas/chain.d.ts +15 -0
  35. package/dist/api/schemas/chain.d.ts.map +1 -0
  36. package/dist/api/schemas/config.d.mts +33 -0
  37. package/dist/api/schemas/config.d.ts +33 -0
  38. package/dist/api/schemas/config.d.ts.map +1 -0
  39. package/dist/api/schemas/contacts.d.mts +27 -0
  40. package/dist/api/schemas/contacts.d.ts +27 -0
  41. package/dist/api/schemas/contacts.d.ts.map +1 -0
  42. package/dist/api/schemas/index.d.mts +12 -0
  43. package/dist/api/schemas/index.d.ts +12 -0
  44. package/dist/api/schemas/index.d.ts.map +1 -0
  45. package/dist/api/schemas/instruction.d.mts +446 -0
  46. package/dist/api/schemas/instruction.d.ts +446 -0
  47. package/dist/api/schemas/instruction.d.ts.map +1 -0
  48. package/dist/api/schemas/integration.d.mts +166 -0
  49. package/dist/api/schemas/integration.d.ts +166 -0
  50. package/dist/api/schemas/integration.d.ts.map +1 -0
  51. package/dist/api/schemas/operating-account.d.mts +11 -0
  52. package/dist/api/schemas/operating-account.d.ts +11 -0
  53. package/dist/api/schemas/operating-account.d.ts.map +1 -0
  54. package/dist/api/schemas/payments.d.mts +196 -0
  55. package/dist/api/schemas/payments.d.ts +196 -0
  56. package/dist/api/schemas/payments.d.ts.map +1 -0
  57. package/dist/api/schemas/transaction.d.mts +37 -0
  58. package/dist/api/schemas/transaction.d.ts +37 -0
  59. package/dist/api/schemas/transaction.d.ts.map +1 -0
  60. package/dist/api/services/account.d.mts +8 -0
  61. package/dist/api/services/account.d.ts +8 -0
  62. package/dist/api/services/account.d.ts.map +1 -0
  63. package/dist/api/services/activity.d.mts +7 -0
  64. package/dist/api/services/activity.d.ts +7 -0
  65. package/dist/api/services/activity.d.ts.map +1 -0
  66. package/dist/api/services/auth.d.mts +12 -0
  67. package/dist/api/services/auth.d.ts +12 -0
  68. package/dist/api/services/auth.d.ts.map +1 -0
  69. package/dist/api/services/base.d.mts +10 -0
  70. package/dist/api/services/base.d.ts +10 -0
  71. package/dist/api/services/base.d.ts.map +1 -0
  72. package/dist/api/services/config.d.mts +10 -0
  73. package/dist/api/services/config.d.ts +10 -0
  74. package/dist/api/services/config.d.ts.map +1 -0
  75. package/dist/api/services/contacts.d.mts +8 -0
  76. package/dist/api/services/contacts.d.ts +8 -0
  77. package/dist/api/services/contacts.d.ts.map +1 -0
  78. package/dist/api/services/developer.d.mts +6 -0
  79. package/dist/api/services/developer.d.ts +6 -0
  80. package/dist/api/services/developer.d.ts.map +1 -0
  81. package/dist/api/services/index.d.mts +13 -0
  82. package/dist/api/services/index.d.ts +13 -0
  83. package/dist/api/services/index.d.ts.map +1 -0
  84. package/dist/api/services/instruction.d.mts +12 -0
  85. package/dist/api/services/instruction.d.ts +12 -0
  86. package/dist/api/services/instruction.d.ts.map +1 -0
  87. package/dist/api/services/integration.d.mts +8 -0
  88. package/dist/api/services/integration.d.ts +8 -0
  89. package/dist/api/services/integration.d.ts.map +1 -0
  90. package/dist/api/services/operating-account.d.mts +8 -0
  91. package/dist/api/services/operating-account.d.ts +8 -0
  92. package/dist/api/services/operating-account.d.ts.map +1 -0
  93. package/dist/api/services/payments.d.mts +13 -0
  94. package/dist/api/services/payments.d.ts +13 -0
  95. package/dist/api/services/payments.d.ts.map +1 -0
  96. package/dist/api/services/transaction.d.mts +8 -0
  97. package/dist/api/services/transaction.d.ts +8 -0
  98. package/dist/api/services/transaction.d.ts.map +1 -0
  99. package/dist/api/services/uniswap-token-list-service.d.mts +66 -0
  100. package/dist/api/services/uniswap-token-list-service.d.ts +66 -0
  101. package/dist/api/services/uniswap-token-list-service.d.ts.map +1 -0
  102. package/dist/api/utils/index.d.mts +2 -0
  103. package/dist/api/utils/index.d.ts +2 -0
  104. package/dist/api/utils/index.d.ts.map +1 -0
  105. package/dist/api/utils/pagination.d.mts +32 -0
  106. package/dist/api/utils/pagination.d.ts +32 -0
  107. package/dist/api/utils/pagination.d.ts.map +1 -0
  108. package/dist/chains/config/all-chains.d.mts +4243 -0
  109. package/dist/chains/config/all-chains.d.ts +4243 -0
  110. package/dist/chains/config/all-chains.d.ts.map +1 -0
  111. package/dist/chains/config/custom-chains.d.mts +49 -0
  112. package/dist/chains/config/custom-chains.d.ts +49 -0
  113. package/dist/chains/config/custom-chains.d.ts.map +1 -0
  114. package/dist/chains/config/mainnet-chains.d.mts +1063 -0
  115. package/dist/chains/config/mainnet-chains.d.ts +1063 -0
  116. package/dist/chains/config/mainnet-chains.d.ts.map +1 -0
  117. package/dist/chains/config/supported-chains.d.mts +2172 -0
  118. package/dist/chains/config/supported-chains.d.ts +2172 -0
  119. package/dist/chains/config/supported-chains.d.ts.map +1 -0
  120. package/dist/chains/config/testnet-chains.d.mts +1110 -0
  121. package/dist/chains/config/testnet-chains.d.ts +1110 -0
  122. package/dist/chains/config/testnet-chains.d.ts.map +1 -0
  123. package/dist/chains/index.d.mts +16 -0
  124. package/dist/chains/index.d.ts +16 -0
  125. package/dist/chains/index.d.ts.map +1 -0
  126. package/dist/chains/index.js +490 -0
  127. package/dist/chains/index.js.map +7 -0
  128. package/dist/chains/index.mjs +505 -0
  129. package/dist/chains/index.mjs.map +7 -0
  130. package/dist/chains/lambda/chain-mapping.d.mts +55 -0
  131. package/dist/chains/lambda/chain-mapping.d.ts +55 -0
  132. package/dist/chains/lambda/chain-mapping.d.ts.map +1 -0
  133. package/dist/chains/lambda/index.d.mts +2 -0
  134. package/dist/chains/lambda/index.d.ts +2 -0
  135. package/dist/chains/lambda/index.d.ts.map +1 -0
  136. package/dist/chains/tokens/chain-tokens.d.mts +6 -0
  137. package/dist/chains/tokens/chain-tokens.d.ts +6 -0
  138. package/dist/chains/tokens/chain-tokens.d.ts.map +1 -0
  139. package/dist/chains/tokens/token-addresses.d.mts +8 -0
  140. package/dist/chains/tokens/token-addresses.d.ts +8 -0
  141. package/dist/chains/tokens/token-addresses.d.ts.map +1 -0
  142. package/dist/chains/tokens/token-metadata.d.mts +5 -0
  143. package/dist/chains/tokens/token-metadata.d.ts +5 -0
  144. package/dist/chains/tokens/token-metadata.d.ts.map +1 -0
  145. package/dist/chains/types.d.mts +23 -0
  146. package/dist/chains/types.d.ts +23 -0
  147. package/dist/chains/types.d.ts.map +1 -0
  148. package/dist/chains/utils/filter-tokens.d.mts +3 -0
  149. package/dist/chains/utils/filter-tokens.d.ts +3 -0
  150. package/dist/chains/utils/filter-tokens.d.ts.map +1 -0
  151. package/dist/chains/utils/stablecoin.d.mts +7 -0
  152. package/dist/chains/utils/stablecoin.d.ts +7 -0
  153. package/dist/chains/utils/stablecoin.d.ts.map +1 -0
  154. package/dist/chains/utils/token-maps.d.mts +10 -0
  155. package/dist/chains/utils/token-maps.d.ts +10 -0
  156. package/dist/chains/utils/token-maps.d.ts.map +1 -0
  157. package/dist/constants.d.mts +31 -0
  158. package/dist/constants.d.ts +31 -0
  159. package/dist/constants.d.ts.map +1 -0
  160. package/dist/constants.js +47 -0
  161. package/dist/constants.js.map +7 -0
  162. package/dist/constants.mjs +26 -0
  163. package/dist/constants.mjs.map +7 -0
  164. package/dist/env.d.mts +17 -0
  165. package/dist/env.d.ts +17 -0
  166. package/dist/env.d.ts.map +1 -0
  167. package/dist/formatters/index.d.mts +2 -0
  168. package/dist/formatters/index.d.ts +2 -0
  169. package/dist/formatters/index.d.ts.map +1 -0
  170. package/dist/formatters/index.js +19 -0
  171. package/dist/formatters/index.js.map +7 -0
  172. package/dist/formatters/index.mjs +1 -0
  173. package/dist/formatters/index.mjs.map +7 -0
  174. package/dist/helpers/address.d.mts +7 -0
  175. package/dist/helpers/address.d.ts +7 -0
  176. package/dist/helpers/address.d.ts.map +1 -0
  177. package/dist/helpers/blockchain.d.mts +41 -0
  178. package/dist/helpers/blockchain.d.ts +41 -0
  179. package/dist/helpers/blockchain.d.ts.map +1 -0
  180. package/dist/helpers/date.d.mts +70 -0
  181. package/dist/helpers/date.d.ts +70 -0
  182. package/dist/helpers/date.d.ts.map +1 -0
  183. package/dist/helpers/datetime.d.mts +57 -0
  184. package/dist/helpers/datetime.d.ts +57 -0
  185. package/dist/helpers/datetime.d.ts.map +1 -0
  186. package/dist/helpers/domain.d.mts +2 -0
  187. package/dist/helpers/domain.d.ts +2 -0
  188. package/dist/helpers/domain.d.ts.map +1 -0
  189. package/dist/helpers/index.d.mts +19 -0
  190. package/dist/helpers/index.d.ts +19 -0
  191. package/dist/helpers/index.d.ts.map +1 -0
  192. package/dist/helpers/index.js +1322 -0
  193. package/dist/helpers/index.js.map +7 -0
  194. package/dist/helpers/index.mjs +1294 -0
  195. package/dist/helpers/index.mjs.map +7 -0
  196. package/dist/helpers/intl.d.mts +20 -0
  197. package/dist/helpers/intl.d.ts +20 -0
  198. package/dist/helpers/intl.d.ts.map +1 -0
  199. package/dist/helpers/logger.d.mts +26 -0
  200. package/dist/helpers/logger.d.ts +26 -0
  201. package/dist/helpers/logger.d.ts.map +1 -0
  202. package/dist/helpers/mask-options.d.mts +10 -0
  203. package/dist/helpers/mask-options.d.ts +10 -0
  204. package/dist/helpers/mask-options.d.ts.map +1 -0
  205. package/dist/helpers/num-formatter.d.mts +3 -0
  206. package/dist/helpers/num-formatter.d.ts +3 -0
  207. package/dist/helpers/num-formatter.d.ts.map +1 -0
  208. package/dist/helpers/polling.d.mts +39 -0
  209. package/dist/helpers/polling.d.ts +39 -0
  210. package/dist/helpers/polling.d.ts.map +1 -0
  211. package/dist/helpers/random.d.mts +10 -0
  212. package/dist/helpers/random.d.ts +10 -0
  213. package/dist/helpers/random.d.ts.map +1 -0
  214. package/dist/helpers/sdk-loader.d.mts +25 -0
  215. package/dist/helpers/sdk-loader.d.ts +25 -0
  216. package/dist/helpers/sdk-loader.d.ts.map +1 -0
  217. package/dist/helpers/signatures.d.mts +17 -0
  218. package/dist/helpers/signatures.d.ts +17 -0
  219. package/dist/helpers/signatures.d.ts.map +1 -0
  220. package/dist/helpers/string.d.mts +17 -0
  221. package/dist/helpers/string.d.ts +17 -0
  222. package/dist/helpers/string.d.ts.map +1 -0
  223. package/dist/helpers/types.d.mts +39 -0
  224. package/dist/helpers/types.d.ts +39 -0
  225. package/dist/helpers/types.d.ts.map +1 -0
  226. package/dist/helpers/url.d.mts +11 -0
  227. package/dist/helpers/url.d.ts +11 -0
  228. package/dist/helpers/url.d.ts.map +1 -0
  229. package/dist/helpers/window.d.mts +37 -0
  230. package/dist/helpers/window.d.ts +37 -0
  231. package/dist/helpers/window.d.ts.map +1 -0
  232. package/dist/helpers/zod.d.mts +30 -0
  233. package/dist/helpers/zod.d.ts +30 -0
  234. package/dist/helpers/zod.d.ts.map +1 -0
  235. package/dist/index.d.mts +1 -0
  236. package/dist/index.d.ts +1 -0
  237. package/dist/index.d.ts.map +1 -0
  238. package/dist/index.js +2 -0
  239. package/dist/index.js.map +7 -0
  240. package/dist/index.mjs +1 -0
  241. package/dist/index.mjs.map +7 -0
  242. package/dist/instructions/actions/index.d.mts +5 -0
  243. package/dist/instructions/actions/index.d.ts +5 -0
  244. package/dist/instructions/actions/index.d.ts.map +1 -0
  245. package/dist/instructions/actions/refuel/index.d.mts +15 -0
  246. package/dist/instructions/actions/refuel/index.d.ts +15 -0
  247. package/dist/instructions/actions/refuel/index.d.ts.map +1 -0
  248. package/dist/instructions/actions/swap/index.d.mts +19 -0
  249. package/dist/instructions/actions/swap/index.d.ts +19 -0
  250. package/dist/instructions/actions/swap/index.d.ts.map +1 -0
  251. package/dist/instructions/actions/sweep/index.d.mts +16 -0
  252. package/dist/instructions/actions/sweep/index.d.ts +16 -0
  253. package/dist/instructions/actions/sweep/index.d.ts.map +1 -0
  254. package/dist/instructions/actions/transfer/index.d.mts +13 -0
  255. package/dist/instructions/actions/transfer/index.d.ts +13 -0
  256. package/dist/instructions/actions/transfer/index.d.ts.map +1 -0
  257. package/dist/instructions/activate.d.mts +84 -0
  258. package/dist/instructions/activate.d.ts +84 -0
  259. package/dist/instructions/activate.d.ts.map +1 -0
  260. package/dist/instructions/build.d.mts +146 -0
  261. package/dist/instructions/build.d.ts +146 -0
  262. package/dist/instructions/build.d.ts.map +1 -0
  263. package/dist/instructions/constants.d.mts +9 -0
  264. package/dist/instructions/constants.d.ts +9 -0
  265. package/dist/instructions/constants.d.ts.map +1 -0
  266. package/dist/instructions/contracts/artifacts/abi/build-instruction-action-arguments-abi.d.mts +609 -0
  267. package/dist/instructions/contracts/artifacts/abi/build-instruction-action-arguments-abi.d.ts +609 -0
  268. package/dist/instructions/contracts/artifacts/abi/build-instruction-action-arguments-abi.d.ts.map +1 -0
  269. package/dist/instructions/index.d.mts +6 -0
  270. package/dist/instructions/index.d.ts +6 -0
  271. package/dist/instructions/index.d.ts.map +1 -0
  272. package/dist/instructions/index.js +1152 -0
  273. package/dist/instructions/index.js.map +7 -0
  274. package/dist/instructions/index.mjs +1119 -0
  275. package/dist/instructions/index.mjs.map +7 -0
  276. package/dist/instructions/types.d.mts +289 -0
  277. package/dist/instructions/types.d.ts +289 -0
  278. package/dist/instructions/types.d.ts.map +1 -0
  279. package/dist/payments/action-names.d.mts +16 -0
  280. package/dist/payments/action-names.d.ts +16 -0
  281. package/dist/payments/action-names.d.ts.map +1 -0
  282. package/dist/payments/actions/index.d.mts +5 -0
  283. package/dist/payments/actions/index.d.ts +5 -0
  284. package/dist/payments/actions/index.d.ts.map +1 -0
  285. package/dist/payments/actions/sweep-cctp.d.mts +15 -0
  286. package/dist/payments/actions/sweep-cctp.d.ts +15 -0
  287. package/dist/payments/actions/sweep-cctp.d.ts.map +1 -0
  288. package/dist/payments/actions/sweep-erc20.d.mts +12 -0
  289. package/dist/payments/actions/sweep-erc20.d.ts +12 -0
  290. package/dist/payments/actions/sweep-erc20.d.ts.map +1 -0
  291. package/dist/payments/actions/sweep-uniswap-v3.d.mts +17 -0
  292. package/dist/payments/actions/sweep-uniswap-v3.d.ts +17 -0
  293. package/dist/payments/actions/sweep-uniswap-v3.d.ts.map +1 -0
  294. package/dist/payments/actions/sweep.d.mts +12 -0
  295. package/dist/payments/actions/sweep.d.ts +12 -0
  296. package/dist/payments/actions/sweep.d.ts.map +1 -0
  297. package/dist/payments/build.d.mts +27 -0
  298. package/dist/payments/build.d.ts +27 -0
  299. package/dist/payments/build.d.ts.map +1 -0
  300. package/dist/payments/chain-token-config-builder.d.mts +10 -0
  301. package/dist/payments/chain-token-config-builder.d.ts +10 -0
  302. package/dist/payments/chain-token-config-builder.d.ts.map +1 -0
  303. package/dist/payments/comprehensive-payment-request.d.mts +25 -0
  304. package/dist/payments/comprehensive-payment-request.d.ts +25 -0
  305. package/dist/payments/comprehensive-payment-request.d.ts.map +1 -0
  306. package/dist/payments/config/cctp.d.mts +14 -0
  307. package/dist/payments/config/cctp.d.ts +14 -0
  308. package/dist/payments/config/cctp.d.ts.map +1 -0
  309. package/dist/payments/config/index.d.mts +3 -0
  310. package/dist/payments/config/index.d.ts +3 -0
  311. package/dist/payments/config/index.d.ts.map +1 -0
  312. package/dist/payments/config/tokens.d.mts +14 -0
  313. package/dist/payments/config/tokens.d.ts +14 -0
  314. package/dist/payments/config/tokens.d.ts.map +1 -0
  315. package/dist/payments/index.d.mts +16 -0
  316. package/dist/payments/index.d.ts +16 -0
  317. package/dist/payments/index.d.ts.map +1 -0
  318. package/dist/payments/index.js +1303 -0
  319. package/dist/payments/index.js.map +7 -0
  320. package/dist/payments/index.mjs +1281 -0
  321. package/dist/payments/index.mjs.map +7 -0
  322. package/dist/payments/instruction-registry.d.mts +19 -0
  323. package/dist/payments/instruction-registry.d.ts +19 -0
  324. package/dist/payments/instruction-registry.d.ts.map +1 -0
  325. package/dist/payments/payment-metadata-builder.d.mts +56 -0
  326. package/dist/payments/payment-metadata-builder.d.ts +56 -0
  327. package/dist/payments/payment-metadata-builder.d.ts.map +1 -0
  328. package/dist/payments/payment-metadata.d.mts +15 -0
  329. package/dist/payments/payment-metadata.d.ts +15 -0
  330. package/dist/payments/payment-metadata.d.ts.map +1 -0
  331. package/dist/payments/payment-request-token-resolver.d.mts +25 -0
  332. package/dist/payments/payment-request-token-resolver.d.ts +25 -0
  333. package/dist/payments/payment-request-token-resolver.d.ts.map +1 -0
  334. package/dist/payments/types.d.mts +40 -0
  335. package/dist/payments/types.d.ts +40 -0
  336. package/dist/payments/types.d.ts.map +1 -0
  337. package/dist/payments/validation.d.mts +19 -0
  338. package/dist/payments/validation.d.ts +19 -0
  339. package/dist/payments/validation.d.ts.map +1 -0
  340. package/dist/schemas/account.d.mts +9 -0
  341. package/dist/schemas/account.d.ts +9 -0
  342. package/dist/schemas/account.d.ts.map +1 -0
  343. package/dist/schemas/brand.d.mts +7 -0
  344. package/dist/schemas/brand.d.ts +7 -0
  345. package/dist/schemas/brand.d.ts.map +1 -0
  346. package/dist/schemas/contact.d.mts +18 -0
  347. package/dist/schemas/contact.d.ts +18 -0
  348. package/dist/schemas/contact.d.ts.map +1 -0
  349. package/dist/schemas/index.d.mts +10 -0
  350. package/dist/schemas/index.d.ts +10 -0
  351. package/dist/schemas/index.d.ts.map +1 -0
  352. package/dist/schemas/index.js +433 -0
  353. package/dist/schemas/index.js.map +7 -0
  354. package/dist/schemas/index.mjs +410 -0
  355. package/dist/schemas/index.mjs.map +7 -0
  356. package/dist/schemas/instruction.d.mts +248 -0
  357. package/dist/schemas/instruction.d.ts +248 -0
  358. package/dist/schemas/instruction.d.ts.map +1 -0
  359. package/dist/schemas/misc.d.mts +36 -0
  360. package/dist/schemas/misc.d.ts +36 -0
  361. package/dist/schemas/misc.d.ts.map +1 -0
  362. package/dist/schemas/payment.d.mts +64 -0
  363. package/dist/schemas/payment.d.ts +64 -0
  364. package/dist/schemas/payment.d.ts.map +1 -0
  365. package/dist/schemas/token.d.mts +17 -0
  366. package/dist/schemas/token.d.ts +17 -0
  367. package/dist/schemas/token.d.ts.map +1 -0
  368. package/dist/schemas/transaction.d.mts +65 -0
  369. package/dist/schemas/transaction.d.ts +65 -0
  370. package/dist/schemas/transaction.d.ts.map +1 -0
  371. package/dist/schemas/user.d.mts +24 -0
  372. package/dist/schemas/user.d.ts +24 -0
  373. package/dist/schemas/user.d.ts.map +1 -0
  374. package/dist/server/client.d.mts +3 -0
  375. package/dist/server/client.d.ts +3 -0
  376. package/dist/server/client.d.ts.map +1 -0
  377. package/dist/server/index.d.mts +3 -0
  378. package/dist/server/index.d.ts +3 -0
  379. package/dist/server/index.d.ts.map +1 -0
  380. package/dist/server/index.js +420 -0
  381. package/dist/server/index.js.map +7 -0
  382. package/dist/server/index.mjs +389 -0
  383. package/dist/server/index.mjs.map +7 -0
  384. package/dist/server/routes/account.d.mts +4 -0
  385. package/dist/server/routes/account.d.ts +4 -0
  386. package/dist/server/routes/account.d.ts.map +1 -0
  387. package/dist/server/routes/auth.d.mts +28 -0
  388. package/dist/server/routes/auth.d.ts +28 -0
  389. package/dist/server/routes/auth.d.ts.map +1 -0
  390. package/dist/server/routes/bridge.d.mts +192 -0
  391. package/dist/server/routes/bridge.d.ts +192 -0
  392. package/dist/server/routes/bridge.d.ts.map +1 -0
  393. package/dist/server/routes/config.d.mts +3 -0
  394. package/dist/server/routes/config.d.ts +3 -0
  395. package/dist/server/routes/config.d.ts.map +1 -0
  396. package/dist/server/routes/index.d.mts +8 -0
  397. package/dist/server/routes/index.d.ts +8 -0
  398. package/dist/server/routes/index.d.ts.map +1 -0
  399. package/dist/server/routes/instruction.d.mts +4 -0
  400. package/dist/server/routes/instruction.d.ts +4 -0
  401. package/dist/server/routes/instruction.d.ts.map +1 -0
  402. package/dist/server/routes/integration.d.mts +4 -0
  403. package/dist/server/routes/integration.d.ts +4 -0
  404. package/dist/server/routes/integration.d.ts.map +1 -0
  405. package/dist/server/routes/payments.d.mts +4 -0
  406. package/dist/server/routes/payments.d.ts +4 -0
  407. package/dist/server/routes/payments.d.ts.map +1 -0
  408. package/dist/server/routes/verify.d.mts +3 -0
  409. package/dist/server/routes/verify.d.ts +3 -0
  410. package/dist/server/routes/verify.d.ts.map +1 -0
  411. package/dist/wallet/wagmi/config.d.mts +18 -0
  412. package/dist/wallet/wagmi/config.d.ts +18 -0
  413. package/dist/wallet/wagmi/config.d.ts.map +1 -0
  414. package/dist/wallet/wagmi/index.d.mts +2 -0
  415. package/dist/wallet/wagmi/index.d.ts +2 -0
  416. package/dist/wallet/wagmi/index.d.ts.map +1 -0
  417. package/dist/wallet/wagmi/index.js +429 -0
  418. package/dist/wallet/wagmi/index.js.map +7 -0
  419. package/dist/wallet/wagmi/index.mjs +431 -0
  420. package/dist/wallet/wagmi/index.mjs.map +7 -0
  421. package/package.json +222 -0
@@ -0,0 +1,2030 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+
5
+ // src/api/core/error.ts
6
+ import { z } from "zod";
7
+ var apiErrorSchema = z.object({
8
+ code: z.string().nullish(),
9
+ message: z.string().nullish(),
10
+ errorCode: z.string().nullish(),
11
+ errorMessage: z.string().nullish(),
12
+ status: z.number().nullish(),
13
+ context: z.object({
14
+ field_errors: z.record(z.string(), z.string()).nullish()
15
+ }).nullish()
16
+ });
17
+ var errorResponseSchema = z.object({
18
+ message: z.string().nullish(),
19
+ errorMessage: z.string().nullish(),
20
+ errorCode: z.string().nullish(),
21
+ errors: z.array(apiErrorSchema).nullish()
22
+ });
23
+ var defaultErrorCode = "unknown";
24
+ var defaultErrorMessage = "Unexpected error";
25
+ function extractErrorData(maybeError) {
26
+ let errorData = maybeError?.body;
27
+ if (!errorData && maybeError?.response?.data) {
28
+ errorData = maybeError.response.data;
29
+ }
30
+ if (!errorData && (maybeError?.errorMessage || maybeError?.message || maybeError?.errorCode)) {
31
+ errorData = maybeError;
32
+ }
33
+ return errorData;
34
+ }
35
+ function getErrorMessage(maybeError, fallbackMessage) {
36
+ const errorMessage = fallbackMessage ?? defaultErrorMessage;
37
+ const errorData = extractErrorData(maybeError);
38
+ const result = errorResponseSchema.safeParse(errorData);
39
+ if (!result.success) {
40
+ return errorMessage;
41
+ }
42
+ const { message, errorMessage: apiErrorMessage, errors } = result.data;
43
+ return apiErrorMessage ?? message ?? errors?.[0]?.errorMessage ?? errors?.[0]?.message ?? errorMessage;
44
+ }
45
+ function getErrorMessageWithCode(maybeError, fallbackMessage) {
46
+ const errorMessage = fallbackMessage ?? defaultErrorMessage;
47
+ const errorData = extractErrorData(maybeError);
48
+ const result = errorResponseSchema.safeParse(errorData);
49
+ if (!result.success || !result.data.errors?.[0] && !result.data.errorMessage && !result.data.message) {
50
+ return {
51
+ message: errorMessage,
52
+ code: defaultErrorCode
53
+ };
54
+ }
55
+ const {
56
+ message,
57
+ errorMessage: apiErrorMessage,
58
+ errorCode,
59
+ errors
60
+ } = result.data;
61
+ return {
62
+ message: apiErrorMessage ?? message ?? errors?.[0]?.errorMessage ?? errors?.[0]?.message ?? errorMessage,
63
+ code: errorCode ?? errors?.[0]?.errorCode ?? errors?.[0]?.code ?? defaultErrorCode
64
+ };
65
+ }
66
+ function isUserRejectionError(error) {
67
+ if (!error) return false;
68
+ let errorMessage = "";
69
+ if (typeof error === "string") {
70
+ errorMessage = error;
71
+ } else if (typeof error === "object") {
72
+ errorMessage = error.message || error.errorMessage || error.details || "";
73
+ }
74
+ if (!errorMessage) {
75
+ errorMessage = String(error);
76
+ }
77
+ errorMessage = errorMessage.toLowerCase();
78
+ const rejectionPatterns = [
79
+ "user rejected",
80
+ "user denied",
81
+ "user cancelled",
82
+ "cancelled by user",
83
+ "rejected by user",
84
+ "user abort",
85
+ "transaction rejected",
86
+ "signature rejected",
87
+ "request rejected"
88
+ ];
89
+ return rejectionPatterns.some((pattern) => errorMessage.includes(pattern));
90
+ }
91
+ var isUserAddressableError = (errorCode, errorMessage) => {
92
+ const isInUserErrorRange = errorCode >= 1e3 && errorCode < 2e3;
93
+ const hasErrorMessage = Boolean(errorMessage);
94
+ return isInUserErrorRange && hasErrorMessage;
95
+ };
96
+ function isTechnicalError(error) {
97
+ if (!error) return false;
98
+ let errorMessage = "";
99
+ if (typeof error === "string") {
100
+ errorMessage = error;
101
+ } else if (typeof error === "object") {
102
+ errorMessage = error.message || error.errorMessage || error.details || "";
103
+ }
104
+ if (!errorMessage) {
105
+ errorMessage = String(error);
106
+ }
107
+ errorMessage = errorMessage.toLowerCase();
108
+ const technicalErrorPatterns = [
109
+ "is not a function",
110
+ "cannot read prop",
111
+ "cannot read property",
112
+ "reading undefined",
113
+ "read undefined of",
114
+ "cannot access before initialization",
115
+ "is not defined",
116
+ "is undefined",
117
+ "is null",
118
+ "unexpected token",
119
+ "syntax error",
120
+ "reference error",
121
+ "type error",
122
+ "network error",
123
+ "failed to fetch",
124
+ "server components"
125
+ ];
126
+ return technicalErrorPatterns.some(
127
+ (pattern) => errorMessage.includes(pattern)
128
+ );
129
+ }
130
+ function getUserFriendlyErrorMessage(error, fallbackMessage) {
131
+ if (isTechnicalError(error)) {
132
+ return "Internal server error";
133
+ }
134
+ return getErrorMessage(error, fallbackMessage);
135
+ }
136
+
137
+ // src/api/core/instance.ts
138
+ import axios from "axios";
139
+ var API_INSTANCE_DEFAULT_TIMEOUT = 3e4;
140
+ var createInstance = (config) => {
141
+ const instance = axios.create({
142
+ timeout: API_INSTANCE_DEFAULT_TIMEOUT,
143
+ ...config
144
+ });
145
+ return instance;
146
+ };
147
+ var createAbortController = () => {
148
+ return new AbortController();
149
+ };
150
+ var isInstanceInit = (init) => {
151
+ return !!init && typeof init === "object" && "instance" in init;
152
+ };
153
+
154
+ // src/api/core/service.ts
155
+ var ServiceError = class extends Error {
156
+ constructor(message, code) {
157
+ super(message);
158
+ this.code = code;
159
+ this.name = "ServiceError";
160
+ }
161
+ };
162
+ var HttpMethod = {
163
+ Get: "GET",
164
+ Post: "POST",
165
+ Put: "PUT",
166
+ Delete: "DELETE"
167
+ };
168
+
169
+ // src/api/schemas/account.ts
170
+ import { z as z2 } from "zod";
171
+ var DelegationStatus = {
172
+ Undelegated: "Undelegated",
173
+ Pending: "Pending",
174
+ Delegated: "Delegated",
175
+ Expired: "Expired",
176
+ Errored: "Errored"
177
+ };
178
+ var delegationStatusValues = Object.values(DelegationStatus);
179
+ var delegationStatusSchema = z2.enum(delegationStatusValues);
180
+ var delegationStatusRequestSchema = z2.object({
181
+ address: z2.string(),
182
+ chainId: z2.number()
183
+ });
184
+ var delegationStatusResponseSchema = z2.object({
185
+ delegationStatus: delegationStatusSchema
186
+ });
187
+ var delegationCreateRequestSchema = z2.object({
188
+ signedAuthorization: z2.string(),
189
+ signerAddress: z2.string()
190
+ });
191
+ var delegationCreateResponseSchema = z2.object({
192
+ success: z2.boolean(),
193
+ transactionHash: z2.string().optional(),
194
+ message: z2.string().optional()
195
+ });
196
+
197
+ // src/api/schemas/activity.ts
198
+ import { z as z8 } from "zod";
199
+
200
+ // src/schemas/instruction.ts
201
+ import { z as z4 } from "zod";
202
+
203
+ // src/schemas/misc.ts
204
+ import { z as z3 } from "zod";
205
+ var DATE_REGEX = /^(19|20)\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
206
+ var DATE_ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?$/;
207
+ var DATE_STANDARD_REGEX = /^(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d{2}$/;
208
+ var TIME_REGEX = /^(0[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9] (AM|PM)$/;
209
+ var regexSchema = (regex, message) => z3.string().regex(regex, message);
210
+ var nonEmptyStringSchema = z3.string().min(1);
211
+ var numberSchema = z3.union([
212
+ z3.number().finite(),
213
+ z3.string().regex(/^-?\d*\.?\d+(?:[eE][-+]?\d+)?$/).transform(Number)
214
+ ]);
215
+ var decimalStringSchema = z3.string().regex(/^-?\d*\.?\d+$/).refine((val) => !isNaN(parseFloat(val)), {
216
+ message: "Must be a valid decimal number"
217
+ });
218
+ var bigintSchema = z3.union([
219
+ z3.bigint(),
220
+ z3.string().regex(/^-?\d+$/).transform(BigInt)
221
+ ]);
222
+ var hexStringSchema = z3.string().startsWith("0x").transform((val) => val);
223
+ var dateSchema = regexSchema(DATE_REGEX);
224
+ var dateISO8601Schema = regexSchema(DATE_ISO_8601_REGEX);
225
+ var dateStandardSchema = regexSchema(DATE_STANDARD_REGEX);
226
+ var timeSchema = regexSchema(TIME_REGEX);
227
+ var Sort = {
228
+ Asc: "asc",
229
+ Desc: "desc"
230
+ };
231
+ var sortValues = Object.values(Sort);
232
+ var vrsSchema = z3.object({
233
+ v: z3.number(),
234
+ r: z3.string(),
235
+ s: z3.string()
236
+ });
237
+ var eip2098SignatureSchema = z3.object({
238
+ yParity: z3.number(),
239
+ r: z3.string(),
240
+ s: z3.string()
241
+ });
242
+
243
+ // src/schemas/instruction.ts
244
+ var instructionIdSchema = hexStringSchema;
245
+ var InstructionState = {
246
+ PendingActivation: "PendingActivation",
247
+ Active: "Active",
248
+ PendingDeactivation: "PendingDeactivation",
249
+ Deactivated: "Deactivated",
250
+ Errored: "Errored",
251
+ Completed: "Completed",
252
+ UserNotDelegated: "UserNotDelegated",
253
+ InFlight: "InFlight",
254
+ NotifyUser: "NotifyUser"
255
+ };
256
+ var instructionStateValues = Object.values(InstructionState);
257
+ var instructionStateSchema = z4.enum(instructionStateValues);
258
+ var InstructionAction = {
259
+ RefuelERC20: "refuelERC20",
260
+ Refuel: "refuel",
261
+ Transfer: "transfer",
262
+ TransferERC20: "transferERC20",
263
+ UniswapV3ExactInput: "uniswapV3ExactInput",
264
+ Sweep: "sweep",
265
+ SweepERC20: "sweepERC20",
266
+ SweepCCTP: "sweepCCTP",
267
+ SweepUniswapV3: "sweepUniswapV3",
268
+ SweepDepositAccount: "sweepDepositAccount",
269
+ SweepDepositAccountERC20: "sweepDepositAccountERC20",
270
+ DeactivateInstruction: "deactivateInstruction",
271
+ SweepSkipCCTPDepositAccount: "sweepSkipCCTPDepositAccount"
272
+ };
273
+ var instructionActionValues = Object.values(InstructionAction);
274
+ var instructionActionSchema = z4.enum(instructionActionValues);
275
+ var InstructionScheduleStartType = {
276
+ Now: "now",
277
+ DateTime: "datetime"
278
+ };
279
+ var instructionScheduleStartValues = Object.values(
280
+ InstructionScheduleStartType
281
+ );
282
+ var baseStartSchema = z4.object({
283
+ type: z4.enum(instructionScheduleStartValues)
284
+ });
285
+ var nowStartSchema = baseStartSchema.extend({
286
+ type: z4.literal(InstructionScheduleStartType.Now)
287
+ });
288
+ var dateTimeStartSchema = baseStartSchema.extend({
289
+ type: z4.literal(InstructionScheduleStartType.DateTime),
290
+ startDate: dateStandardSchema,
291
+ startTime: z4.string()
292
+ });
293
+ var instructionScheduleStartSchema = z4.discriminatedUnion("type", [
294
+ nowStartSchema,
295
+ dateTimeStartSchema
296
+ ]);
297
+ var InstructionScheduleRepeatType = {
298
+ UntilDeactivated: "until-deactivated",
299
+ MaxExecutions: "max-executions"
300
+ };
301
+ var instructionScheduleRepeatValues = Object.values(
302
+ InstructionScheduleRepeatType
303
+ );
304
+ var baseRepeatSchema = z4.object({});
305
+ var untilDeactivatedRepeatSchema = baseRepeatSchema.extend({
306
+ type: z4.literal(InstructionScheduleRepeatType.UntilDeactivated)
307
+ });
308
+ var maxExecutionsRepeatSchema = baseRepeatSchema.extend({
309
+ type: z4.literal(InstructionScheduleRepeatType.MaxExecutions),
310
+ maxExecutions: numberSchema
311
+ });
312
+ var instructionScheduleRepeatSchema = z4.discriminatedUnion("type", [
313
+ untilDeactivatedRepeatSchema,
314
+ maxExecutionsRepeatSchema
315
+ ]);
316
+ var InstructionScheduleRetryType = {
317
+ UntilDeactivated: "until-deactivated",
318
+ TimeLimited: "time-limited"
319
+ };
320
+ var instructionScheduleRetryValues = Object.values(
321
+ InstructionScheduleRetryType
322
+ );
323
+ var baseRetrySchema = z4.object({});
324
+ var untilDeactivatedRetrySchema = baseRetrySchema.extend({
325
+ type: z4.literal(InstructionScheduleRetryType.UntilDeactivated)
326
+ });
327
+ var timeLimitedRetrySchema = baseRetrySchema.extend({
328
+ type: z4.literal(InstructionScheduleRetryType.TimeLimited),
329
+ retryCount: numberSchema
330
+ });
331
+ var instructionScheduleRetrySchema = z4.discriminatedUnion("type", [
332
+ untilDeactivatedRetrySchema,
333
+ timeLimitedRetrySchema
334
+ ]);
335
+ var TimeUnit = {
336
+ None: "none",
337
+ Second: "second",
338
+ Minute: "minute",
339
+ Hour: "hour",
340
+ Day: "day",
341
+ Week: "week",
342
+ Month: "month"
343
+ };
344
+ var timeUnitValues = Object.values(TimeUnit);
345
+ var timeUnitSchema = z4.enum(timeUnitValues);
346
+ var instructionExecutionStateSchema = z4.object({
347
+ executionStatus: instructionStateSchema.optional(),
348
+ executionCounter: z4.number().int().optional(),
349
+ lastExecuted: z4.number().int().optional()
350
+ });
351
+ var instructionSchema = z4.object({
352
+ instructionId: hexStringSchema,
353
+ createdAt: z4.number().optional(),
354
+ startAt: z4.string().nullish(),
355
+ interval: z4.number().nullish(),
356
+ timeout: z4.number().nullish(),
357
+ maxExecutions: z4.number().nullish(),
358
+ executionState: instructionExecutionStateSchema.optional(),
359
+ actionName: z4.string().optional(),
360
+ arguments: z4.any(),
361
+ nickname: z4.string().nullish(),
362
+ lastInstructedValue: z4.string().optional(),
363
+ lastErrorCode: z4.number().nullish(),
364
+ lastErrorMessage: z4.string().nullish(),
365
+ totalInstructedValue: z4.string().optional(),
366
+ instructedTokenAddress: hexStringSchema.nullish(),
367
+ chainId: z4.number().nullish(),
368
+ chain: z4.string().optional()
369
+ });
370
+ var instructionsSchema = z4.array(instructionSchema);
371
+ var instructionSummarySchema = z4.object({
372
+ instructionId: hexStringSchema,
373
+ chainId: z4.number().int(),
374
+ executionCount: z4.number().int(),
375
+ onTimeCount: z4.number().int(),
376
+ lateCount: z4.number().int(),
377
+ wasActivatedDuring: z4.boolean(),
378
+ amount: z4.number().default(0),
379
+ instructedValue: z4.string().nullish().default("0"),
380
+ instructedTokenAddress: z4.string().nullish().default(null)
381
+ });
382
+ var instructionSummariesSchema = z4.array(instructionSummarySchema);
383
+ var instructionSummariesByDateSchema = z4.record(
384
+ z4.string(),
385
+ instructionSummariesSchema
386
+ );
387
+ var InstructionViewTimescale = {
388
+ Days: "days",
389
+ Hours: "hours",
390
+ Minutes: "minutes",
391
+ Seconds: "seconds"
392
+ };
393
+ var instructionViewTimescaleValues = Object.values(
394
+ InstructionViewTimescale
395
+ );
396
+
397
+ // src/schemas/payment.ts
398
+ import { z as z5 } from "zod";
399
+ var PaymentStatus = {
400
+ Due: "due",
401
+ NotDue: "not-due",
402
+ Paid: "paid"
403
+ };
404
+ var PaymentSource = {
405
+ Bill: "Bill",
406
+ Stripe: "Stripe",
407
+ Clio: "Clio",
408
+ QuickBooks: "QuickBooks"
409
+ };
410
+ var paymentRequestSourceValues = [
411
+ PaymentSource.Bill,
412
+ PaymentSource.Stripe,
413
+ PaymentSource.Clio,
414
+ PaymentSource.QuickBooks
415
+ ];
416
+ var paymentSchema = z5.object({
417
+ id: z5.string(),
418
+ fromUserId: z5.string().nullable().optional(),
419
+ toUserId: z5.string().nullable().optional(),
420
+ payerAddress: z5.string().nullable().optional(),
421
+ ephemeralWalletAddress: z5.string(),
422
+ ephemeralWalletId: z5.string().optional(),
423
+ instructions: z5.object({
424
+ ids: z5.array(z5.string()),
425
+ completionIds: z5.array(z5.string())
426
+ }).optional(),
427
+ metadata: z5.record(z5.string(), z5.unknown()).optional(),
428
+ // UI-derived fields
429
+ status: z5.union([
430
+ z5.literal(PaymentStatus.Due),
431
+ z5.literal(PaymentStatus.NotDue),
432
+ z5.literal(PaymentStatus.Paid)
433
+ ]),
434
+ dueDate: z5.string(),
435
+ amountDue: z5.number(),
436
+ note: z5.string().nullable().optional(),
437
+ address: z5.string().nullable().optional(),
438
+ addedOn: z5.string(),
439
+ source: z5.union([
440
+ z5.literal(PaymentSource.Bill),
441
+ z5.literal(PaymentSource.Stripe),
442
+ z5.literal(PaymentSource.Clio),
443
+ z5.literal(PaymentSource.QuickBooks)
444
+ ]).nullish(),
445
+ attachmentUrl: z5.string().url().nullable().optional(),
446
+ attachmentName: z5.string().nullable().optional(),
447
+ fromAccountAddress: z5.string().nullable().optional()
448
+ });
449
+ var PaymentsSchema = z5.array(paymentSchema);
450
+
451
+ // src/schemas/transaction.ts
452
+ import { z as z6 } from "zod";
453
+ var transactionSchema = z6.object({
454
+ instructionId: instructionIdSchema,
455
+ transactionHash: hexStringSchema.optional(),
456
+ blockHash: z6.string().nullable(),
457
+ transactionStatus: z6.string(),
458
+ error: z6.string().nullish(),
459
+ startedAt: z6.string(),
460
+ startedAtBlock: z6.number(),
461
+ finishedAt: z6.string().nullable(),
462
+ finishedAtBlock: z6.number().nullable(),
463
+ amount: z6.object({ value: z6.number(), token: z6.string() }).nullish(),
464
+ instructedValue: z6.string(),
465
+ instructedTokenAddress: z6.string().nullable(),
466
+ executionNum: z6.number(),
467
+ chainId: z6.number().nullish(),
468
+ chain: z6.string().optional()
469
+ });
470
+ var transactionWithValidAmountSchema = transactionSchema.extend({
471
+ amount: z6.object({
472
+ value: z6.number(),
473
+ token: z6.string()
474
+ })
475
+ });
476
+ var transactionsSchema = z6.array(transactionSchema);
477
+
478
+ // src/schemas/user.ts
479
+ import { z as z7 } from "zod";
480
+ var entityIdSchema = z7.string().uuid();
481
+ var addressSchema = z7.string().regex(/^0x[a-fA-F0-9]{40}$/).transform((v) => v.toLowerCase());
482
+ var userPreferencesSchema = z7.object({
483
+ chainId: z7.number().optional(),
484
+ tokenSymbol: z7.string().optional(),
485
+ localCurrency: z7.string().optional()
486
+ });
487
+ var userSchema = z7.object({
488
+ id: entityIdSchema,
489
+ address: addressSchema,
490
+ createdAt: z7.string(),
491
+ updatedAt: z7.string(),
492
+ preferences: userPreferencesSchema.optional(),
493
+ isDeveloper: z7.boolean(),
494
+ developerPublicKey: z7.string().nullable().optional()
495
+ });
496
+
497
+ // src/api/schemas/activity.ts
498
+ var actionNameSchema = z8.enum([
499
+ "refuel",
500
+ "transfer",
501
+ "refuelERC20",
502
+ "transferERC20",
503
+ "uniswapV3ExactInput",
504
+ "deactivateInstruction",
505
+ "sweepCCTP",
506
+ "transferCCTP",
507
+ "sweep",
508
+ "sweepERC20",
509
+ "sweepUniswapV3",
510
+ "depositERC4626",
511
+ "sweepDepositERC4626",
512
+ "withdrawERC4626",
513
+ "sweepWithdrawERC4626",
514
+ "callOnce"
515
+ ]);
516
+ var transferFieldsSchema = z8.object({
517
+ token: hexStringSchema,
518
+ from: hexStringSchema,
519
+ to: hexStringSchema,
520
+ value: hexStringSchema
521
+ });
522
+ var swapFieldsSchema = z8.object({
523
+ poolAddress: hexStringSchema,
524
+ fromToken: hexStringSchema,
525
+ toToken: hexStringSchema,
526
+ from: hexStringSchema,
527
+ to: hexStringSchema,
528
+ fromAmount: hexStringSchema,
529
+ toAmount: hexStringSchema
530
+ });
531
+ var cctpBurnFieldsSchema = z8.object({
532
+ token: hexStringSchema,
533
+ from: hexStringSchema,
534
+ mintRecipient: hexStringSchema,
535
+ destinationDomain: hexStringSchema,
536
+ value: hexStringSchema
537
+ });
538
+ var erc4626DepositFieldsSchema = z8.object({
539
+ vault: hexStringSchema,
540
+ token: hexStringSchema,
541
+ from: hexStringSchema,
542
+ owner: hexStringSchema,
543
+ value: hexStringSchema,
544
+ shares: hexStringSchema
545
+ });
546
+ var erc4626WithdrawFieldsSchema = z8.object({
547
+ vault: hexStringSchema,
548
+ token: hexStringSchema,
549
+ from: hexStringSchema,
550
+ to: hexStringSchema,
551
+ value: hexStringSchema,
552
+ shares: hexStringSchema
553
+ });
554
+ var activityDataSchema = z8.union([
555
+ z8.object({ transfer: transferFieldsSchema }),
556
+ z8.object({ swap: swapFieldsSchema }),
557
+ z8.object({ cctpBurn: cctpBurnFieldsSchema }),
558
+ z8.object({ erc4626Deposit: erc4626DepositFieldsSchema }),
559
+ z8.object({ erc4626Withdraw: erc4626WithdrawFieldsSchema })
560
+ ]);
561
+ var activityRecordSchema = z8.object({
562
+ actionName: actionNameSchema,
563
+ blockTimestamp: numberSchema,
564
+ transactionHash: hexStringSchema,
565
+ activity: activityDataSchema,
566
+ instructionId: hexStringSchema.nullable(),
567
+ executionCount: z8.number().nullable()
568
+ });
569
+ var getInstructionActivityRequestSchema = z8.object({
570
+ chainId: z8.number(),
571
+ actionNames: z8.array(actionNameSchema),
572
+ page: numberSchema.optional(),
573
+ perPage: numberSchema.optional()
574
+ });
575
+ var getInstructionActivityResponseSchema = z8.array(activityRecordSchema);
576
+
577
+ // src/api/schemas/auth.ts
578
+ import { z as z9 } from "zod";
579
+ var authLoginRequestSchema = z9.object({
580
+ siwe: z9.string(),
581
+ signature: vrsSchema
582
+ });
583
+ var authLoginResponseSchema = z9.object({
584
+ authorization: z9.string(),
585
+ user: userSchema
586
+ });
587
+ var turnkeyVerificationRequestSchema = z9.object({
588
+ email: z9.string().email()
589
+ });
590
+ var turnkeyVerificationResponseSchema = z9.object({
591
+ isLogin: z9.boolean()
592
+ });
593
+ var attestationSchema = z9.object({
594
+ credentialId: z9.string(),
595
+ clientDataJson: z9.string(),
596
+ attestationObject: z9.string(),
597
+ transports: z9.array(z9.string()).optional()
598
+ });
599
+ var turnkeyLoginRequestSchema = z9.object({
600
+ email: z9.email(),
601
+ verificationCode: z9.coerce.number().int().min(1e5).max(999999),
602
+ passkeyChallenge: z9.string().optional(),
603
+ attestation: attestationSchema.optional()
604
+ });
605
+ var turnkeyLoginResponseSchema = z9.object({
606
+ email: z9.string(),
607
+ subOrgId: z9.string(),
608
+ walletAddress: z9.string(),
609
+ isLogin: z9.boolean().optional()
610
+ });
611
+ var meResponseSchema = userSchema;
612
+ var sessionTokenRequestSchema = z9.object({
613
+ sessionToken: z9.string()
614
+ });
615
+ var sessionTokenResponseSchema = z9.object({
616
+ success: z9.boolean()
617
+ });
618
+ var sessionVerifyResponseSchema = z9.object({
619
+ authenticated: z9.boolean(),
620
+ hasSessionToken: z9.boolean()
621
+ });
622
+ var whitelistCheckRequestSchema = z9.object({
623
+ email: z9.string().email()
624
+ });
625
+ var whitelistCheckResponseSchema = z9.object({
626
+ isAllowed: z9.boolean(),
627
+ message: z9.string().optional()
628
+ });
629
+ var addressWhitelistCheckRequestSchema = z9.object({
630
+ address: z9.string()
631
+ });
632
+ var addressWhitelistCheckResponseSchema = z9.object({
633
+ isAllowed: z9.boolean(),
634
+ message: z9.string().optional()
635
+ });
636
+ var getCurrentUserResponseSchema = z9.object({
637
+ data: userSchema
638
+ });
639
+
640
+ // src/api/schemas/chain.ts
641
+ import { z as z10 } from "zod";
642
+ var chainIdSchema = z10.object({
643
+ chainId: z10.number().nullable()
644
+ });
645
+ var setChainIdSchema = z10.object({
646
+ chainId: z10.number().positive()
647
+ });
648
+ var chainSuccessResponseSchema = z10.object({
649
+ success: z10.boolean(),
650
+ chainId: z10.number().optional()
651
+ });
652
+
653
+ // src/api/schemas/config.ts
654
+ import { z as z11 } from "zod";
655
+ var getDelegateAddressSchema = z11.object({
656
+ chainId: z11.number()
657
+ });
658
+ var getDelegateAddressResponseSchema = z11.object({
659
+ otimDelegateAddress: z11.string()
660
+ });
661
+ var getConfigTokensRequestParametersSchema = z11.object({
662
+ chainId: z11.number()
663
+ });
664
+ var getConfigTokensResponseSchema = z11.object({
665
+ tokens: z11.array(
666
+ z11.object({
667
+ symbol: z11.any(),
668
+ address: hexStringSchema
669
+ })
670
+ )
671
+ });
672
+ var getConfigChainsResponseSchema = z11.unknown();
673
+ var getMaxPriorityFeePerGasEstimateSchema = z11.object({
674
+ chainId: z11.number()
675
+ });
676
+ var getMaxPriorityFeePerGasEstimateResponseSchema = z11.object({
677
+ slowMaxPriorityFeeEstimate: z11.number(),
678
+ normalMaxPriorityFeeEstimate: z11.number(),
679
+ fastMaxPriorityFeeEstimate: z11.number()
680
+ });
681
+
682
+ // src/api/schemas/contacts.ts
683
+ import { z as z12 } from "zod";
684
+ var newContactRequestSchema = z12.object({
685
+ address: hexStringSchema,
686
+ name: z12.string()
687
+ });
688
+ var getContactsRequestSchema = z12.object({
689
+ perPage: numberSchema.optional(),
690
+ page: numberSchema.optional()
691
+ });
692
+ var contactSchema = z12.object({
693
+ userId: z12.string(),
694
+ address: hexStringSchema,
695
+ name: z12.string(),
696
+ createdAt: z12.string(),
697
+ updatedAt: z12.string()
698
+ });
699
+ var getContactsResponseSchema = z12.array(contactSchema);
700
+
701
+ // src/api/schemas/instruction.ts
702
+ import { z as z13 } from "zod";
703
+ var feeSchema = z13.object({
704
+ executionFee: hexStringSchema,
705
+ maxBaseFeePerGas: hexStringSchema,
706
+ maxPriorityFeePerGas: hexStringSchema,
707
+ token: hexStringSchema
708
+ });
709
+ var scheduleSchema = z13.object({
710
+ startAt: numberSchema,
711
+ startBy: numberSchema,
712
+ interval: numberSchema,
713
+ timeout: numberSchema
714
+ });
715
+ var baseActionArgumentsSchema = z13.object({
716
+ target: hexStringSchema,
717
+ fee: feeSchema,
718
+ token: hexStringSchema
719
+ });
720
+ var refuelActionArgumentsSchema = baseActionArgumentsSchema.extend({
721
+ threshold: numberSchema,
722
+ endBalance: numberSchema,
723
+ gasLimit: numberSchema
724
+ });
725
+ var refuelERC20ActionArgumentsSchema = baseActionArgumentsSchema.extend({
726
+ threshold: numberSchema,
727
+ endBalance: numberSchema,
728
+ gasLimit: numberSchema
729
+ });
730
+ var transferActionArgumentsSchema = baseActionArgumentsSchema.extend({
731
+ value: numberSchema,
732
+ gasLimit: numberSchema,
733
+ schedule: scheduleSchema
734
+ });
735
+ var transferERC20ActionArgumentsSchema = baseActionArgumentsSchema.extend({
736
+ value: numberSchema,
737
+ gasLimit: numberSchema,
738
+ schedule: scheduleSchema
739
+ });
740
+ var sweepDepositAccountActionArgumentsSchema = baseActionArgumentsSchema.extend({
741
+ threshold: numberSchema,
742
+ recipient: hexStringSchema,
743
+ depositorAddress: hexStringSchema
744
+ });
745
+ var sweepDepositAccountERC20ActionArgumentsSchema = baseActionArgumentsSchema.extend({
746
+ threshold: numberSchema,
747
+ recipient: hexStringSchema,
748
+ depositorAddress: hexStringSchema
749
+ });
750
+ var uniswapV3ExactInputActionArgumentsSchema = z13.object({
751
+ tokenIn: hexStringSchema,
752
+ tokenOut: hexStringSchema,
753
+ amountIn: numberSchema,
754
+ floorAmountOut: numberSchema,
755
+ feeTier: z13.string(),
756
+ recipient: hexStringSchema,
757
+ meanPriceLookBack: numberSchema,
758
+ maxPriceDeviationBps: numberSchema,
759
+ fee: feeSchema,
760
+ schedule: scheduleSchema
761
+ });
762
+ var deactivateInstructionActionArgumentsSchema = z13.object({
763
+ instructionId: hexStringSchema,
764
+ fee: feeSchema
765
+ });
766
+ var actionArgumentsSchema = z13.union([
767
+ refuelActionArgumentsSchema,
768
+ refuelERC20ActionArgumentsSchema,
769
+ transferActionArgumentsSchema,
770
+ transferERC20ActionArgumentsSchema,
771
+ sweepDepositAccountActionArgumentsSchema,
772
+ sweepDepositAccountERC20ActionArgumentsSchema,
773
+ uniswapV3ExactInputActionArgumentsSchema,
774
+ deactivateInstructionActionArgumentsSchema
775
+ ]);
776
+ var feeResponseSchema = z13.object({
777
+ token: hexStringSchema,
778
+ executionFee: hexStringSchema,
779
+ maxBaseFeePerGas: hexStringSchema,
780
+ maxPriorityFeePerGas: hexStringSchema
781
+ });
782
+ var scheduleResponseSchema = z13.object({
783
+ startAt: hexStringSchema,
784
+ startBy: hexStringSchema,
785
+ interval: hexStringSchema,
786
+ timeout: hexStringSchema
787
+ });
788
+ var refuelActionResponseSchema = z13.object({
789
+ target: hexStringSchema,
790
+ threshold: hexStringSchema,
791
+ endBalance: hexStringSchema,
792
+ gasLimit: hexStringSchema,
793
+ fee: feeResponseSchema
794
+ });
795
+ var transferActionResponseSchema = z13.object({
796
+ target: hexStringSchema,
797
+ value: hexStringSchema,
798
+ gasLimit: hexStringSchema,
799
+ schedule: scheduleResponseSchema,
800
+ fee: feeResponseSchema
801
+ });
802
+ var refuelERC20ActionResponseSchema = z13.object({
803
+ token: hexStringSchema,
804
+ target: hexStringSchema,
805
+ threshold: hexStringSchema,
806
+ endBalance: hexStringSchema,
807
+ fee: feeResponseSchema
808
+ });
809
+ var transferERC20ActionResponseSchema = z13.object({
810
+ token: hexStringSchema,
811
+ target: hexStringSchema,
812
+ value: hexStringSchema,
813
+ schedule: scheduleResponseSchema,
814
+ fee: feeResponseSchema
815
+ });
816
+ var actionArgumentsResponseSchema = z13.union([
817
+ refuelActionResponseSchema,
818
+ transferActionResponseSchema,
819
+ refuelERC20ActionResponseSchema,
820
+ transferERC20ActionResponseSchema
821
+ ]);
822
+ var instructionBuildSchema = z13.object({
823
+ action: hexStringSchema,
824
+ arguments: hexStringSchema,
825
+ maxExecutions: hexStringSchema,
826
+ salt: hexStringSchema,
827
+ nickname: z13.string().nullish()
828
+ });
829
+ var instructionGetAllRequestSchema = z13.object({
830
+ address: hexStringSchema,
831
+ chainId: z13.number(),
832
+ page: z13.number().optional(),
833
+ perPage: z13.number().optional()
834
+ });
835
+ var instructionGetAllResponseSchema = z13.array(instructionSchema);
836
+ var instructionBuildRequestSchema = z13.object({
837
+ address: hexStringSchema,
838
+ chainId: z13.number(),
839
+ salt: z13.number(),
840
+ maxExecutions: z13.number(),
841
+ actionArguments: z13.record(z13.string(), actionArgumentsSchema).refine(
842
+ (args) => {
843
+ const keys = Object.keys(args);
844
+ return keys.length === 1 && instructionActionValues.includes(
845
+ keys[0]
846
+ );
847
+ },
848
+ {
849
+ message: "actionArguments must contain exactly one valid instruction action"
850
+ }
851
+ )
852
+ });
853
+ var instructionActivateRequestSchema = z13.object({
854
+ nickname: z13.string().optional(),
855
+ address: hexStringSchema,
856
+ chainId: z13.number(),
857
+ salt: hexStringSchema,
858
+ maxExecutions: hexStringSchema,
859
+ action: hexStringSchema,
860
+ arguments: hexStringSchema,
861
+ activationSignature: eip2098SignatureSchema
862
+ });
863
+ var instructionActivateResponseSchema = z13.object({
864
+ instructionId: hexStringSchema
865
+ });
866
+ var instructionDeactivateRequestSchema = z13.object({
867
+ address: hexStringSchema,
868
+ chainId: z13.number(),
869
+ deactivation: z13.object({
870
+ instructionId: hexStringSchema
871
+ }),
872
+ deactivationSignature: eip2098SignatureSchema
873
+ });
874
+ var instructionDeactivateResponseSchema = z13.unknown();
875
+ var instructionDetailsRequestSchema = z13.object({
876
+ address: hexStringSchema,
877
+ instructionId: hexStringSchema,
878
+ chainId: z13.number()
879
+ });
880
+ var instructionDetailsResponseSchema = z13.object({
881
+ action: hexStringSchema,
882
+ actionArguments: z13.any(),
883
+ actionName: z13.string().nullish(),
884
+ salt: hexStringSchema,
885
+ maxExecutions: hexStringSchema,
886
+ nickname: z13.string().nullish(),
887
+ lastErrorCode: z13.number().int(),
888
+ lastErrorMessage: z13.string().nullish()
889
+ });
890
+ var instructionGetRulesRequestSchema = z13.object({
891
+ chainId: z13.number(),
892
+ page: z13.number().optional(),
893
+ perPage: z13.number().optional()
894
+ });
895
+ var instructionGetRulesResponseSchema = z13.array(
896
+ instructionSchema
897
+ );
898
+
899
+ // src/api/schemas/integration.ts
900
+ import { z as z14 } from "zod";
901
+ var IntegrationType = {
902
+ Bank: "Bank",
903
+ Clio: "Clio",
904
+ Stripe: "Stripe",
905
+ QuickBooks: "QuickBooks",
906
+ Bill: "Bill",
907
+ Zoho: "Zoho"
908
+ };
909
+ var integrationTypeValues = [
910
+ IntegrationType.Bank,
911
+ IntegrationType.Clio,
912
+ IntegrationType.Stripe,
913
+ IntegrationType.QuickBooks,
914
+ IntegrationType.Bill,
915
+ IntegrationType.Zoho
916
+ ];
917
+ var quickBooksDetailsSchema = z14.object({
918
+ accessToken: z14.string().optional(),
919
+ refreshToken: z14.string().optional(),
920
+ realmId: z14.string().optional(),
921
+ tokenType: z14.string().optional(),
922
+ expiresIn: z14.number().optional(),
923
+ xRefreshTokenExpiresIn: z14.number().optional()
924
+ });
925
+ var stripeTokensSchema = z14.object({
926
+ accessToken: z14.string(),
927
+ refreshToken: z14.string().optional()
928
+ });
929
+ var stripeDetailsSchema = z14.object({
930
+ clientId: z14.string().optional(),
931
+ clientSecret: z14.string().optional(),
932
+ tokens: stripeTokensSchema.optional()
933
+ });
934
+ var billcomDetailsSchema = z14.object({
935
+ devKey: z14.string().optional(),
936
+ sessionId: z14.string().optional(),
937
+ orgId: z14.string().optional(),
938
+ rememberMeId: z14.string().optional()
939
+ });
940
+ var liquidationAddressSchema = z14.object({
941
+ liquidationAddressId: z14.string(),
942
+ address: z14.string(),
943
+ chain: z14.string(),
944
+ currency: z14.string(),
945
+ blockchainMemo: z14.string().optional()
946
+ });
947
+ var plaidAccountSchema = z14.object({
948
+ accountId: z14.string(),
949
+ name: z14.string().optional(),
950
+ mask: z14.string().optional(),
951
+ subtype: z14.string().optional(),
952
+ externalAccountId: z14.string().optional(),
953
+ liquidationAddress: liquidationAddressSchema.optional()
954
+ });
955
+ var plaidConnectionSchema = z14.object({
956
+ accessToken: z14.string(),
957
+ itemId: z14.string(),
958
+ institutionId: z14.string().optional(),
959
+ institutionName: z14.string().optional(),
960
+ accounts: z14.array(plaidAccountSchema)
961
+ });
962
+ var bridgeConnectionSchema = z14.object({
963
+ customerId: z14.string(),
964
+ kycLinkId: z14.string().optional(),
965
+ kycLink: z14.string().optional(),
966
+ tosLink: z14.string().optional(),
967
+ completedSteps: z14.array(z14.string()).optional()
968
+ });
969
+ var bankDetailsSchema = z14.object({
970
+ plaid: z14.array(plaidConnectionSchema).optional(),
971
+ bridge: z14.array(bridgeConnectionSchema).optional()
972
+ });
973
+ var integrationTypeSchema = z14.enum(integrationTypeValues);
974
+ var updateIntegrationRequestSchema = z14.discriminatedUnion(
975
+ "integrationType",
976
+ [
977
+ z14.object({
978
+ integrationType: z14.literal(IntegrationType.QuickBooks),
979
+ details: quickBooksDetailsSchema
980
+ }),
981
+ z14.object({
982
+ integrationType: z14.literal(IntegrationType.Bank),
983
+ details: bankDetailsSchema
984
+ }),
985
+ z14.object({
986
+ integrationType: z14.literal(IntegrationType.Clio),
987
+ details: z14.unknown()
988
+ }),
989
+ z14.object({
990
+ integrationType: z14.literal(IntegrationType.Stripe),
991
+ details: stripeDetailsSchema
992
+ }),
993
+ z14.object({
994
+ integrationType: z14.literal(IntegrationType.Bill),
995
+ details: billcomDetailsSchema
996
+ }),
997
+ z14.object({
998
+ integrationType: z14.literal(IntegrationType.Zoho),
999
+ details: z14.unknown()
1000
+ })
1001
+ ]
1002
+ );
1003
+ var getIntegrationRequestSchema = z14.object({
1004
+ integrationType: integrationTypeSchema
1005
+ });
1006
+ var integrationResponseSchema = z14.discriminatedUnion(
1007
+ "integrationType",
1008
+ [
1009
+ z14.object({
1010
+ integrationType: z14.literal(IntegrationType.QuickBooks),
1011
+ details: quickBooksDetailsSchema
1012
+ }),
1013
+ z14.object({
1014
+ integrationType: z14.literal(IntegrationType.Bank),
1015
+ details: bankDetailsSchema
1016
+ }),
1017
+ z14.object({
1018
+ integrationType: z14.literal(IntegrationType.Clio),
1019
+ details: z14.unknown()
1020
+ }),
1021
+ z14.object({
1022
+ integrationType: z14.literal(IntegrationType.Stripe),
1023
+ details: stripeDetailsSchema
1024
+ }),
1025
+ z14.object({
1026
+ integrationType: z14.literal(IntegrationType.Bill),
1027
+ details: billcomDetailsSchema
1028
+ }),
1029
+ z14.object({
1030
+ integrationType: z14.literal(IntegrationType.Zoho),
1031
+ details: z14.unknown()
1032
+ })
1033
+ ]
1034
+ );
1035
+
1036
+ // src/api/schemas/operating-account.ts
1037
+ import { z as z15 } from "zod";
1038
+ var newOperatingAccountSubOrgResponseSchema = z15.object({
1039
+ subOrganizationId: z15.string(),
1040
+ endUserId: z15.string()
1041
+ });
1042
+ var getOperatingAccountSubOrgResponseSchema = z15.object({
1043
+ subOrganizationId: z15.string()
1044
+ });
1045
+
1046
+ // src/api/schemas/payments.ts
1047
+ import { z as z16 } from "zod";
1048
+ var paymentRequestsDirectionSchema = z16.enum(["from", "to"]);
1049
+ var getPaymentRequestsRequestSchema = z16.object({
1050
+ direction: paymentRequestsDirectionSchema,
1051
+ statuses: z16.array(z16.enum(["pending", "inProgress", "paid", "cancelled", "draft"])).optional(),
1052
+ perPage: numberSchema.optional(),
1053
+ page: numberSchema.optional()
1054
+ });
1055
+ var paymentRequestStatusSchema = z16.enum([
1056
+ "pending",
1057
+ "inProgress",
1058
+ "paid",
1059
+ "cancelled",
1060
+ "draft"
1061
+ ]);
1062
+ var paymentRequestSchema = z16.object({
1063
+ id: z16.string(),
1064
+ fromUserId: z16.string(),
1065
+ toUserId: z16.string().nullable(),
1066
+ payerAddress: hexStringSchema.nullable(),
1067
+ ephemeralWalletAddress: hexStringSchema,
1068
+ instructions: z16.object({
1069
+ ids: z16.array(z16.string()),
1070
+ completionIds: z16.array(z16.string())
1071
+ }),
1072
+ metadata: z16.record(z16.string(), z16.unknown()),
1073
+ status: paymentRequestStatusSchema,
1074
+ createdAt: z16.string(),
1075
+ updatedAt: z16.string()
1076
+ });
1077
+ var getPaymentRequestsResponseSchema = z16.array(paymentRequestSchema);
1078
+ var buildEphemeralInstructionSchema = z16.object({
1079
+ chainId: z16.number(),
1080
+ salt: numberSchema,
1081
+ maxExecutions: numberSchema,
1082
+ actionArguments: z16.record(z16.string(), z16.unknown()),
1083
+ setEphemeralTarget: z16.boolean().optional()
1084
+ });
1085
+ var paymentRequestBuildRequestSchema = z16.object({
1086
+ payerAddress: hexStringSchema.nullish(),
1087
+ completionInstructions: z16.array(buildEphemeralInstructionSchema),
1088
+ instructions: z16.array(buildEphemeralInstructionSchema),
1089
+ metadata: z16.record(z16.string(), z16.unknown()).optional().default({})
1090
+ });
1091
+ var feeResponseSchema2 = z16.object({
1092
+ token: hexStringSchema,
1093
+ executionFee: hexStringSchema,
1094
+ maxBaseFeePerGas: hexStringSchema,
1095
+ maxPriorityFeePerGas: hexStringSchema
1096
+ });
1097
+ var buildInstructionResponseSchema = z16.object({
1098
+ address: hexStringSchema,
1099
+ chainId: z16.number(),
1100
+ salt: hexStringSchema,
1101
+ maxExecutions: hexStringSchema,
1102
+ action: hexStringSchema,
1103
+ arguments: hexStringSchema
1104
+ });
1105
+ var paymentRequestBuildResponseSchema = z16.object({
1106
+ requestId: z16.string(),
1107
+ subOrgId: z16.string(),
1108
+ walletId: z16.string(),
1109
+ ephemeralWalletAddress: hexStringSchema,
1110
+ completionInstructions: z16.array(buildInstructionResponseSchema),
1111
+ instructions: z16.array(buildInstructionResponseSchema)
1112
+ });
1113
+ var newInstructionRequestSchema = z16.object({
1114
+ nickname: z16.string().optional(),
1115
+ address: hexStringSchema,
1116
+ chainId: z16.number(),
1117
+ salt: hexStringSchema,
1118
+ maxExecutions: hexStringSchema,
1119
+ action: hexStringSchema,
1120
+ arguments: hexStringSchema,
1121
+ activationSignature: eip2098SignatureSchema
1122
+ });
1123
+ var paymentRequestNewRequestSchema = z16.object({
1124
+ requestId: z16.string(),
1125
+ signedAuthorization: z16.string(),
1126
+ completionInstructions: z16.array(newInstructionRequestSchema),
1127
+ instructions: z16.array(newInstructionRequestSchema)
1128
+ });
1129
+ var paymentRequestDetailsRequestSchema = z16.object({
1130
+ requestId: z16.string()
1131
+ });
1132
+ var paymentRequestDetailsResponseSchema = z16.object({
1133
+ requestId: z16.string(),
1134
+ ephemeralWalletAddress: hexStringSchema,
1135
+ ephemeralWalletId: z16.string().optional(),
1136
+ status: z16.enum(["pending", "inProgress", "paid", "cancelled", "draft"]),
1137
+ metadata: z16.record(z16.string(), z16.unknown())
1138
+ });
1139
+
1140
+ // src/api/schemas/transaction.ts
1141
+ import { z as z17 } from "zod";
1142
+ var transactionGetListRequestSchema = z17.object({
1143
+ address: hexStringSchema,
1144
+ chainId: z17.number(),
1145
+ instructionIds: z17.array(z17.string()).optional(),
1146
+ from: z17.string().optional(),
1147
+ to: z17.string().optional(),
1148
+ page: z17.number().optional(),
1149
+ perPage: z17.number().optional(),
1150
+ sort: z17.enum(sortValues).optional()
1151
+ });
1152
+ var transactionGetListResponseSchema = z17.array(transactionSchema);
1153
+
1154
+ // src/env.ts
1155
+ var BUILD_MODE = "development";
1156
+
1157
+ // src/helpers/logger.ts
1158
+ var Logger = class {
1159
+ constructor() {
1160
+ __publicField(this, "isDevelopment", BUILD_MODE === "development");
1161
+ }
1162
+ debug(message, options) {
1163
+ if (this.isDevelopment) {
1164
+ this.log("debug", message, options);
1165
+ }
1166
+ }
1167
+ info(message, options) {
1168
+ this.log("info", message, options);
1169
+ }
1170
+ warn(message, options) {
1171
+ this.log("warn", message, options);
1172
+ }
1173
+ error(message, options) {
1174
+ this.log("error", message, options);
1175
+ }
1176
+ /**
1177
+ * Log errors with context - useful for non-API errors
1178
+ * For API errors, use the existing getErrorMessage from @otim/utils/api
1179
+ */
1180
+ logError(error, options = {}) {
1181
+ const { context, operation, metadata } = options;
1182
+ const prefix = this.buildPrefix(context, operation);
1183
+ let message = "Unknown error";
1184
+ if (error instanceof Error) {
1185
+ message = error.message;
1186
+ } else if (typeof error === "string") {
1187
+ message = error;
1188
+ } else if (error && typeof error === "object" && "message" in error) {
1189
+ message = String(error.message);
1190
+ }
1191
+ console.error(prefix ? `${prefix} ${message}` : message);
1192
+ if (metadata && Object.keys(metadata).length > 0) {
1193
+ console.error("Context:", metadata);
1194
+ }
1195
+ if (error instanceof Error && error.stack) {
1196
+ console.error("Stack:", error.stack);
1197
+ } else {
1198
+ console.error("Error details:", error);
1199
+ }
1200
+ }
1201
+ buildPrefix(context, operation) {
1202
+ const parts = [];
1203
+ if (context) parts.push(`[${context}]`);
1204
+ if (operation) parts.push(`[${operation}]`);
1205
+ return parts.join(" ");
1206
+ }
1207
+ log(level, message, options) {
1208
+ const prefix = options?.context ? `[${options.context}]` : "";
1209
+ const fullMessage = `${prefix} ${message}`.trim();
1210
+ switch (level) {
1211
+ case "debug":
1212
+ case "info":
1213
+ console.log(fullMessage);
1214
+ break;
1215
+ case "warn":
1216
+ console.warn(fullMessage);
1217
+ break;
1218
+ case "error":
1219
+ console.error(fullMessage);
1220
+ break;
1221
+ }
1222
+ if (options?.data) {
1223
+ console.dir(options.data, { depth: null });
1224
+ }
1225
+ }
1226
+ };
1227
+ var logger = new Logger();
1228
+
1229
+ // src/helpers/zod.ts
1230
+ import { z as z18 } from "zod";
1231
+ var parseSchema = (values, schema) => {
1232
+ const inputValues = schema.safeParse(values);
1233
+ if (!inputValues.success) {
1234
+ throw new Error(
1235
+ `parseSchema: invalid input values ${JSON.stringify(inputValues.error)}`
1236
+ );
1237
+ }
1238
+ return inputValues.data;
1239
+ };
1240
+
1241
+ // src/api/utils/pagination.ts
1242
+ function calculateHasMore(items, requestedPageSize) {
1243
+ return items.length >= requestedPageSize;
1244
+ }
1245
+ function extractPaginationParams(request) {
1246
+ const { page, perPage, ...restParams } = request;
1247
+ return {
1248
+ paginationParams: { page, perPage },
1249
+ restParams
1250
+ };
1251
+ }
1252
+ function getDefaultPagination() {
1253
+ return {
1254
+ page: 0,
1255
+ perPage: 100
1256
+ };
1257
+ }
1258
+
1259
+ // src/api/services/base.ts
1260
+ var BaseService = class {
1261
+ constructor(instance) {
1262
+ this.instance = instance;
1263
+ }
1264
+ async makeRequest({
1265
+ url,
1266
+ method = HttpMethod.Get,
1267
+ data,
1268
+ schema,
1269
+ validateResponse,
1270
+ ...config
1271
+ }) {
1272
+ try {
1273
+ const res = await this.instance.request({ url, method, data, ...config });
1274
+ if (validateResponse && !validateResponse(res.data)) {
1275
+ throw new ServiceError("Invalid response format", "INVALID_RESPONSE");
1276
+ }
1277
+ const parsedData = schema ? parseSchema(res.data, schema) : res.data;
1278
+ return { data: parsedData };
1279
+ } catch (error) {
1280
+ if (error instanceof ServiceError) {
1281
+ throw error;
1282
+ }
1283
+ let errorMessage = "Unknown error";
1284
+ let errorCode;
1285
+ if (error && typeof error === "object" && "response" in error) {
1286
+ const axiosError = error;
1287
+ const responseData = axiosError.response?.data;
1288
+ errorMessage = responseData?.errorMessage || responseData?.message || errorMessage;
1289
+ errorCode = responseData?.errorCode;
1290
+ } else if (error instanceof Error) {
1291
+ errorMessage = error.message;
1292
+ }
1293
+ throw new ServiceError(errorMessage, errorCode || "REQUEST_FAILED");
1294
+ }
1295
+ }
1296
+ async makePaginatedRequest({
1297
+ url,
1298
+ method = HttpMethod.Get,
1299
+ data,
1300
+ schema,
1301
+ validateResponse,
1302
+ ...config
1303
+ }) {
1304
+ const { paginationParams, restParams } = extractPaginationParams(
1305
+ data || {}
1306
+ );
1307
+ const { page, perPage } = {
1308
+ ...getDefaultPagination(),
1309
+ ...paginationParams
1310
+ };
1311
+ const requestData = { ...restParams, page, perPage };
1312
+ const response = await this.makeRequest({
1313
+ url,
1314
+ method,
1315
+ data: requestData,
1316
+ schema,
1317
+ validateResponse,
1318
+ ...config
1319
+ });
1320
+ const hasMore = Array.isArray(response.data) ? calculateHasMore(response.data, perPage) : false;
1321
+ return {
1322
+ data: response.data,
1323
+ hasMore
1324
+ };
1325
+ }
1326
+ };
1327
+
1328
+ // src/api/services/account.ts
1329
+ var AccountService = class extends BaseService {
1330
+ async getDelegationStatus(requestBody) {
1331
+ const res = await this.makeRequest({
1332
+ url: "/delegation/status",
1333
+ method: HttpMethod.Get,
1334
+ data: requestBody,
1335
+ schema: delegationStatusResponseSchema
1336
+ });
1337
+ return res;
1338
+ }
1339
+ async createDelegation(requestBody) {
1340
+ await this.makeRequest({
1341
+ url: "/delegation/new",
1342
+ method: HttpMethod.Post,
1343
+ data: requestBody
1344
+ });
1345
+ return {
1346
+ data: { success: true, message: "Delegation created" }
1347
+ };
1348
+ }
1349
+ };
1350
+
1351
+ // src/api/services/activity.ts
1352
+ import { z as z19 } from "zod";
1353
+ var safeParseActivityArray = (data) => {
1354
+ if (!Array.isArray(data)) {
1355
+ return [];
1356
+ }
1357
+ const validRecords = [];
1358
+ data.forEach((record) => {
1359
+ const result = activityRecordSchema.safeParse(record);
1360
+ if (result.success) {
1361
+ validRecords.push(result.data);
1362
+ }
1363
+ });
1364
+ return validRecords;
1365
+ };
1366
+ var safeActivityArraySchema = z19.unknown().transform(safeParseActivityArray);
1367
+ var ActivityService = class extends BaseService {
1368
+ async getInstructionActivity(requestBody) {
1369
+ return this.makePaginatedRequest({
1370
+ url: "/instructions/activity",
1371
+ method: HttpMethod.Get,
1372
+ data: requestBody,
1373
+ schema: safeActivityArraySchema
1374
+ });
1375
+ }
1376
+ };
1377
+
1378
+ // src/api/services/auth.ts
1379
+ var AuthService = class extends BaseService {
1380
+ async login(requestBody) {
1381
+ const res = await this.makeRequest({
1382
+ url: "/auth/login",
1383
+ method: HttpMethod.Post,
1384
+ data: requestBody,
1385
+ schema: authLoginResponseSchema
1386
+ });
1387
+ return res;
1388
+ }
1389
+ async turnkeyVerification(requestBody) {
1390
+ const res = await this.makeRequest({
1391
+ url: "/turnkey/verification",
1392
+ method: HttpMethod.Post,
1393
+ data: requestBody,
1394
+ schema: turnkeyVerificationResponseSchema
1395
+ });
1396
+ return res;
1397
+ }
1398
+ async turnkeyLogin(requestBody) {
1399
+ const res = await this.makeRequest({
1400
+ url: "/turnkey/login",
1401
+ method: HttpMethod.Post,
1402
+ data: requestBody,
1403
+ schema: turnkeyLoginResponseSchema
1404
+ });
1405
+ return res;
1406
+ }
1407
+ async me() {
1408
+ const res = await this.makeRequest({
1409
+ url: "/auth/me",
1410
+ method: HttpMethod.Get,
1411
+ schema: userSchema
1412
+ });
1413
+ return res;
1414
+ }
1415
+ async updatePreferences(preferences) {
1416
+ const res = await this.makeRequest({
1417
+ url: "/user/preferences",
1418
+ method: HttpMethod.Put,
1419
+ data: { preferences }
1420
+ });
1421
+ return res;
1422
+ }
1423
+ };
1424
+
1425
+ // src/api/services/config.ts
1426
+ var ConfigService = class extends BaseService {
1427
+ async getDelegateAddress(requestBody) {
1428
+ const res = await this.makeRequest({
1429
+ url: `/config/delegate/address/${requestBody.chainId}`,
1430
+ method: HttpMethod.Get,
1431
+ schema: getDelegateAddressResponseSchema
1432
+ });
1433
+ return res;
1434
+ }
1435
+ async getConfigTokens({
1436
+ chainId
1437
+ }) {
1438
+ const res = await this.makeRequest({
1439
+ url: `/config/tokens/${chainId}`,
1440
+ method: HttpMethod.Get,
1441
+ schema: getConfigTokensResponseSchema
1442
+ });
1443
+ return res;
1444
+ }
1445
+ async getConfigChains() {
1446
+ const res = await this.makeRequest({
1447
+ url: `/config/chains`,
1448
+ method: HttpMethod.Get,
1449
+ schema: getConfigChainsResponseSchema
1450
+ });
1451
+ return res;
1452
+ }
1453
+ async getMaxPriorityFeePerGasEstimate(requestBody) {
1454
+ const res = await this.makeRequest({
1455
+ url: `/instruction/estimate/max_priority_fee_per_gas/${requestBody.chainId}`,
1456
+ method: HttpMethod.Get,
1457
+ schema: getMaxPriorityFeePerGasEstimateResponseSchema
1458
+ });
1459
+ return res;
1460
+ }
1461
+ };
1462
+
1463
+ // src/api/services/contacts.ts
1464
+ var ContactsService = class extends BaseService {
1465
+ async create(request) {
1466
+ const validated = newContactRequestSchema.parse(request);
1467
+ return this.makeRequest({
1468
+ url: "/contacts",
1469
+ method: HttpMethod.Put,
1470
+ data: validated
1471
+ });
1472
+ }
1473
+ async list(request) {
1474
+ const validated = getContactsRequestSchema.parse(request);
1475
+ return this.makePaginatedRequest({
1476
+ url: "/contacts",
1477
+ method: HttpMethod.Get,
1478
+ data: validated,
1479
+ schema: getContactsResponseSchema
1480
+ });
1481
+ }
1482
+ };
1483
+
1484
+ // src/api/services/developer.ts
1485
+ var DeveloperService = class extends BaseService {
1486
+ async updatePublicKey(developerPublicKey) {
1487
+ return this.makeRequest({
1488
+ url: "/developer/public_key",
1489
+ method: HttpMethod.Put,
1490
+ data: { developerPublicKey }
1491
+ });
1492
+ }
1493
+ async generateApiKey() {
1494
+ return this.makeRequest({
1495
+ url: "/developer/api_key",
1496
+ method: HttpMethod.Post
1497
+ });
1498
+ }
1499
+ };
1500
+
1501
+ // src/api/services/instruction.ts
1502
+ var InstructionService = class extends BaseService {
1503
+ async all(requestBody) {
1504
+ return this.makePaginatedRequest({
1505
+ url: "/instructions/all",
1506
+ method: HttpMethod.Get,
1507
+ data: requestBody,
1508
+ schema: instructionsSchema
1509
+ });
1510
+ }
1511
+ async build(requestBody) {
1512
+ const res = await this.makeRequest({
1513
+ url: "/instruction/build",
1514
+ method: HttpMethod.Post,
1515
+ data: requestBody,
1516
+ schema: instructionBuildSchema
1517
+ });
1518
+ return res;
1519
+ }
1520
+ async activate(requestBody) {
1521
+ const res = await this.makeRequest({
1522
+ url: "/instruction/new",
1523
+ method: HttpMethod.Post,
1524
+ data: requestBody,
1525
+ schema: instructionActivateResponseSchema
1526
+ });
1527
+ return res;
1528
+ }
1529
+ async deactivate(requestBody) {
1530
+ const res = await this.makeRequest({
1531
+ url: "/instruction/deactivate",
1532
+ method: HttpMethod.Post,
1533
+ data: requestBody,
1534
+ schema: instructionDeactivateResponseSchema
1535
+ });
1536
+ return res;
1537
+ }
1538
+ async details(requestBody) {
1539
+ const res = await this.makeRequest({
1540
+ url: "/instruction/details",
1541
+ method: HttpMethod.Get,
1542
+ data: requestBody,
1543
+ schema: instructionDetailsResponseSchema
1544
+ });
1545
+ return res;
1546
+ }
1547
+ async rules(requestBody) {
1548
+ return this.makePaginatedRequest({
1549
+ url: "/instructions/rules",
1550
+ method: HttpMethod.Get,
1551
+ data: requestBody,
1552
+ schema: instructionGetRulesResponseSchema
1553
+ });
1554
+ }
1555
+ };
1556
+
1557
+ // src/api/services/transaction.ts
1558
+ var TransactionService = class extends BaseService {
1559
+ async list(requestBody) {
1560
+ return this.makePaginatedRequest({
1561
+ url: "/transactions",
1562
+ method: HttpMethod.Get,
1563
+ data: requestBody,
1564
+ schema: transactionGetListResponseSchema
1565
+ });
1566
+ }
1567
+ };
1568
+
1569
+ // src/api/services/payments.ts
1570
+ var PaymentsService = class extends BaseService {
1571
+ async getOutgoingPaymentsList(request) {
1572
+ return this.makePaginatedRequest({
1573
+ url: "/api/payments/outgoing",
1574
+ method: HttpMethod.Get,
1575
+ data: request,
1576
+ schema: PaymentsSchema
1577
+ });
1578
+ }
1579
+ async getIncomingPaymentsList(request) {
1580
+ return this.makePaginatedRequest({
1581
+ url: "/api/payments/incoming",
1582
+ method: HttpMethod.Get,
1583
+ data: request,
1584
+ schema: PaymentsSchema
1585
+ });
1586
+ }
1587
+ async buildPaymentRequest(requestBody) {
1588
+ return this.makeRequest({
1589
+ url: "/payment/request/build",
1590
+ method: HttpMethod.Post,
1591
+ data: requestBody,
1592
+ schema: paymentRequestBuildResponseSchema
1593
+ });
1594
+ }
1595
+ async newPaymentRequest(requestBody) {
1596
+ return this.makeRequest({
1597
+ url: "/payment/request/new",
1598
+ method: HttpMethod.Post,
1599
+ data: requestBody,
1600
+ validateResponse: () => true
1601
+ });
1602
+ }
1603
+ async getPaymentRequestDetails(requestBody) {
1604
+ return this.makeRequest({
1605
+ url: "/payment/request/details",
1606
+ method: HttpMethod.Get,
1607
+ data: requestBody,
1608
+ schema: paymentRequestDetailsResponseSchema
1609
+ });
1610
+ }
1611
+ async getPaymentRequests(request) {
1612
+ return this.makePaginatedRequest({
1613
+ url: "/payment/requests",
1614
+ method: HttpMethod.Get,
1615
+ data: request,
1616
+ schema: getPaymentRequestsResponseSchema
1617
+ });
1618
+ }
1619
+ };
1620
+
1621
+ // src/api/services/integration.ts
1622
+ import axios2 from "axios";
1623
+ function createEmptyIntegrationResponse(integrationType) {
1624
+ switch (integrationType) {
1625
+ case IntegrationType.QuickBooks:
1626
+ return { integrationType: IntegrationType.QuickBooks, details: {} };
1627
+ case IntegrationType.Bank:
1628
+ return { integrationType: IntegrationType.Bank, details: {} };
1629
+ case IntegrationType.Clio:
1630
+ return { integrationType: IntegrationType.Clio, details: {} };
1631
+ case IntegrationType.Stripe:
1632
+ return { integrationType: IntegrationType.Stripe, details: {} };
1633
+ case IntegrationType.Bill:
1634
+ return { integrationType: IntegrationType.Bill, details: {} };
1635
+ case IntegrationType.Zoho:
1636
+ return { integrationType: IntegrationType.Zoho, details: {} };
1637
+ default:
1638
+ return { integrationType: IntegrationType.Bank, details: {} };
1639
+ }
1640
+ }
1641
+ var IntegrationService = class extends BaseService {
1642
+ async upsert(request) {
1643
+ return this.makeRequest({
1644
+ url: "/integration",
1645
+ method: HttpMethod.Put,
1646
+ data: request,
1647
+ schema: integrationResponseSchema
1648
+ });
1649
+ }
1650
+ async get(request) {
1651
+ try {
1652
+ return await this.makeRequest(
1653
+ {
1654
+ url: "/integration/get",
1655
+ method: HttpMethod.Post,
1656
+ data: request,
1657
+ schema: integrationResponseSchema
1658
+ }
1659
+ );
1660
+ } catch (error) {
1661
+ if (axios2.isAxiosError(error) && error.response?.status === 404) {
1662
+ const defaultResponse = createEmptyIntegrationResponse(
1663
+ request.integrationType
1664
+ );
1665
+ return { data: defaultResponse };
1666
+ }
1667
+ throw error;
1668
+ }
1669
+ }
1670
+ };
1671
+
1672
+ // src/api/services/operating-account.ts
1673
+ var OperatingAccountService = class extends BaseService {
1674
+ async createSubOrganization() {
1675
+ const res = await this.makeRequest({
1676
+ url: "/operating_accounts/sub_organization/new",
1677
+ method: HttpMethod.Post,
1678
+ schema: newOperatingAccountSubOrgResponseSchema
1679
+ });
1680
+ return res;
1681
+ }
1682
+ async getSubOrganization() {
1683
+ const res = await this.makeRequest({
1684
+ url: "/operating_accounts/sub_organization",
1685
+ method: HttpMethod.Get,
1686
+ schema: getOperatingAccountSubOrgResponseSchema
1687
+ });
1688
+ return res;
1689
+ }
1690
+ };
1691
+
1692
+ // src/api/services/uniswap-token-list-service.ts
1693
+ var UniswapTokenListService = class extends BaseService {
1694
+ constructor() {
1695
+ super(...arguments);
1696
+ __publicField(this, "UNISWAP_TOKEN_LIST_URL", "https://ipfs.io/ipns/tokens.uniswap.org");
1697
+ __publicField(this, "FALLBACK_URL", "https://tokens.uniswap.org/");
1698
+ __publicField(this, "CACHE_DURATION", 30 * 60 * 1e3);
1699
+ // 30 minutes
1700
+ __publicField(this, "SUPPORTED_CHAIN_IDS", [1, 10, 42161, 8453]);
1701
+ // mainnet, optimism, arbitrum, base
1702
+ __publicField(this, "tokenListCache", null);
1703
+ __publicField(this, "lastFetch", 0);
1704
+ }
1705
+ /**
1706
+ * Get tokens for a specific chain
1707
+ */
1708
+ async getTokensForChain({
1709
+ chainId,
1710
+ limit = 50
1711
+ }) {
1712
+ try {
1713
+ const tokenList = await this.fetchTokenList();
1714
+ if (!this.SUPPORTED_CHAIN_IDS.includes(chainId)) {
1715
+ return {
1716
+ data: {
1717
+ tokens: [],
1718
+ source: "uniswap",
1719
+ timestamp: tokenList.timestamp
1720
+ }
1721
+ };
1722
+ }
1723
+ const chainTokens = tokenList.tokens.filter(
1724
+ (token) => token.chainId === chainId
1725
+ );
1726
+ const filteredTokens = chainTokens.filter((token) => {
1727
+ const suspiciousPatterns = [
1728
+ /test/i,
1729
+ /fake/i,
1730
+ /scam/i,
1731
+ /shit/i,
1732
+ /moon/i,
1733
+ /doge/i,
1734
+ /inu/i,
1735
+ /baby/i,
1736
+ /mini/i,
1737
+ /micro/i,
1738
+ /nano/i,
1739
+ /pico/i,
1740
+ /mega/i,
1741
+ /ultra/i,
1742
+ /super/i,
1743
+ /hyper/i,
1744
+ /meta/i,
1745
+ /safe/i,
1746
+ /new/i,
1747
+ /old/i,
1748
+ /v2/i,
1749
+ /v3/i,
1750
+ /v4/i,
1751
+ /v5/i,
1752
+ /2\.0/i,
1753
+ /3\.0/i,
1754
+ /4\.0/i,
1755
+ /5\.0/i
1756
+ ];
1757
+ const name = token.name?.toLowerCase() || "";
1758
+ const symbol = token.symbol?.toLowerCase() || "";
1759
+ if (suspiciousPatterns.some(
1760
+ (pattern) => pattern.test(name) || pattern.test(symbol)
1761
+ )) {
1762
+ return false;
1763
+ }
1764
+ if (name.length < 2 || name.length > 50) return false;
1765
+ if (symbol.length < 2 || symbol.length > 20) return false;
1766
+ if (!token.name || !token.symbol || !token.address) return false;
1767
+ return true;
1768
+ });
1769
+ const limitedTokens = filteredTokens.slice(0, limit);
1770
+ return {
1771
+ data: {
1772
+ tokens: limitedTokens,
1773
+ source: "uniswap",
1774
+ timestamp: tokenList.timestamp
1775
+ }
1776
+ };
1777
+ } catch (error) {
1778
+ throw new Error(error instanceof Error ? error.message : "Unknown error");
1779
+ }
1780
+ }
1781
+ /**
1782
+ * Get all supported chains from the token list
1783
+ */
1784
+ async getSupportedChains() {
1785
+ try {
1786
+ const tokenList = await this.fetchTokenList();
1787
+ const chainIds = Array.from(
1788
+ new Set(tokenList.tokens.map((token) => token.chainId))
1789
+ ).sort((a, b) => a - b);
1790
+ return {
1791
+ data: chainIds
1792
+ };
1793
+ } catch (error) {
1794
+ throw new Error(error instanceof Error ? error.message : "Unknown error");
1795
+ }
1796
+ }
1797
+ /**
1798
+ * Search for a specific token by address or symbol
1799
+ */
1800
+ async findToken(chainId, query) {
1801
+ try {
1802
+ const tokenList = await this.fetchTokenList();
1803
+ const token = tokenList.tokens.find(
1804
+ (t) => t.chainId === chainId && (t.address.toLowerCase() === query.toLowerCase() || t.symbol.toLowerCase() === query.toLowerCase() || t.name.toLowerCase().includes(query.toLowerCase()))
1805
+ );
1806
+ return {
1807
+ data: token || null
1808
+ };
1809
+ } catch (error) {
1810
+ throw new Error(error instanceof Error ? error.message : "Unknown error");
1811
+ }
1812
+ }
1813
+ /**
1814
+ * Get bridge information for a token
1815
+ */
1816
+ async getBridgeInfo(chainId, tokenAddress) {
1817
+ try {
1818
+ const tokenList = await this.fetchTokenList();
1819
+ const token = tokenList.tokens.find(
1820
+ (t) => t.chainId === chainId && t.address.toLowerCase() === tokenAddress.toLowerCase()
1821
+ );
1822
+ if (!token || !token.extensions?.bridgeInfo) {
1823
+ return {
1824
+ data: {}
1825
+ };
1826
+ }
1827
+ const bridgeInfo = {};
1828
+ for (const [targetChainId, info] of Object.entries(
1829
+ token.extensions.bridgeInfo
1830
+ )) {
1831
+ bridgeInfo[targetChainId] = info.tokenAddress;
1832
+ }
1833
+ return {
1834
+ data: bridgeInfo
1835
+ };
1836
+ } catch (error) {
1837
+ throw new Error(error instanceof Error ? error.message : "Unknown error");
1838
+ }
1839
+ }
1840
+ /**
1841
+ * Fetch the Uniswap token list
1842
+ */
1843
+ async fetchTokenList() {
1844
+ const now = Date.now();
1845
+ if (this.tokenListCache && now - this.lastFetch < this.CACHE_DURATION) {
1846
+ return this.tokenListCache;
1847
+ }
1848
+ try {
1849
+ const response = await fetch(this.UNISWAP_TOKEN_LIST_URL, {
1850
+ headers: {
1851
+ Accept: "application/json"
1852
+ }
1853
+ });
1854
+ if (!response.ok) {
1855
+ throw new Error(`IPFS fetch failed: ${response.status}`);
1856
+ }
1857
+ const data = await response.json();
1858
+ this.tokenListCache = data;
1859
+ this.lastFetch = now;
1860
+ return data;
1861
+ } catch (error) {
1862
+ logger.logError(error, {
1863
+ context: this.fetchTokenList.name
1864
+ });
1865
+ try {
1866
+ const response = await fetch(this.FALLBACK_URL, {
1867
+ headers: {
1868
+ Accept: "application/json"
1869
+ }
1870
+ });
1871
+ if (!response.ok) {
1872
+ throw new Error(`Fallback fetch failed: ${response.status}`);
1873
+ }
1874
+ const data = await response.json();
1875
+ this.tokenListCache = data;
1876
+ this.lastFetch = now;
1877
+ return data;
1878
+ } catch (fallbackError) {
1879
+ logger.logError(fallbackError, {
1880
+ context: this.fetchTokenList.name
1881
+ });
1882
+ throw new Error("Unable to fetch Uniswap token list");
1883
+ }
1884
+ }
1885
+ }
1886
+ };
1887
+
1888
+ // src/api/api.ts
1889
+ var APIClient = class {
1890
+ constructor(init) {
1891
+ __publicField(this, "account");
1892
+ __publicField(this, "activity");
1893
+ __publicField(this, "auth");
1894
+ __publicField(this, "operatingAccount");
1895
+ __publicField(this, "config");
1896
+ __publicField(this, "contacts");
1897
+ __publicField(this, "developer");
1898
+ __publicField(this, "instruction");
1899
+ __publicField(this, "transaction");
1900
+ __publicField(this, "payments");
1901
+ __publicField(this, "integration");
1902
+ const instance = isInstanceInit(init) ? init.instance : createInstance(init);
1903
+ this.account = new AccountService(instance);
1904
+ this.activity = new ActivityService(instance);
1905
+ this.auth = new AuthService(instance);
1906
+ this.config = new ConfigService(instance);
1907
+ this.contacts = new ContactsService(instance);
1908
+ this.developer = new DeveloperService(instance);
1909
+ this.instruction = new InstructionService(instance);
1910
+ this.integration = new IntegrationService(instance);
1911
+ this.transaction = new TransactionService(instance);
1912
+ this.operatingAccount = new OperatingAccountService(instance);
1913
+ this.payments = new PaymentsService(instance);
1914
+ }
1915
+ };
1916
+ var createAPIClient = (...params) => {
1917
+ return new APIClient(...params);
1918
+ };
1919
+ export {
1920
+ APIClient,
1921
+ AccountService,
1922
+ ActivityService,
1923
+ AuthService,
1924
+ ConfigService,
1925
+ ContactsService,
1926
+ DelegationStatus,
1927
+ DeveloperService,
1928
+ HttpMethod,
1929
+ InstructionService,
1930
+ IntegrationService,
1931
+ IntegrationType,
1932
+ OperatingAccountService,
1933
+ PaymentsService,
1934
+ ServiceError,
1935
+ TransactionService,
1936
+ UniswapTokenListService,
1937
+ actionArgumentsResponseSchema,
1938
+ actionArgumentsSchema,
1939
+ actionNameSchema,
1940
+ activityDataSchema,
1941
+ activityRecordSchema,
1942
+ addressWhitelistCheckRequestSchema,
1943
+ addressWhitelistCheckResponseSchema,
1944
+ apiErrorSchema,
1945
+ attestationSchema,
1946
+ authLoginRequestSchema,
1947
+ authLoginResponseSchema,
1948
+ buildEphemeralInstructionSchema,
1949
+ calculateHasMore,
1950
+ chainIdSchema,
1951
+ chainSuccessResponseSchema,
1952
+ contactSchema,
1953
+ createAPIClient,
1954
+ createAbortController,
1955
+ createInstance,
1956
+ delegationCreateRequestSchema,
1957
+ delegationCreateResponseSchema,
1958
+ delegationStatusRequestSchema,
1959
+ delegationStatusResponseSchema,
1960
+ delegationStatusSchema,
1961
+ delegationStatusValues,
1962
+ errorResponseSchema,
1963
+ extractPaginationParams,
1964
+ feeResponseSchema2 as feeResponseSchema,
1965
+ getConfigChainsResponseSchema,
1966
+ getConfigTokensRequestParametersSchema,
1967
+ getConfigTokensResponseSchema,
1968
+ getContactsRequestSchema,
1969
+ getContactsResponseSchema,
1970
+ getCurrentUserResponseSchema,
1971
+ getDefaultPagination,
1972
+ getDelegateAddressResponseSchema,
1973
+ getDelegateAddressSchema,
1974
+ getErrorMessage,
1975
+ getErrorMessageWithCode,
1976
+ getInstructionActivityRequestSchema,
1977
+ getInstructionActivityResponseSchema,
1978
+ getIntegrationRequestSchema,
1979
+ getMaxPriorityFeePerGasEstimateResponseSchema,
1980
+ getMaxPriorityFeePerGasEstimateSchema,
1981
+ getOperatingAccountSubOrgResponseSchema,
1982
+ getPaymentRequestsRequestSchema,
1983
+ getPaymentRequestsResponseSchema,
1984
+ getUserFriendlyErrorMessage,
1985
+ instructionActivateRequestSchema,
1986
+ instructionActivateResponseSchema,
1987
+ instructionBuildRequestSchema,
1988
+ instructionBuildSchema,
1989
+ instructionDeactivateRequestSchema,
1990
+ instructionDeactivateResponseSchema,
1991
+ instructionDetailsRequestSchema,
1992
+ instructionDetailsResponseSchema,
1993
+ instructionGetAllRequestSchema,
1994
+ instructionGetAllResponseSchema,
1995
+ instructionGetRulesRequestSchema,
1996
+ instructionGetRulesResponseSchema,
1997
+ integrationResponseSchema,
1998
+ integrationTypeSchema,
1999
+ integrationTypeValues,
2000
+ isInstanceInit,
2001
+ isTechnicalError,
2002
+ isUserAddressableError,
2003
+ isUserRejectionError,
2004
+ meResponseSchema,
2005
+ newContactRequestSchema,
2006
+ newInstructionRequestSchema,
2007
+ newOperatingAccountSubOrgResponseSchema,
2008
+ paymentRequestBuildRequestSchema,
2009
+ paymentRequestBuildResponseSchema,
2010
+ paymentRequestDetailsRequestSchema,
2011
+ paymentRequestDetailsResponseSchema,
2012
+ paymentRequestNewRequestSchema,
2013
+ paymentRequestSchema,
2014
+ paymentRequestStatusSchema,
2015
+ paymentRequestsDirectionSchema,
2016
+ sessionTokenRequestSchema,
2017
+ sessionTokenResponseSchema,
2018
+ sessionVerifyResponseSchema,
2019
+ setChainIdSchema,
2020
+ transactionGetListRequestSchema,
2021
+ transactionGetListResponseSchema,
2022
+ turnkeyLoginRequestSchema,
2023
+ turnkeyLoginResponseSchema,
2024
+ turnkeyVerificationRequestSchema,
2025
+ turnkeyVerificationResponseSchema,
2026
+ updateIntegrationRequestSchema,
2027
+ whitelistCheckRequestSchema,
2028
+ whitelistCheckResponseSchema
2029
+ };
2030
+ //# sourceMappingURL=index.mjs.map