@otim/utils 0.0.5 → 0.0.7

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