@ordanetwork/sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +315 -0
  3. package/dist/browser/api/OffRampAPI.d.ts +45 -0
  4. package/dist/browser/api/OffRampAPI.d.ts.map +1 -0
  5. package/dist/browser/api/OffRampAPI.js +73 -0
  6. package/dist/browser/api/OffRampAPI.js.map +1 -0
  7. package/dist/browser/api/OnRampAPI.d.ts +42 -0
  8. package/dist/browser/api/OnRampAPI.d.ts.map +1 -0
  9. package/dist/browser/api/OnRampAPI.js +73 -0
  10. package/dist/browser/api/OnRampAPI.js.map +1 -0
  11. package/dist/browser/api/QuoteAPI.d.ts +16 -0
  12. package/dist/browser/api/QuoteAPI.d.ts.map +1 -0
  13. package/dist/browser/api/QuoteAPI.js +17 -0
  14. package/dist/browser/api/QuoteAPI.js.map +1 -0
  15. package/dist/browser/api/RecipientAPI.d.ts +25 -0
  16. package/dist/browser/api/RecipientAPI.d.ts.map +1 -0
  17. package/dist/browser/api/RecipientAPI.js +30 -0
  18. package/dist/browser/api/RecipientAPI.js.map +1 -0
  19. package/dist/browser/api/TransactionAPI.d.ts +35 -0
  20. package/dist/browser/api/TransactionAPI.d.ts.map +1 -0
  21. package/dist/browser/api/TransactionAPI.js +72 -0
  22. package/dist/browser/api/TransactionAPI.js.map +1 -0
  23. package/dist/browser/auth/hmac.d.ts +24 -0
  24. package/dist/browser/auth/hmac.d.ts.map +1 -0
  25. package/dist/browser/auth/hmac.js +70 -0
  26. package/dist/browser/auth/hmac.js.map +1 -0
  27. package/dist/browser/crypto/factory.d.ts +7 -0
  28. package/dist/browser/crypto/factory.d.ts.map +1 -0
  29. package/dist/browser/crypto/factory.js +18 -0
  30. package/dist/browser/crypto/factory.js.map +1 -0
  31. package/dist/browser/crypto/node-crypto.d.ts +10 -0
  32. package/dist/browser/crypto/node-crypto.d.ts.map +1 -0
  33. package/dist/browser/crypto/node-crypto.js +28 -0
  34. package/dist/browser/crypto/node-crypto.js.map +1 -0
  35. package/dist/browser/crypto/types.d.ts +13 -0
  36. package/dist/browser/crypto/types.d.ts.map +1 -0
  37. package/dist/browser/crypto/types.js +2 -0
  38. package/dist/browser/crypto/types.js.map +1 -0
  39. package/dist/browser/crypto/web-crypto.d.ts +8 -0
  40. package/dist/browser/crypto/web-crypto.d.ts.map +1 -0
  41. package/dist/browser/crypto/web-crypto.js +17 -0
  42. package/dist/browser/crypto/web-crypto.js.map +1 -0
  43. package/dist/browser/errors/index.d.ts +38 -0
  44. package/dist/browser/errors/index.d.ts.map +1 -0
  45. package/dist/browser/errors/index.js +72 -0
  46. package/dist/browser/errors/index.js.map +1 -0
  47. package/dist/browser/http/client.d.ts +50 -0
  48. package/dist/browser/http/client.d.ts.map +1 -0
  49. package/dist/browser/http/client.js +153 -0
  50. package/dist/browser/http/client.js.map +1 -0
  51. package/dist/browser/index.d.ts +59 -0
  52. package/dist/browser/index.d.ts.map +1 -0
  53. package/dist/browser/index.js +78 -0
  54. package/dist/browser/index.js.map +1 -0
  55. package/dist/browser/smart-wallets/LocalSigner.d.ts +19 -0
  56. package/dist/browser/smart-wallets/LocalSigner.d.ts.map +1 -0
  57. package/dist/browser/smart-wallets/LocalSigner.js +57 -0
  58. package/dist/browser/smart-wallets/LocalSigner.js.map +1 -0
  59. package/dist/browser/smart-wallets/SmartWalletClient.d.ts +19 -0
  60. package/dist/browser/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  61. package/dist/browser/smart-wallets/SmartWalletClient.js +180 -0
  62. package/dist/browser/smart-wallets/SmartWalletClient.js.map +1 -0
  63. package/dist/browser/smart-wallets/SmartWalletManager.d.ts +17 -0
  64. package/dist/browser/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  65. package/dist/browser/smart-wallets/SmartWalletManager.js +59 -0
  66. package/dist/browser/smart-wallets/SmartWalletManager.js.map +1 -0
  67. package/dist/browser/smart-wallets/chains.d.ts +11 -0
  68. package/dist/browser/smart-wallets/chains.d.ts.map +1 -0
  69. package/dist/browser/smart-wallets/chains.js +30 -0
  70. package/dist/browser/smart-wallets/chains.js.map +1 -0
  71. package/dist/browser/smart-wallets/errors.d.ts +23 -0
  72. package/dist/browser/smart-wallets/errors.d.ts.map +1 -0
  73. package/dist/browser/smart-wallets/errors.js +44 -0
  74. package/dist/browser/smart-wallets/errors.js.map +1 -0
  75. package/dist/browser/smart-wallets/index.d.ts +11 -0
  76. package/dist/browser/smart-wallets/index.d.ts.map +1 -0
  77. package/dist/browser/smart-wallets/index.js +13 -0
  78. package/dist/browser/smart-wallets/index.js.map +1 -0
  79. package/dist/browser/smart-wallets/types.d.ts +47 -0
  80. package/dist/browser/smart-wallets/types.d.ts.map +1 -0
  81. package/dist/browser/smart-wallets/types.js +2 -0
  82. package/dist/browser/smart-wallets/types.js.map +1 -0
  83. package/dist/browser/smart-wallets/utils.d.ts +22 -0
  84. package/dist/browser/smart-wallets/utils.d.ts.map +1 -0
  85. package/dist/browser/smart-wallets/utils.js +57 -0
  86. package/dist/browser/smart-wallets/utils.js.map +1 -0
  87. package/dist/browser/types/index.d.ts +170 -0
  88. package/dist/browser/types/index.d.ts.map +1 -0
  89. package/dist/browser/types/index.js +10 -0
  90. package/dist/browser/types/index.js.map +1 -0
  91. package/dist/browser/types/offramp.d.ts +55 -0
  92. package/dist/browser/types/offramp.d.ts.map +1 -0
  93. package/dist/browser/types/offramp.js +2 -0
  94. package/dist/browser/types/offramp.js.map +1 -0
  95. package/dist/browser/types/onramp.d.ts +54 -0
  96. package/dist/browser/types/onramp.d.ts.map +1 -0
  97. package/dist/browser/types/onramp.js +2 -0
  98. package/dist/browser/types/onramp.js.map +1 -0
  99. package/dist/cjs/api/OffRampAPI.d.ts +45 -0
  100. package/dist/cjs/api/OffRampAPI.d.ts.map +1 -0
  101. package/dist/cjs/api/OffRampAPI.js +77 -0
  102. package/dist/cjs/api/OffRampAPI.js.map +1 -0
  103. package/dist/cjs/api/OnRampAPI.d.ts +42 -0
  104. package/dist/cjs/api/OnRampAPI.d.ts.map +1 -0
  105. package/dist/cjs/api/OnRampAPI.js +77 -0
  106. package/dist/cjs/api/OnRampAPI.js.map +1 -0
  107. package/dist/cjs/api/QuoteAPI.d.ts +16 -0
  108. package/dist/cjs/api/QuoteAPI.d.ts.map +1 -0
  109. package/dist/cjs/api/QuoteAPI.js +21 -0
  110. package/dist/cjs/api/QuoteAPI.js.map +1 -0
  111. package/dist/cjs/api/RecipientAPI.d.ts +25 -0
  112. package/dist/cjs/api/RecipientAPI.d.ts.map +1 -0
  113. package/dist/cjs/api/RecipientAPI.js +34 -0
  114. package/dist/cjs/api/RecipientAPI.js.map +1 -0
  115. package/dist/cjs/api/TransactionAPI.d.ts +35 -0
  116. package/dist/cjs/api/TransactionAPI.d.ts.map +1 -0
  117. package/dist/cjs/api/TransactionAPI.js +76 -0
  118. package/dist/cjs/api/TransactionAPI.js.map +1 -0
  119. package/dist/cjs/auth/hmac.d.ts +24 -0
  120. package/dist/cjs/auth/hmac.d.ts.map +1 -0
  121. package/dist/cjs/auth/hmac.js +74 -0
  122. package/dist/cjs/auth/hmac.js.map +1 -0
  123. package/dist/cjs/crypto/factory.d.ts +7 -0
  124. package/dist/cjs/crypto/factory.d.ts.map +1 -0
  125. package/dist/cjs/crypto/factory.js +21 -0
  126. package/dist/cjs/crypto/factory.js.map +1 -0
  127. package/dist/cjs/crypto/node-crypto.d.ts +10 -0
  128. package/dist/cjs/crypto/node-crypto.d.ts.map +1 -0
  129. package/dist/cjs/crypto/node-crypto.js +65 -0
  130. package/dist/cjs/crypto/node-crypto.js.map +1 -0
  131. package/dist/cjs/crypto/types.d.ts +13 -0
  132. package/dist/cjs/crypto/types.d.ts.map +1 -0
  133. package/dist/cjs/crypto/types.js +3 -0
  134. package/dist/cjs/crypto/types.js.map +1 -0
  135. package/dist/cjs/crypto/web-crypto.d.ts +8 -0
  136. package/dist/cjs/crypto/web-crypto.d.ts.map +1 -0
  137. package/dist/cjs/crypto/web-crypto.js +21 -0
  138. package/dist/cjs/crypto/web-crypto.js.map +1 -0
  139. package/dist/cjs/errors/index.d.ts +38 -0
  140. package/dist/cjs/errors/index.d.ts.map +1 -0
  141. package/dist/cjs/errors/index.js +85 -0
  142. package/dist/cjs/errors/index.js.map +1 -0
  143. package/dist/cjs/http/client.d.ts +50 -0
  144. package/dist/cjs/http/client.d.ts.map +1 -0
  145. package/dist/cjs/http/client.js +157 -0
  146. package/dist/cjs/http/client.js.map +1 -0
  147. package/dist/cjs/index.d.ts +59 -0
  148. package/dist/cjs/index.d.ts.map +1 -0
  149. package/dist/cjs/index.js +112 -0
  150. package/dist/cjs/index.js.map +1 -0
  151. package/dist/cjs/package.json +1 -0
  152. package/dist/cjs/smart-wallets/LocalSigner.d.ts +19 -0
  153. package/dist/cjs/smart-wallets/LocalSigner.d.ts.map +1 -0
  154. package/dist/cjs/smart-wallets/LocalSigner.js +61 -0
  155. package/dist/cjs/smart-wallets/LocalSigner.js.map +1 -0
  156. package/dist/cjs/smart-wallets/SmartWalletClient.d.ts +19 -0
  157. package/dist/cjs/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  158. package/dist/cjs/smart-wallets/SmartWalletClient.js +184 -0
  159. package/dist/cjs/smart-wallets/SmartWalletClient.js.map +1 -0
  160. package/dist/cjs/smart-wallets/SmartWalletManager.d.ts +17 -0
  161. package/dist/cjs/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  162. package/dist/cjs/smart-wallets/SmartWalletManager.js +63 -0
  163. package/dist/cjs/smart-wallets/SmartWalletManager.js.map +1 -0
  164. package/dist/cjs/smart-wallets/chains.d.ts +11 -0
  165. package/dist/cjs/smart-wallets/chains.d.ts.map +1 -0
  166. package/dist/cjs/smart-wallets/chains.js +36 -0
  167. package/dist/cjs/smart-wallets/chains.js.map +1 -0
  168. package/dist/cjs/smart-wallets/errors.d.ts +23 -0
  169. package/dist/cjs/smart-wallets/errors.d.ts.map +1 -0
  170. package/dist/cjs/smart-wallets/errors.js +54 -0
  171. package/dist/cjs/smart-wallets/errors.js.map +1 -0
  172. package/dist/cjs/smart-wallets/index.d.ts +11 -0
  173. package/dist/cjs/smart-wallets/index.d.ts.map +1 -0
  174. package/dist/cjs/smart-wallets/index.js +36 -0
  175. package/dist/cjs/smart-wallets/index.js.map +1 -0
  176. package/dist/cjs/smart-wallets/types.d.ts +47 -0
  177. package/dist/cjs/smart-wallets/types.d.ts.map +1 -0
  178. package/dist/cjs/smart-wallets/types.js +3 -0
  179. package/dist/cjs/smart-wallets/types.js.map +1 -0
  180. package/dist/cjs/smart-wallets/utils.d.ts +22 -0
  181. package/dist/cjs/smart-wallets/utils.d.ts.map +1 -0
  182. package/dist/cjs/smart-wallets/utils.js +64 -0
  183. package/dist/cjs/smart-wallets/utils.js.map +1 -0
  184. package/dist/cjs/types/index.d.ts +170 -0
  185. package/dist/cjs/types/index.d.ts.map +1 -0
  186. package/dist/cjs/types/index.js +13 -0
  187. package/dist/cjs/types/index.js.map +1 -0
  188. package/dist/cjs/types/offramp.d.ts +55 -0
  189. package/dist/cjs/types/offramp.d.ts.map +1 -0
  190. package/dist/cjs/types/offramp.js +3 -0
  191. package/dist/cjs/types/offramp.js.map +1 -0
  192. package/dist/cjs/types/onramp.d.ts +54 -0
  193. package/dist/cjs/types/onramp.d.ts.map +1 -0
  194. package/dist/cjs/types/onramp.js +3 -0
  195. package/dist/cjs/types/onramp.js.map +1 -0
  196. package/dist/esm/api/OffRampAPI.d.ts +45 -0
  197. package/dist/esm/api/OffRampAPI.d.ts.map +1 -0
  198. package/dist/esm/api/OffRampAPI.js +73 -0
  199. package/dist/esm/api/OffRampAPI.js.map +1 -0
  200. package/dist/esm/api/OnRampAPI.d.ts +42 -0
  201. package/dist/esm/api/OnRampAPI.d.ts.map +1 -0
  202. package/dist/esm/api/OnRampAPI.js +73 -0
  203. package/dist/esm/api/OnRampAPI.js.map +1 -0
  204. package/dist/esm/api/QuoteAPI.d.ts +16 -0
  205. package/dist/esm/api/QuoteAPI.d.ts.map +1 -0
  206. package/dist/esm/api/QuoteAPI.js +17 -0
  207. package/dist/esm/api/QuoteAPI.js.map +1 -0
  208. package/dist/esm/api/RecipientAPI.d.ts +25 -0
  209. package/dist/esm/api/RecipientAPI.d.ts.map +1 -0
  210. package/dist/esm/api/RecipientAPI.js +30 -0
  211. package/dist/esm/api/RecipientAPI.js.map +1 -0
  212. package/dist/esm/api/TransactionAPI.d.ts +35 -0
  213. package/dist/esm/api/TransactionAPI.d.ts.map +1 -0
  214. package/dist/esm/api/TransactionAPI.js +72 -0
  215. package/dist/esm/api/TransactionAPI.js.map +1 -0
  216. package/dist/esm/auth/hmac.d.ts +24 -0
  217. package/dist/esm/auth/hmac.d.ts.map +1 -0
  218. package/dist/esm/auth/hmac.js +70 -0
  219. package/dist/esm/auth/hmac.js.map +1 -0
  220. package/dist/esm/crypto/factory.d.ts +7 -0
  221. package/dist/esm/crypto/factory.d.ts.map +1 -0
  222. package/dist/esm/crypto/factory.js +18 -0
  223. package/dist/esm/crypto/factory.js.map +1 -0
  224. package/dist/esm/crypto/node-crypto.d.ts +10 -0
  225. package/dist/esm/crypto/node-crypto.d.ts.map +1 -0
  226. package/dist/esm/crypto/node-crypto.js +28 -0
  227. package/dist/esm/crypto/node-crypto.js.map +1 -0
  228. package/dist/esm/crypto/types.d.ts +13 -0
  229. package/dist/esm/crypto/types.d.ts.map +1 -0
  230. package/dist/esm/crypto/types.js +2 -0
  231. package/dist/esm/crypto/types.js.map +1 -0
  232. package/dist/esm/crypto/web-crypto.d.ts +8 -0
  233. package/dist/esm/crypto/web-crypto.d.ts.map +1 -0
  234. package/dist/esm/crypto/web-crypto.js +17 -0
  235. package/dist/esm/crypto/web-crypto.js.map +1 -0
  236. package/dist/esm/errors/index.d.ts +38 -0
  237. package/dist/esm/errors/index.d.ts.map +1 -0
  238. package/dist/esm/errors/index.js +72 -0
  239. package/dist/esm/errors/index.js.map +1 -0
  240. package/dist/esm/http/client.d.ts +50 -0
  241. package/dist/esm/http/client.d.ts.map +1 -0
  242. package/dist/esm/http/client.js +153 -0
  243. package/dist/esm/http/client.js.map +1 -0
  244. package/dist/esm/index.d.ts +59 -0
  245. package/dist/esm/index.d.ts.map +1 -0
  246. package/dist/esm/index.js +78 -0
  247. package/dist/esm/index.js.map +1 -0
  248. package/dist/esm/package.json +1 -0
  249. package/dist/esm/smart-wallets/LocalSigner.d.ts +19 -0
  250. package/dist/esm/smart-wallets/LocalSigner.d.ts.map +1 -0
  251. package/dist/esm/smart-wallets/LocalSigner.js +57 -0
  252. package/dist/esm/smart-wallets/LocalSigner.js.map +1 -0
  253. package/dist/esm/smart-wallets/SmartWalletClient.d.ts +19 -0
  254. package/dist/esm/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  255. package/dist/esm/smart-wallets/SmartWalletClient.js +180 -0
  256. package/dist/esm/smart-wallets/SmartWalletClient.js.map +1 -0
  257. package/dist/esm/smart-wallets/SmartWalletManager.d.ts +17 -0
  258. package/dist/esm/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  259. package/dist/esm/smart-wallets/SmartWalletManager.js +59 -0
  260. package/dist/esm/smart-wallets/SmartWalletManager.js.map +1 -0
  261. package/dist/esm/smart-wallets/chains.d.ts +11 -0
  262. package/dist/esm/smart-wallets/chains.d.ts.map +1 -0
  263. package/dist/esm/smart-wallets/chains.js +30 -0
  264. package/dist/esm/smart-wallets/chains.js.map +1 -0
  265. package/dist/esm/smart-wallets/errors.d.ts +23 -0
  266. package/dist/esm/smart-wallets/errors.d.ts.map +1 -0
  267. package/dist/esm/smart-wallets/errors.js +44 -0
  268. package/dist/esm/smart-wallets/errors.js.map +1 -0
  269. package/dist/esm/smart-wallets/index.d.ts +11 -0
  270. package/dist/esm/smart-wallets/index.d.ts.map +1 -0
  271. package/dist/esm/smart-wallets/index.js +13 -0
  272. package/dist/esm/smart-wallets/index.js.map +1 -0
  273. package/dist/esm/smart-wallets/types.d.ts +47 -0
  274. package/dist/esm/smart-wallets/types.d.ts.map +1 -0
  275. package/dist/esm/smart-wallets/types.js +2 -0
  276. package/dist/esm/smart-wallets/types.js.map +1 -0
  277. package/dist/esm/smart-wallets/utils.d.ts +22 -0
  278. package/dist/esm/smart-wallets/utils.d.ts.map +1 -0
  279. package/dist/esm/smart-wallets/utils.js +57 -0
  280. package/dist/esm/smart-wallets/utils.js.map +1 -0
  281. package/dist/esm/types/index.d.ts +170 -0
  282. package/dist/esm/types/index.d.ts.map +1 -0
  283. package/dist/esm/types/index.js +10 -0
  284. package/dist/esm/types/index.js.map +1 -0
  285. package/dist/esm/types/offramp.d.ts +55 -0
  286. package/dist/esm/types/offramp.d.ts.map +1 -0
  287. package/dist/esm/types/offramp.js +2 -0
  288. package/dist/esm/types/offramp.js.map +1 -0
  289. package/dist/esm/types/onramp.d.ts +54 -0
  290. package/dist/esm/types/onramp.d.ts.map +1 -0
  291. package/dist/esm/types/onramp.js +2 -0
  292. package/dist/esm/types/onramp.js.map +1 -0
  293. package/dist/types/api/OffRampAPI.d.ts +45 -0
  294. package/dist/types/api/OffRampAPI.d.ts.map +1 -0
  295. package/dist/types/api/OnRampAPI.d.ts +42 -0
  296. package/dist/types/api/OnRampAPI.d.ts.map +1 -0
  297. package/dist/types/api/QuoteAPI.d.ts +16 -0
  298. package/dist/types/api/QuoteAPI.d.ts.map +1 -0
  299. package/dist/types/api/RecipientAPI.d.ts +25 -0
  300. package/dist/types/api/RecipientAPI.d.ts.map +1 -0
  301. package/dist/types/api/TransactionAPI.d.ts +35 -0
  302. package/dist/types/api/TransactionAPI.d.ts.map +1 -0
  303. package/dist/types/auth/hmac.d.ts +24 -0
  304. package/dist/types/auth/hmac.d.ts.map +1 -0
  305. package/dist/types/crypto/factory.d.ts +7 -0
  306. package/dist/types/crypto/factory.d.ts.map +1 -0
  307. package/dist/types/crypto/node-crypto.d.ts +10 -0
  308. package/dist/types/crypto/node-crypto.d.ts.map +1 -0
  309. package/dist/types/crypto/types.d.ts +13 -0
  310. package/dist/types/crypto/types.d.ts.map +1 -0
  311. package/dist/types/crypto/web-crypto.d.ts +8 -0
  312. package/dist/types/crypto/web-crypto.d.ts.map +1 -0
  313. package/dist/types/errors/index.d.ts +38 -0
  314. package/dist/types/errors/index.d.ts.map +1 -0
  315. package/dist/types/http/client.d.ts +50 -0
  316. package/dist/types/http/client.d.ts.map +1 -0
  317. package/dist/types/index.d.ts +59 -0
  318. package/dist/types/index.d.ts.map +1 -0
  319. package/dist/types/smart-wallets/LocalSigner.d.ts +19 -0
  320. package/dist/types/smart-wallets/LocalSigner.d.ts.map +1 -0
  321. package/dist/types/smart-wallets/SmartWalletClient.d.ts +19 -0
  322. package/dist/types/smart-wallets/SmartWalletClient.d.ts.map +1 -0
  323. package/dist/types/smart-wallets/SmartWalletManager.d.ts +17 -0
  324. package/dist/types/smart-wallets/SmartWalletManager.d.ts.map +1 -0
  325. package/dist/types/smart-wallets/chains.d.ts +11 -0
  326. package/dist/types/smart-wallets/chains.d.ts.map +1 -0
  327. package/dist/types/smart-wallets/errors.d.ts +23 -0
  328. package/dist/types/smart-wallets/errors.d.ts.map +1 -0
  329. package/dist/types/smart-wallets/index.d.ts +11 -0
  330. package/dist/types/smart-wallets/index.d.ts.map +1 -0
  331. package/dist/types/smart-wallets/types.d.ts +47 -0
  332. package/dist/types/smart-wallets/types.d.ts.map +1 -0
  333. package/dist/types/smart-wallets/utils.d.ts +22 -0
  334. package/dist/types/smart-wallets/utils.d.ts.map +1 -0
  335. package/dist/types/types/index.d.ts +170 -0
  336. package/dist/types/types/index.d.ts.map +1 -0
  337. package/dist/types/types/offramp.d.ts +55 -0
  338. package/dist/types/types/offramp.d.ts.map +1 -0
  339. package/dist/types/types/onramp.d.ts +54 -0
  340. package/dist/types/types/onramp.d.ts.map +1 -0
  341. package/package.json +99 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Node.js crypto module provider for server environments
3
+ */
4
+ export class NodeCryptoProvider {
5
+ constructor() {
6
+ // dynamic import to avoid bundling in browser builds
7
+ try {
8
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
9
+ this.crypto = require('crypto');
10
+ }
11
+ catch {
12
+ // will be handled by factory
13
+ }
14
+ }
15
+ async createHmacSha256(secret, message) {
16
+ if (!this.crypto) {
17
+ // fallback to Web Crypto if available in Node
18
+ if (typeof globalThis.crypto !== 'undefined' && globalThis.crypto.subtle) {
19
+ const webProvider = await import('./web-crypto');
20
+ const provider = new webProvider.WebCryptoProvider();
21
+ return provider.createHmacSha256(secret, message);
22
+ }
23
+ throw new Error('No crypto provider available');
24
+ }
25
+ return Promise.resolve(this.crypto.createHmac('sha256', secret).update(message).digest('hex'));
26
+ }
27
+ }
28
+ //# sourceMappingURL=node-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-crypto.js","sourceRoot":"","sources":["../../../src/crypto/node-crypto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAG7B;QACE,qDAAqD;QACrD,IAAI,CAAC;YACH,8DAA8D;YAC9D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,8CAA8C;YAC9C,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBACrD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Interface for crypto providers that can create HMAC signatures
3
+ */
4
+ export interface CryptoProvider {
5
+ /**
6
+ * Creates an HMAC SHA-256 signature
7
+ * @param secret The secret key
8
+ * @param message The message to sign
9
+ * @returns Hex-encoded signature
10
+ */
11
+ createHmacSha256(secret: string, message: string): Promise<string>;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { CryptoProvider } from './types';
2
+ /**
3
+ * Web Crypto API provider for browsers and Node.js
4
+ */
5
+ export declare class WebCryptoProvider implements CryptoProvider {
6
+ createHmacSha256(secret: string, message: string): Promise<string>;
7
+ }
8
+ //# sourceMappingURL=web-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/web-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAChD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBzE"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Web Crypto API provider for browsers and Node.js
3
+ */
4
+ export class WebCryptoProvider {
5
+ async createHmacSha256(secret, message) {
6
+ const encoder = new TextEncoder();
7
+ const keyData = encoder.encode(secret);
8
+ const msgData = encoder.encode(message);
9
+ const key = await crypto.subtle.importKey('raw', keyData, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
10
+ const signature = await crypto.subtle.sign('HMAC', key, msgData);
11
+ // convert to hex string
12
+ return Array.from(new Uint8Array(signature))
13
+ .map((b) => b.toString(16).padStart(2, '0'))
14
+ .join('');
15
+ }
16
+ }
17
+ //# sourceMappingURL=web-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-crypto.js","sourceRoot":"","sources":["../../../src/crypto/web-crypto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QACpD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEjE,wBAAwB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Base error class for all Orda SDK errors
3
+ */
4
+ export declare class OrdaError extends Error {
5
+ code: string;
6
+ statusCode?: number;
7
+ details?: unknown;
8
+ constructor(message: string, statusCode?: number, details?: unknown);
9
+ }
10
+ export declare class BadRequestError extends OrdaError {
11
+ constructor(message: string, statusCode?: number, details?: unknown);
12
+ }
13
+ export declare class UnauthorizedError extends OrdaError {
14
+ constructor(message: string, statusCode?: number, details?: unknown);
15
+ }
16
+ export declare class ForbiddenError extends OrdaError {
17
+ constructor(message: string, statusCode?: number, details?: unknown);
18
+ }
19
+ export declare class NotFoundError extends OrdaError {
20
+ constructor(message: string, statusCode?: number, details?: unknown);
21
+ }
22
+ export declare class ExternalApiError extends OrdaError {
23
+ constructor(message: string, details?: unknown);
24
+ }
25
+ export declare class DatabaseError extends OrdaError {
26
+ constructor(message: string, details?: unknown);
27
+ }
28
+ export declare class NetworkError extends OrdaError {
29
+ constructor(message: string, statusCode?: number, details?: unknown);
30
+ }
31
+ export declare class TimeoutError extends OrdaError {
32
+ constructor(message: string);
33
+ }
34
+ export declare class PollingTimeoutError extends OrdaError {
35
+ lastStatus?: string;
36
+ constructor(message: string, lastStatus?: string);
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAQpE;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAEhC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAElC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,cAAe,SAAQ,SAAS;gBAE/B,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIpE;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKjD"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Base error class for all Orda SDK errors
3
+ */
4
+ export class OrdaError extends Error {
5
+ constructor(message, statusCode, details) {
6
+ super(message);
7
+ this.name = this.constructor.name;
8
+ this.code = this.constructor.name;
9
+ this.statusCode = statusCode;
10
+ this.details = details;
11
+ Error.captureStackTrace(this, this.constructor);
12
+ }
13
+ }
14
+ export class BadRequestError extends OrdaError {
15
+ // validation error
16
+ constructor(message, statusCode = 400, details) {
17
+ super(message, statusCode, details);
18
+ this.code = 'BAD_REQUEST_ERROR';
19
+ }
20
+ }
21
+ export class UnauthorizedError extends OrdaError {
22
+ // authentication error
23
+ constructor(message, statusCode = 401, details) {
24
+ super(message, statusCode, details);
25
+ this.code = 'UNAUTHORIZED_ERROR';
26
+ }
27
+ }
28
+ export class ForbiddenError extends OrdaError {
29
+ // authorization error
30
+ constructor(message, statusCode = 403, details) {
31
+ super(message, statusCode, details);
32
+ this.code = 'FORBIDDEN_ERROR';
33
+ }
34
+ }
35
+ export class NotFoundError extends OrdaError {
36
+ constructor(message, statusCode = 404, details) {
37
+ super(message, statusCode, details);
38
+ this.code = 'NOT_FOUND_ERROR';
39
+ }
40
+ }
41
+ export class ExternalApiError extends OrdaError {
42
+ constructor(message, details) {
43
+ super(message, 502, details);
44
+ this.code = 'EXTERNAL_API_ERROR';
45
+ }
46
+ }
47
+ export class DatabaseError extends OrdaError {
48
+ constructor(message, details) {
49
+ super(message, 500, details);
50
+ this.code = 'DATABASE_ERROR';
51
+ }
52
+ }
53
+ export class NetworkError extends OrdaError {
54
+ constructor(message, statusCode, details) {
55
+ super(message, statusCode || 502, details);
56
+ this.code = 'NETWORK_ERROR';
57
+ }
58
+ }
59
+ export class TimeoutError extends OrdaError {
60
+ constructor(message) {
61
+ super(message, 408);
62
+ this.code = 'TIMEOUT_ERROR';
63
+ }
64
+ }
65
+ export class PollingTimeoutError extends OrdaError {
66
+ constructor(message, lastStatus) {
67
+ super(message, 408);
68
+ this.code = 'POLLING_TIMEOUT';
69
+ this.lastStatus = lastStatus;
70
+ }
71
+ }
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAKlC,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAiB;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,mBAAmB;IACnB,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,uBAAuB;IACvB,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,sBAAsB;IACtB,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAiB;QACjE,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAGhD,YAAY,OAAe,EAAE,UAAmB;QAC9C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,50 @@
1
+ import { HmacAuthenticator } from '../auth/hmac';
2
+ /**
3
+ * Request configuration
4
+ */
5
+ export interface RequestConfig {
6
+ path: string;
7
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
8
+ headers?: Record<string, string>;
9
+ params?: Record<string, string | number | boolean | null | undefined>;
10
+ body?: unknown;
11
+ timeout?: number;
12
+ }
13
+ /**
14
+ * HTTP client configuration
15
+ */
16
+ export interface HttpClientConfig {
17
+ baseUrl: string;
18
+ authenticator?: HmacAuthenticator;
19
+ timeout?: number;
20
+ enableTimestamp?: boolean;
21
+ debug?: boolean;
22
+ }
23
+ /**
24
+ * Universal HTTP client using fetch API
25
+ */
26
+ export declare class UniversalHttpClient {
27
+ private baseUrl;
28
+ private timeout;
29
+ private authenticator?;
30
+ private enableTimestamp;
31
+ private debug;
32
+ constructor(baseUrl: string, timeout?: number, options?: {
33
+ authenticator?: HmacAuthenticator;
34
+ enableTimestamp?: boolean;
35
+ debug?: boolean;
36
+ });
37
+ /**
38
+ * Makes an HTTP request
39
+ */
40
+ request<T>(config: RequestConfig): Promise<T>;
41
+ /**
42
+ * Handles error responses from the API
43
+ */
44
+ private handleErrorResponse;
45
+ get<T>(path: string, params?: object): Promise<T>;
46
+ post<T>(path: string, body?: unknown): Promise<T>;
47
+ put<T>(path: string, body?: unknown): Promise<T>;
48
+ delete<T>(path: string): Promise<T>;
49
+ }
50
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAajD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IANjB,OAAO,CAAC,aAAa,CAAC,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,KAAK,CAAU;gBAGb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAc,EAC/B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAClC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;IAOH;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAwGnD;;OAEG;YACW,mBAAmB;IAsC3B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAQjD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1C"}
@@ -0,0 +1,153 @@
1
+ import { OrdaError, BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, NetworkError, TimeoutError, ExternalApiError, DatabaseError } from '../errors';
2
+ /**
3
+ * Universal HTTP client using fetch API
4
+ */
5
+ export class UniversalHttpClient {
6
+ constructor(baseUrl, timeout = 30000, options) {
7
+ this.baseUrl = baseUrl;
8
+ this.timeout = timeout;
9
+ this.authenticator = options?.authenticator;
10
+ this.enableTimestamp = options?.enableTimestamp !== false;
11
+ this.debug = options?.debug || false;
12
+ }
13
+ /**
14
+ * Makes an HTTP request
15
+ */
16
+ async request(config) {
17
+ const controller = new AbortController();
18
+ const timeoutId = setTimeout(() => controller.abort(), config.timeout || this.timeout);
19
+ try {
20
+ // build URL with params
21
+ const url = new URL(`${this.baseUrl}${config.path}`);
22
+ if (config.params) {
23
+ Object.entries(config.params).forEach(([key, value]) => {
24
+ if (value !== undefined && value !== null) {
25
+ url.searchParams.append(key, String(value));
26
+ }
27
+ });
28
+ }
29
+ const headers = {
30
+ 'Content-Type': 'application/json',
31
+ ...config.headers
32
+ };
33
+ if (this.authenticator) {
34
+ // sign an empty object for GET
35
+ const payloadToSign = config.method === 'GET' ? {} : config.body || {};
36
+ const authHeaders = await this.authenticator.getAuthHeaders(payloadToSign, this.enableTimestamp);
37
+ Object.assign(headers, authHeaders);
38
+ }
39
+ if (this.debug) {
40
+ console.log('\n========== API REQUEST ==========');
41
+ console.log('Method:', config.method);
42
+ console.log('URL:', url.toString());
43
+ console.log('Headers:', JSON.stringify(headers, null, 2));
44
+ if (config.body) {
45
+ console.log('Body:', JSON.stringify(config.body, null, 2));
46
+ }
47
+ console.log('================================\n');
48
+ }
49
+ const response = await fetch(url.toString(), {
50
+ method: config.method,
51
+ headers,
52
+ body: config.body ? JSON.stringify(config.body) : undefined,
53
+ signal: controller.signal
54
+ });
55
+ clearTimeout(timeoutId);
56
+ if (this.debug) {
57
+ console.log('\n========== API RESPONSE ==========');
58
+ console.log('Status:', response.status, response.statusText);
59
+ const headers = {};
60
+ response.headers.forEach((value, key) => {
61
+ headers[key] = value;
62
+ });
63
+ console.log('Response Headers:', JSON.stringify(headers, null, 2));
64
+ }
65
+ if (!response.ok) {
66
+ const errorText = await response.text();
67
+ if (this.debug) {
68
+ console.log('Error Response Body:', errorText);
69
+ console.log('================================\n');
70
+ }
71
+ const errorResponse = new Response(errorText, {
72
+ status: response.status,
73
+ statusText: response.statusText,
74
+ headers: response.headers
75
+ });
76
+ throw await this.handleErrorResponse(errorResponse);
77
+ }
78
+ if (this.debug) {
79
+ console.log('================================\n');
80
+ }
81
+ const contentLength = response.headers.get('content-length');
82
+ const contentType = response.headers.get('content-type');
83
+ if (contentLength === '0' || !contentType?.includes('application/json')) {
84
+ return {};
85
+ }
86
+ const data = await response.json();
87
+ return data;
88
+ }
89
+ catch (error) {
90
+ clearTimeout(timeoutId);
91
+ if (error instanceof Error) {
92
+ if (error.name === 'AbortError') {
93
+ throw new TimeoutError(`Request timeout after ${config.timeout || this.timeout}ms`);
94
+ }
95
+ if (error instanceof OrdaError) {
96
+ throw error;
97
+ }
98
+ }
99
+ throw new NetworkError('Network request failed', undefined, error);
100
+ }
101
+ }
102
+ /**
103
+ * Handles error responses from the API
104
+ */
105
+ async handleErrorResponse(response) {
106
+ let errorData = {};
107
+ try {
108
+ const text = await response.text();
109
+ errorData = text ? JSON.parse(text) : {};
110
+ }
111
+ catch {
112
+ errorData = { message: response.statusText };
113
+ }
114
+ const errorObj = errorData;
115
+ const message = errorObj?.error || errorObj?.message || response.statusText;
116
+ switch (response.status) {
117
+ case 400:
118
+ return new BadRequestError(message, response.status, errorData);
119
+ case 401:
120
+ return new UnauthorizedError(message, response.status, errorData);
121
+ case 403:
122
+ return new ForbiddenError(message, response.status, errorData);
123
+ case 404:
124
+ return new NotFoundError(message, response.status, errorData);
125
+ case 429:
126
+ // const retryAfter = response.headers.get('retry-after') || response.headers.get('ratelimit-reset');
127
+ return new NetworkError(`Rate limit exceeded`, response.status, errorData);
128
+ case 502:
129
+ return new ExternalApiError(message, errorData);
130
+ case 500:
131
+ return new DatabaseError(message, errorData);
132
+ default:
133
+ return new NetworkError(`Request failed with status ${response.status}`, response.status, errorData);
134
+ }
135
+ }
136
+ async get(path, params) {
137
+ return this.request({
138
+ path,
139
+ method: 'GET',
140
+ params: params
141
+ });
142
+ }
143
+ async post(path, body) {
144
+ return this.request({ path, method: 'POST', body });
145
+ }
146
+ async put(path, body) {
147
+ return this.request({ path, method: 'PUT', body });
148
+ }
149
+ async delete(path) {
150
+ return this.request({ path, method: 'DELETE' });
151
+ }
152
+ }
153
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { QuoteAPI } from './api/QuoteAPI';
2
+ import { RecipientAPI } from './api/RecipientAPI';
3
+ import { TransactionAPI } from './api/TransactionAPI';
4
+ import { OffRampAPI } from './api/OffRampAPI';
5
+ import { OnRampAPI } from './api/OnRampAPI';
6
+ import { SmartWalletManager } from './smart-wallets';
7
+ /**
8
+ * Configuration options for OrdaSDK
9
+ */
10
+ export interface OrdaConfig {
11
+ clientId: string;
12
+ clientSecret: string;
13
+ requestTimeout?: number;
14
+ enableTimestamp?: boolean;
15
+ debug?: boolean;
16
+ alchemyApiKey?: string;
17
+ }
18
+ /**
19
+ * Main SDK class for interacting with Orda API
20
+ */
21
+ export declare class OrdaSDK {
22
+ private httpClient;
23
+ private config;
24
+ quote: QuoteAPI;
25
+ recipients: RecipientAPI;
26
+ transactions: TransactionAPI;
27
+ offRamp: OffRampAPI;
28
+ onRamp: OnRampAPI;
29
+ smartWallets: SmartWalletManager;
30
+ constructor(config: OrdaConfig);
31
+ /**
32
+ * Checks if the SDK is running in a browser environment
33
+ */
34
+ static isBrowser(): boolean;
35
+ /**
36
+ * Checks if the SDK is running in Node.js
37
+ */
38
+ static isNode(): boolean;
39
+ /**
40
+ * Gets the current SDK version
41
+ */
42
+ static get version(): string;
43
+ }
44
+ export * from './types';
45
+ export * from './types/offramp';
46
+ export * from './types/onramp';
47
+ export * from './errors';
48
+ export { QuoteAPI } from './api/QuoteAPI';
49
+ export { RecipientAPI } from './api/RecipientAPI';
50
+ export { TransactionAPI, type PollingOptions } from './api/TransactionAPI';
51
+ export { OffRampAPI, type OffRampPollingOptions } from './api/OffRampAPI';
52
+ export { OnRampAPI, type OnRampPollingOptions } from './api/OnRampAPI';
53
+ export { UniversalHttpClient, type RequestConfig, type HttpClientConfig } from './http/client';
54
+ export { HmacAuthenticator } from './auth/hmac';
55
+ export { SmartWalletClient, SmartWalletManager, LocalSigner, createSmartWallet } from './smart-wallets';
56
+ export type { SmartWalletConfig, SmartWalletInterface, UserOperationRequest, TransactionResult, AccountType, SmartWalletState, } from './smart-wallets';
57
+ export { SmartWalletError, ConnectionError, UserOperationError, InsufficientFundsError, AccountNotDeployedError, } from './smart-wallets';
58
+ export default OrdaSDK;
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAa;IAEpB,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,kBAAkB,CAAC;gBAE5B,MAAM,EAAE,UAAU;IA6C9B;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,OAAO;IAIxB;;OAEG;IACH,MAAM,KAAK,OAAO,IAAI,MAAM,CAE3B;CACF;AAED,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxG,YAAY,EACV,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAC7D,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,GACjD,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,GAAG,MAAM,iBAAiB,CAAC;AAE1I,eAAe,OAAO,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { QuoteAPI } from './api/QuoteAPI';
2
+ import { RecipientAPI } from './api/RecipientAPI';
3
+ import { TransactionAPI } from './api/TransactionAPI';
4
+ import { OffRampAPI } from './api/OffRampAPI';
5
+ import { OnRampAPI } from './api/OnRampAPI';
6
+ import { UniversalHttpClient } from './http/client';
7
+ import { HmacAuthenticator } from './auth/hmac';
8
+ import { SmartWalletManager } from './smart-wallets';
9
+ /**
10
+ * Main SDK class for interacting with Orda API
11
+ */
12
+ export class OrdaSDK {
13
+ constructor(config) {
14
+ this.config = config;
15
+ if (!config.clientId || !config.clientSecret) {
16
+ throw new Error('clientId and clientSecret are required');
17
+ }
18
+ // Prevent any attempts to override the API URL
19
+ if ('baseUrl' in config || 'environment' in config) {
20
+ throw new Error('API endpoint configuration is not allowed. This SDK only connects to production.');
21
+ }
22
+ if (typeof window !== 'undefined') {
23
+ console.warn('Security Warning: Using API credentials in the browser is not recommended for production. ' +
24
+ 'Consider using a backend proxy to protect your credentials.');
25
+ }
26
+ const authenticator = new HmacAuthenticator(config.clientId, config.clientSecret);
27
+ const baseUrl = 'https://api.orda.network/v1';
28
+ this.httpClient = new UniversalHttpClient(baseUrl, config.requestTimeout || 30000, {
29
+ authenticator,
30
+ enableTimestamp: config.enableTimestamp !== false,
31
+ debug: config.debug || false
32
+ });
33
+ // init API modules
34
+ this.quote = new QuoteAPI(this.httpClient);
35
+ this.recipients = new RecipientAPI(this.httpClient);
36
+ this.transactions = new TransactionAPI(this.httpClient);
37
+ this.offRamp = new OffRampAPI(this.httpClient);
38
+ this.onRamp = new OnRampAPI(this.httpClient);
39
+ // init smart wallet manager
40
+ this.smartWallets = new SmartWalletManager({
41
+ alchemyApiKey: this.config.alchemyApiKey
42
+ });
43
+ }
44
+ /**
45
+ * Checks if the SDK is running in a browser environment
46
+ */
47
+ static isBrowser() {
48
+ return typeof window !== 'undefined' && typeof window.document !== 'undefined';
49
+ }
50
+ /**
51
+ * Checks if the SDK is running in Node.js
52
+ */
53
+ static isNode() {
54
+ return typeof process !== 'undefined' && !!process.versions?.node;
55
+ }
56
+ /**
57
+ * Gets the current SDK version
58
+ */
59
+ static get version() {
60
+ return '1.0.0';
61
+ }
62
+ }
63
+ export * from './types';
64
+ export * from './types/offramp';
65
+ export * from './types/onramp';
66
+ export * from './errors';
67
+ export { QuoteAPI } from './api/QuoteAPI';
68
+ export { RecipientAPI } from './api/RecipientAPI';
69
+ export { TransactionAPI } from './api/TransactionAPI';
70
+ export { OffRampAPI } from './api/OffRampAPI';
71
+ export { OnRampAPI } from './api/OnRampAPI';
72
+ export { UniversalHttpClient } from './http/client';
73
+ export { HmacAuthenticator } from './auth/hmac';
74
+ // Smart Wallet exports
75
+ export { SmartWalletClient, SmartWalletManager, LocalSigner, createSmartWallet } from './smart-wallets';
76
+ export { SmartWalletError, ConnectionError, UserOperationError, InsufficientFundsError, AccountNotDeployedError, } from './smart-wallets';
77
+ export default OrdaSDK;
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"type": "module"}
@@ -0,0 +1,19 @@
1
+ import { type SmartAccountSigner } from '@aa-sdk/core';
2
+ import type { EntityType } from './types';
3
+ export declare class LocalSigner {
4
+ private signer;
5
+ private entityType;
6
+ private privateKey;
7
+ constructor(privateKey: string, entityType: EntityType);
8
+ getSigner(): SmartAccountSigner;
9
+ getEntityType(): EntityType;
10
+ getAddress(): Promise<string>;
11
+ static isValidPrivateKey(privateKey: string): boolean;
12
+ static generateNewSigner(): Promise<{
13
+ signer: SmartAccountSigner;
14
+ privateKey: string;
15
+ address: string;
16
+ }>;
17
+ static getAddressFromPrivateKey(privateKey: string): Promise<string>;
18
+ }
19
+ //# sourceMappingURL=LocalSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalSigner.d.ts","sourceRoot":"","sources":["../../../src/smart-wallets/LocalSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAUtD,SAAS,IAAI,kBAAkB;IAI/B,aAAa,IAAI,UAAU;IAIrB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;WAkBxC,iBAAiB,IAAI,OAAO,CAAC;QACxC,MAAM,EAAE,kBAAkB,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;WAYW,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ3E"}