@nadohq/shared 0.1.0-alpha.4

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 (551) hide show
  1. package/README.md +2 -0
  2. package/dist/abis/Clearinghouse.cjs +891 -0
  3. package/dist/abis/Clearinghouse.cjs.map +1 -0
  4. package/dist/abis/Clearinghouse.d.cts +669 -0
  5. package/dist/abis/Clearinghouse.d.ts +669 -0
  6. package/dist/abis/Clearinghouse.js +868 -0
  7. package/dist/abis/Clearinghouse.js.map +1 -0
  8. package/dist/abis/ERC20.cjs +215 -0
  9. package/dist/abis/ERC20.cjs.map +1 -0
  10. package/dist/abis/ERC20.d.cts +143 -0
  11. package/dist/abis/ERC20.d.ts +143 -0
  12. package/dist/abis/ERC20.js +192 -0
  13. package/dist/abis/ERC20.js.map +1 -0
  14. package/dist/abis/Endpoint.cjs +589 -0
  15. package/dist/abis/Endpoint.cjs.map +1 -0
  16. package/dist/abis/Endpoint.d.cts +433 -0
  17. package/dist/abis/Endpoint.d.ts +433 -0
  18. package/dist/abis/Endpoint.js +566 -0
  19. package/dist/abis/Endpoint.js.map +1 -0
  20. package/dist/abis/MockERC20.cjs +341 -0
  21. package/dist/abis/MockERC20.cjs.map +1 -0
  22. package/dist/abis/MockERC20.d.cts +239 -0
  23. package/dist/abis/MockERC20.d.ts +239 -0
  24. package/dist/abis/MockERC20.js +318 -0
  25. package/dist/abis/MockERC20.js.map +1 -0
  26. package/dist/abis/PerpEngine.cjs +886 -0
  27. package/dist/abis/PerpEngine.cjs.map +1 -0
  28. package/dist/abis/PerpEngine.d.cts +661 -0
  29. package/dist/abis/PerpEngine.d.ts +661 -0
  30. package/dist/abis/PerpEngine.js +863 -0
  31. package/dist/abis/PerpEngine.js.map +1 -0
  32. package/dist/abis/Querier.cjs +1522 -0
  33. package/dist/abis/Querier.cjs.map +1 -0
  34. package/dist/abis/Querier.d.cts +1149 -0
  35. package/dist/abis/Querier.d.ts +1149 -0
  36. package/dist/abis/Querier.js +1499 -0
  37. package/dist/abis/Querier.js.map +1 -0
  38. package/dist/abis/SpotEngine.cjs +937 -0
  39. package/dist/abis/SpotEngine.cjs.map +1 -0
  40. package/dist/abis/SpotEngine.d.cts +701 -0
  41. package/dist/abis/SpotEngine.d.ts +701 -0
  42. package/dist/abis/SpotEngine.js +914 -0
  43. package/dist/abis/SpotEngine.js.map +1 -0
  44. package/dist/abis/WithdrawPool.cjs +307 -0
  45. package/dist/abis/WithdrawPool.cjs.map +1 -0
  46. package/dist/abis/WithdrawPool.d.cts +214 -0
  47. package/dist/abis/WithdrawPool.d.ts +214 -0
  48. package/dist/abis/WithdrawPool.js +284 -0
  49. package/dist/abis/WithdrawPool.js.map +1 -0
  50. package/dist/abis/index.cjs +41 -0
  51. package/dist/abis/index.cjs.map +1 -0
  52. package/dist/abis/index.d.cts +9 -0
  53. package/dist/abis/index.d.ts +9 -0
  54. package/dist/abis/index.js +11 -0
  55. package/dist/abis/index.js.map +1 -0
  56. package/dist/abis/nadoAbis.cjs +44 -0
  57. package/dist/abis/nadoAbis.cjs.map +1 -0
  58. package/dist/abis/nadoAbis.d.cts +3821 -0
  59. package/dist/abis/nadoAbis.d.ts +3821 -0
  60. package/dist/abis/nadoAbis.js +21 -0
  61. package/dist/abis/nadoAbis.js.map +1 -0
  62. package/dist/chunk-5WRI5ZAA.js +31 -0
  63. package/dist/chunk-5WRI5ZAA.js.map +1 -0
  64. package/dist/chunk-TUJ4HQKF.js +33 -0
  65. package/dist/chunk-TUJ4HQKF.js.map +1 -0
  66. package/dist/consts/chainEnvToChain.cjs +44 -0
  67. package/dist/consts/chainEnvToChain.cjs.map +1 -0
  68. package/dist/consts/chainEnvToChain.d.cts +388 -0
  69. package/dist/consts/chainEnvToChain.d.ts +388 -0
  70. package/dist/consts/chainEnvToChain.js +20 -0
  71. package/dist/consts/chainEnvToChain.js.map +1 -0
  72. package/dist/consts/index.cjs +27 -0
  73. package/dist/consts/index.cjs.map +1 -0
  74. package/dist/consts/index.d.cts +6 -0
  75. package/dist/consts/index.d.ts +6 -0
  76. package/dist/consts/index.js +4 -0
  77. package/dist/consts/index.js.map +1 -0
  78. package/dist/consts/productIds.cjs +34 -0
  79. package/dist/consts/productIds.cjs.map +1 -0
  80. package/dist/consts/productIds.d.cts +4 -0
  81. package/dist/consts/productIds.d.ts +4 -0
  82. package/dist/consts/productIds.js +10 -0
  83. package/dist/consts/productIds.js.map +1 -0
  84. package/dist/deployments/core/deployment.InkSepolia.json +13 -0
  85. package/dist/deployments/core/deployment.arbitrumOne.json +18 -0
  86. package/dist/deployments/core/deployment.localhost.json +18 -0
  87. package/dist/deployments/index.cjs +65 -0
  88. package/dist/deployments/index.cjs.map +1 -0
  89. package/dist/deployments/index.d.cts +13 -0
  90. package/dist/deployments/index.d.ts +13 -0
  91. package/dist/deployments/index.js +32 -0
  92. package/dist/deployments/index.js.map +1 -0
  93. package/dist/eip712/eip712ValueTypes.cjs +19 -0
  94. package/dist/eip712/eip712ValueTypes.cjs.map +1 -0
  95. package/dist/eip712/eip712ValueTypes.d.cts +48 -0
  96. package/dist/eip712/eip712ValueTypes.d.ts +48 -0
  97. package/dist/eip712/eip712ValueTypes.js +1 -0
  98. package/dist/eip712/eip712ValueTypes.js.map +1 -0
  99. package/dist/eip712/getNadoEIP712Domain.cjs +39 -0
  100. package/dist/eip712/getNadoEIP712Domain.cjs.map +1 -0
  101. package/dist/eip712/getNadoEIP712Domain.d.cts +11 -0
  102. package/dist/eip712/getNadoEIP712Domain.d.ts +11 -0
  103. package/dist/eip712/getNadoEIP712Domain.js +16 -0
  104. package/dist/eip712/getNadoEIP712Domain.js.map +1 -0
  105. package/dist/eip712/getNadoEIP712PrimaryType.cjs +35 -0
  106. package/dist/eip712/getNadoEIP712PrimaryType.cjs.map +1 -0
  107. package/dist/eip712/getNadoEIP712PrimaryType.d.cts +16 -0
  108. package/dist/eip712/getNadoEIP712PrimaryType.d.ts +16 -0
  109. package/dist/eip712/getNadoEIP712PrimaryType.js +12 -0
  110. package/dist/eip712/getNadoEIP712PrimaryType.js.map +1 -0
  111. package/dist/eip712/getNadoEIP712Types.cjs +129 -0
  112. package/dist/eip712/getNadoEIP712Types.cjs.map +1 -0
  113. package/dist/eip712/getNadoEIP712Types.d.cts +20 -0
  114. package/dist/eip712/getNadoEIP712Types.d.ts +20 -0
  115. package/dist/eip712/getNadoEIP712Types.js +106 -0
  116. package/dist/eip712/getNadoEIP712Types.js.map +1 -0
  117. package/dist/eip712/getNadoEIP712Values.cjs +206 -0
  118. package/dist/eip712/getNadoEIP712Values.cjs.map +1 -0
  119. package/dist/eip712/getNadoEIP712Values.d.cts +20 -0
  120. package/dist/eip712/getNadoEIP712Values.d.ts +20 -0
  121. package/dist/eip712/getNadoEIP712Values.js +183 -0
  122. package/dist/eip712/getNadoEIP712Values.js.map +1 -0
  123. package/dist/eip712/getOrderVerifyingAddress.cjs +34 -0
  124. package/dist/eip712/getOrderVerifyingAddress.cjs.map +1 -0
  125. package/dist/eip712/getOrderVerifyingAddress.d.cts +9 -0
  126. package/dist/eip712/getOrderVerifyingAddress.d.ts +9 -0
  127. package/dist/eip712/getOrderVerifyingAddress.js +11 -0
  128. package/dist/eip712/getOrderVerifyingAddress.js.map +1 -0
  129. package/dist/eip712/getSignedTransactionRequest.cjs +42 -0
  130. package/dist/eip712/getSignedTransactionRequest.cjs.map +1 -0
  131. package/dist/eip712/getSignedTransactionRequest.d.cts +19 -0
  132. package/dist/eip712/getSignedTransactionRequest.d.ts +19 -0
  133. package/dist/eip712/getSignedTransactionRequest.js +19 -0
  134. package/dist/eip712/getSignedTransactionRequest.js.map +1 -0
  135. package/dist/eip712/index.cjs +43 -0
  136. package/dist/eip712/index.cjs.map +1 -0
  137. package/dist/eip712/index.d.cts +17 -0
  138. package/dist/eip712/index.d.ts +17 -0
  139. package/dist/eip712/index.js +12 -0
  140. package/dist/eip712/index.js.map +1 -0
  141. package/dist/eip712/orderDigest.cjs +45 -0
  142. package/dist/eip712/orderDigest.cjs.map +1 -0
  143. package/dist/eip712/orderDigest.d.cts +20 -0
  144. package/dist/eip712/orderDigest.d.ts +20 -0
  145. package/dist/eip712/orderDigest.js +22 -0
  146. package/dist/eip712/orderDigest.js.map +1 -0
  147. package/dist/eip712/signableRequestType.cjs +19 -0
  148. package/dist/eip712/signableRequestType.cjs.map +1 -0
  149. package/dist/eip712/signableRequestType.d.cts +26 -0
  150. package/dist/eip712/signableRequestType.d.ts +26 -0
  151. package/dist/eip712/signableRequestType.js +1 -0
  152. package/dist/eip712/signableRequestType.js.map +1 -0
  153. package/dist/eip712/signatureParamTypes.cjs +19 -0
  154. package/dist/eip712/signatureParamTypes.cjs.map +1 -0
  155. package/dist/eip712/signatureParamTypes.d.cts +68 -0
  156. package/dist/eip712/signatureParamTypes.d.ts +68 -0
  157. package/dist/eip712/signatureParamTypes.js +1 -0
  158. package/dist/eip712/signatureParamTypes.js.map +1 -0
  159. package/dist/encoding/encoding.cjs +73 -0
  160. package/dist/encoding/encoding.cjs.map +1 -0
  161. package/dist/encoding/encoding.d.cts +11 -0
  162. package/dist/encoding/encoding.d.ts +11 -0
  163. package/dist/encoding/encoding.js +49 -0
  164. package/dist/encoding/encoding.js.map +1 -0
  165. package/dist/encoding/index.cjs +25 -0
  166. package/dist/encoding/index.cjs.map +1 -0
  167. package/dist/encoding/index.d.cts +7 -0
  168. package/dist/encoding/index.d.ts +7 -0
  169. package/dist/encoding/index.js +3 -0
  170. package/dist/encoding/index.js.map +1 -0
  171. package/dist/execute/approveDepositAllowance.cjs +38 -0
  172. package/dist/execute/approveDepositAllowance.cjs.map +1 -0
  173. package/dist/execute/approveDepositAllowance.d.cts +18 -0
  174. package/dist/execute/approveDepositAllowance.d.ts +18 -0
  175. package/dist/execute/approveDepositAllowance.js +15 -0
  176. package/dist/execute/approveDepositAllowance.js.map +1 -0
  177. package/dist/execute/depositCollateral.cjs +59 -0
  178. package/dist/execute/depositCollateral.cjs.map +1 -0
  179. package/dist/execute/depositCollateral.d.cts +21 -0
  180. package/dist/execute/depositCollateral.d.ts +21 -0
  181. package/dist/execute/depositCollateral.js +36 -0
  182. package/dist/execute/depositCollateral.js.map +1 -0
  183. package/dist/execute/index.cjs +27 -0
  184. package/dist/execute/index.cjs.map +1 -0
  185. package/dist/execute/index.d.cts +9 -0
  186. package/dist/execute/index.d.ts +9 -0
  187. package/dist/execute/index.js +4 -0
  188. package/dist/execute/index.js.map +1 -0
  189. package/dist/index.cjs +39 -0
  190. package/dist/index.cjs.map +1 -0
  191. package/dist/index.d.cts +67 -0
  192. package/dist/index.d.ts +67 -0
  193. package/dist/index.js +10 -0
  194. package/dist/index.js.map +1 -0
  195. package/dist/types/ChainEnv.cjs +44 -0
  196. package/dist/types/ChainEnv.cjs.map +1 -0
  197. package/dist/types/ChainEnv.d.cts +7 -0
  198. package/dist/types/ChainEnv.d.ts +7 -0
  199. package/dist/types/ChainEnv.js +18 -0
  200. package/dist/types/ChainEnv.js.map +1 -0
  201. package/dist/types/OrderExecutionType.cjs +19 -0
  202. package/dist/types/OrderExecutionType.cjs.map +1 -0
  203. package/dist/types/OrderExecutionType.d.cts +10 -0
  204. package/dist/types/OrderExecutionType.d.ts +10 -0
  205. package/dist/types/OrderExecutionType.js +1 -0
  206. package/dist/types/OrderExecutionType.js.map +1 -0
  207. package/dist/types/balanceTypes.cjs +19 -0
  208. package/dist/types/balanceTypes.cjs.map +1 -0
  209. package/dist/types/balanceTypes.d.cts +38 -0
  210. package/dist/types/balanceTypes.d.ts +38 -0
  211. package/dist/types/balanceTypes.js +1 -0
  212. package/dist/types/balanceTypes.js.map +1 -0
  213. package/dist/types/bytes.cjs +19 -0
  214. package/dist/types/bytes.cjs.map +1 -0
  215. package/dist/types/bytes.d.cts +3 -0
  216. package/dist/types/bytes.d.ts +3 -0
  217. package/dist/types/bytes.js +1 -0
  218. package/dist/types/bytes.js.map +1 -0
  219. package/dist/types/healthTypes.cjs +19 -0
  220. package/dist/types/healthTypes.cjs.map +1 -0
  221. package/dist/types/healthTypes.d.cts +15 -0
  222. package/dist/types/healthTypes.d.ts +15 -0
  223. package/dist/types/healthTypes.js +1 -0
  224. package/dist/types/healthTypes.js.map +1 -0
  225. package/dist/types/index.cjs +45 -0
  226. package/dist/types/index.cjs.map +1 -0
  227. package/dist/types/index.d.cts +15 -0
  228. package/dist/types/index.d.ts +15 -0
  229. package/dist/types/index.js +13 -0
  230. package/dist/types/index.js.map +1 -0
  231. package/dist/types/marketTypes.cjs +19 -0
  232. package/dist/types/marketTypes.cjs.map +1 -0
  233. package/dist/types/marketTypes.d.cts +31 -0
  234. package/dist/types/marketTypes.d.ts +31 -0
  235. package/dist/types/marketTypes.js +1 -0
  236. package/dist/types/marketTypes.js.map +1 -0
  237. package/dist/types/nadoContractTypes.cjs +19 -0
  238. package/dist/types/nadoContractTypes.cjs.map +1 -0
  239. package/dist/types/nadoContractTypes.d.cts +14 -0
  240. package/dist/types/nadoContractTypes.d.ts +14 -0
  241. package/dist/types/nadoContractTypes.js +1 -0
  242. package/dist/types/nadoContractTypes.js.map +1 -0
  243. package/dist/types/orderAppendixTypes.cjs +19 -0
  244. package/dist/types/orderAppendixTypes.cjs.map +1 -0
  245. package/dist/types/orderAppendixTypes.d.cts +54 -0
  246. package/dist/types/orderAppendixTypes.d.ts +54 -0
  247. package/dist/types/orderAppendixTypes.js +1 -0
  248. package/dist/types/orderAppendixTypes.js.map +1 -0
  249. package/dist/types/productTypes.cjs +47 -0
  250. package/dist/types/productTypes.cjs.map +1 -0
  251. package/dist/types/productTypes.d.cts +55 -0
  252. package/dist/types/productTypes.d.ts +55 -0
  253. package/dist/types/productTypes.js +23 -0
  254. package/dist/types/productTypes.js.map +1 -0
  255. package/dist/types/subaccountTypes.cjs +19 -0
  256. package/dist/types/subaccountTypes.cjs.map +1 -0
  257. package/dist/types/subaccountTypes.d.cts +13 -0
  258. package/dist/types/subaccountTypes.d.ts +13 -0
  259. package/dist/types/subaccountTypes.js +1 -0
  260. package/dist/types/subaccountTypes.js.map +1 -0
  261. package/dist/types/viemTypes.cjs +19 -0
  262. package/dist/types/viemTypes.cjs.map +1 -0
  263. package/dist/types/viemTypes.d.cts +23 -0
  264. package/dist/types/viemTypes.d.ts +23 -0
  265. package/dist/types/viemTypes.js +1 -0
  266. package/dist/types/viemTypes.js.map +1 -0
  267. package/dist/utils/asyncResult.cjs +36 -0
  268. package/dist/utils/asyncResult.cjs.map +1 -0
  269. package/dist/utils/asyncResult.d.cts +4 -0
  270. package/dist/utils/asyncResult.d.ts +4 -0
  271. package/dist/utils/asyncResult.js +13 -0
  272. package/dist/utils/asyncResult.js.map +1 -0
  273. package/dist/utils/balanceValue.cjs +43 -0
  274. package/dist/utils/balanceValue.cjs.map +1 -0
  275. package/dist/utils/balanceValue.d.cts +25 -0
  276. package/dist/utils/balanceValue.d.ts +25 -0
  277. package/dist/utils/balanceValue.js +18 -0
  278. package/dist/utils/balanceValue.js.map +1 -0
  279. package/dist/utils/bytes32.cjs +92 -0
  280. package/dist/utils/bytes32.cjs.map +1 -0
  281. package/dist/utils/bytes32.d.cts +47 -0
  282. package/dist/utils/bytes32.d.ts +47 -0
  283. package/dist/utils/bytes32.js +64 -0
  284. package/dist/utils/bytes32.js.map +1 -0
  285. package/dist/utils/bytes32.test.cjs +203 -0
  286. package/dist/utils/bytes32.test.cjs.map +1 -0
  287. package/dist/utils/bytes32.test.d.cts +2 -0
  288. package/dist/utils/bytes32.test.d.ts +2 -0
  289. package/dist/utils/bytes32.test.js +165 -0
  290. package/dist/utils/bytes32.test.js.map +1 -0
  291. package/dist/utils/createDeterministicLinkedSignerPrivateKey.cjs +56 -0
  292. package/dist/utils/createDeterministicLinkedSignerPrivateKey.cjs.map +1 -0
  293. package/dist/utils/createDeterministicLinkedSignerPrivateKey.d.cts +20 -0
  294. package/dist/utils/createDeterministicLinkedSignerPrivateKey.d.ts +20 -0
  295. package/dist/utils/createDeterministicLinkedSignerPrivateKey.js +33 -0
  296. package/dist/utils/createDeterministicLinkedSignerPrivateKey.js.map +1 -0
  297. package/dist/utils/errors/WalletNotProvidedError.cjs +36 -0
  298. package/dist/utils/errors/WalletNotProvidedError.cjs.map +1 -0
  299. package/dist/utils/errors/WalletNotProvidedError.d.cts +5 -0
  300. package/dist/utils/errors/WalletNotProvidedError.d.ts +5 -0
  301. package/dist/utils/errors/WalletNotProvidedError.js +13 -0
  302. package/dist/utils/errors/WalletNotProvidedError.js.map +1 -0
  303. package/dist/utils/errors/index.cjs +25 -0
  304. package/dist/utils/errors/index.cjs.map +1 -0
  305. package/dist/utils/errors/index.d.cts +1 -0
  306. package/dist/utils/errors/index.d.ts +1 -0
  307. package/dist/utils/errors/index.js +3 -0
  308. package/dist/utils/errors/index.js.map +1 -0
  309. package/dist/utils/getValidatedAddress.cjs +37 -0
  310. package/dist/utils/getValidatedAddress.cjs.map +1 -0
  311. package/dist/utils/getValidatedAddress.d.cts +9 -0
  312. package/dist/utils/getValidatedAddress.d.ts +9 -0
  313. package/dist/utils/getValidatedAddress.js +14 -0
  314. package/dist/utils/getValidatedAddress.js.map +1 -0
  315. package/dist/utils/getValidatedHex.cjs +37 -0
  316. package/dist/utils/getValidatedHex.cjs.map +1 -0
  317. package/dist/utils/getValidatedHex.d.cts +9 -0
  318. package/dist/utils/getValidatedHex.d.ts +9 -0
  319. package/dist/utils/getValidatedHex.js +14 -0
  320. package/dist/utils/getValidatedHex.js.map +1 -0
  321. package/dist/utils/index.cjs +53 -0
  322. package/dist/utils/index.cjs.map +1 -0
  323. package/dist/utils/index.d.cts +37 -0
  324. package/dist/utils/index.d.ts +37 -0
  325. package/dist/utils/index.js +17 -0
  326. package/dist/utils/index.js.map +1 -0
  327. package/dist/utils/interest.cjs +94 -0
  328. package/dist/utils/interest.cjs.map +1 -0
  329. package/dist/utils/interest.d.cts +50 -0
  330. package/dist/utils/interest.d.ts +50 -0
  331. package/dist/utils/interest.js +70 -0
  332. package/dist/utils/interest.js.map +1 -0
  333. package/dist/utils/isWriteableContract.cjs +33 -0
  334. package/dist/utils/isWriteableContract.cjs.map +1 -0
  335. package/dist/utils/isWriteableContract.d.cts +6 -0
  336. package/dist/utils/isWriteableContract.d.ts +6 -0
  337. package/dist/utils/isWriteableContract.js +10 -0
  338. package/dist/utils/isWriteableContract.js.map +1 -0
  339. package/dist/utils/mapValues.cjs +38 -0
  340. package/dist/utils/mapValues.cjs.map +1 -0
  341. package/dist/utils/mapValues.d.cts +6 -0
  342. package/dist/utils/mapValues.d.ts +6 -0
  343. package/dist/utils/mapValues.js +15 -0
  344. package/dist/utils/mapValues.js.map +1 -0
  345. package/dist/utils/math/BigDecimals.cjs +37 -0
  346. package/dist/utils/math/BigDecimals.cjs.map +1 -0
  347. package/dist/utils/math/BigDecimals.d.cts +8 -0
  348. package/dist/utils/math/BigDecimals.d.ts +8 -0
  349. package/dist/utils/math/BigDecimals.js +14 -0
  350. package/dist/utils/math/BigDecimals.js.map +1 -0
  351. package/dist/utils/math/bigDecimal.cjs +57 -0
  352. package/dist/utils/math/bigDecimal.cjs.map +1 -0
  353. package/dist/utils/math/bigDecimal.d.cts +18 -0
  354. package/dist/utils/math/bigDecimal.d.ts +18 -0
  355. package/dist/utils/math/bigDecimal.js +23 -0
  356. package/dist/utils/math/bigDecimal.js.map +1 -0
  357. package/dist/utils/math/clamp.cjs +38 -0
  358. package/dist/utils/math/clamp.cjs.map +1 -0
  359. package/dist/utils/math/clamp.d.cts +15 -0
  360. package/dist/utils/math/clamp.d.ts +15 -0
  361. package/dist/utils/math/clamp.js +15 -0
  362. package/dist/utils/math/clamp.js.map +1 -0
  363. package/dist/utils/math/decimalAdjustment.cjs +60 -0
  364. package/dist/utils/math/decimalAdjustment.cjs.map +1 -0
  365. package/dist/utils/math/decimalAdjustment.d.cts +31 -0
  366. package/dist/utils/math/decimalAdjustment.d.ts +31 -0
  367. package/dist/utils/math/decimalAdjustment.js +35 -0
  368. package/dist/utils/math/decimalAdjustment.js.map +1 -0
  369. package/dist/utils/math/index.cjs +37 -0
  370. package/dist/utils/math/index.cjs.map +1 -0
  371. package/dist/utils/math/index.d.cts +8 -0
  372. package/dist/utils/math/index.d.ts +8 -0
  373. package/dist/utils/math/index.js +9 -0
  374. package/dist/utils/math/index.js.map +1 -0
  375. package/dist/utils/math/sumBigDecimalBy.cjs +36 -0
  376. package/dist/utils/math/sumBigDecimalBy.cjs.map +1 -0
  377. package/dist/utils/math/sumBigDecimalBy.d.cts +10 -0
  378. package/dist/utils/math/sumBigDecimalBy.d.ts +10 -0
  379. package/dist/utils/math/sumBigDecimalBy.js +13 -0
  380. package/dist/utils/math/sumBigDecimalBy.js.map +1 -0
  381. package/dist/utils/math/toBigInt.cjs +34 -0
  382. package/dist/utils/math/toBigInt.cjs.map +1 -0
  383. package/dist/utils/math/toBigInt.d.cts +11 -0
  384. package/dist/utils/math/toBigInt.d.ts +11 -0
  385. package/dist/utils/math/toBigInt.js +11 -0
  386. package/dist/utils/math/toBigInt.js.map +1 -0
  387. package/dist/utils/math/toIntegerString.cjs +34 -0
  388. package/dist/utils/math/toIntegerString.cjs.map +1 -0
  389. package/dist/utils/math/toIntegerString.d.cts +11 -0
  390. package/dist/utils/math/toIntegerString.d.ts +11 -0
  391. package/dist/utils/math/toIntegerString.js +11 -0
  392. package/dist/utils/math/toIntegerString.js.map +1 -0
  393. package/dist/utils/orders/appendix/appendixTWAPValue.cjs +50 -0
  394. package/dist/utils/orders/appendix/appendixTWAPValue.cjs.map +1 -0
  395. package/dist/utils/orders/appendix/appendixTWAPValue.d.cts +31 -0
  396. package/dist/utils/orders/appendix/appendixTWAPValue.d.ts +31 -0
  397. package/dist/utils/orders/appendix/appendixTWAPValue.js +26 -0
  398. package/dist/utils/orders/appendix/appendixTWAPValue.js.map +1 -0
  399. package/dist/utils/orders/appendix/bitMaskValue.cjs +34 -0
  400. package/dist/utils/orders/appendix/bitMaskValue.cjs.map +1 -0
  401. package/dist/utils/orders/appendix/bitMaskValue.d.cts +10 -0
  402. package/dist/utils/orders/appendix/bitMaskValue.d.ts +10 -0
  403. package/dist/utils/orders/appendix/bitMaskValue.js +11 -0
  404. package/dist/utils/orders/appendix/bitMaskValue.js.map +1 -0
  405. package/dist/utils/orders/appendix/index.cjs +33 -0
  406. package/dist/utils/orders/appendix/index.cjs.map +1 -0
  407. package/dist/utils/orders/appendix/index.d.cts +9 -0
  408. package/dist/utils/orders/appendix/index.d.ts +9 -0
  409. package/dist/utils/orders/appendix/index.js +7 -0
  410. package/dist/utils/orders/appendix/index.js.map +1 -0
  411. package/dist/utils/orders/appendix/orderAppendix.test.cjs +165 -0
  412. package/dist/utils/orders/appendix/orderAppendix.test.cjs.map +1 -0
  413. package/dist/utils/orders/appendix/orderAppendix.test.d.cts +2 -0
  414. package/dist/utils/orders/appendix/orderAppendix.test.d.ts +2 -0
  415. package/dist/utils/orders/appendix/orderAppendix.test.js +120 -0
  416. package/dist/utils/orders/appendix/orderAppendix.test.js.map +1 -0
  417. package/dist/utils/orders/appendix/packOrderAppendix.cjs +88 -0
  418. package/dist/utils/orders/appendix/packOrderAppendix.cjs.map +1 -0
  419. package/dist/utils/orders/appendix/packOrderAppendix.d.cts +12 -0
  420. package/dist/utils/orders/appendix/packOrderAppendix.d.ts +12 -0
  421. package/dist/utils/orders/appendix/packOrderAppendix.js +65 -0
  422. package/dist/utils/orders/appendix/packOrderAppendix.js.map +1 -0
  423. package/dist/utils/orders/appendix/types.cjs +19 -0
  424. package/dist/utils/orders/appendix/types.cjs.map +1 -0
  425. package/dist/utils/orders/appendix/types.d.cts +19 -0
  426. package/dist/utils/orders/appendix/types.d.ts +19 -0
  427. package/dist/utils/orders/appendix/types.js +1 -0
  428. package/dist/utils/orders/appendix/types.js.map +1 -0
  429. package/dist/utils/orders/appendix/unpackOrderAppendix.cjs +106 -0
  430. package/dist/utils/orders/appendix/unpackOrderAppendix.cjs.map +1 -0
  431. package/dist/utils/orders/appendix/unpackOrderAppendix.d.cts +12 -0
  432. package/dist/utils/orders/appendix/unpackOrderAppendix.d.ts +12 -0
  433. package/dist/utils/orders/appendix/unpackOrderAppendix.js +83 -0
  434. package/dist/utils/orders/appendix/unpackOrderAppendix.js.map +1 -0
  435. package/dist/utils/orders/index.cjs +29 -0
  436. package/dist/utils/orders/index.cjs.map +1 -0
  437. package/dist/utils/orders/index.d.cts +11 -0
  438. package/dist/utils/orders/index.d.ts +11 -0
  439. package/dist/utils/orders/index.js +5 -0
  440. package/dist/utils/orders/index.js.map +1 -0
  441. package/dist/utils/orders/orderNonce.cjs +44 -0
  442. package/dist/utils/orders/orderNonce.cjs.map +1 -0
  443. package/dist/utils/orders/orderNonce.d.cts +14 -0
  444. package/dist/utils/orders/orderNonce.d.ts +14 -0
  445. package/dist/utils/orders/orderNonce.js +20 -0
  446. package/dist/utils/orders/orderNonce.js.map +1 -0
  447. package/dist/utils/orders/recvTime.cjs +33 -0
  448. package/dist/utils/orders/recvTime.cjs.map +1 -0
  449. package/dist/utils/orders/recvTime.d.cts +9 -0
  450. package/dist/utils/orders/recvTime.d.ts +9 -0
  451. package/dist/utils/orders/recvTime.js +10 -0
  452. package/dist/utils/orders/recvTime.js.map +1 -0
  453. package/dist/utils/productTypeFilter.cjs +49 -0
  454. package/dist/utils/productTypeFilter.cjs.map +1 -0
  455. package/dist/utils/productTypeFilter.d.cts +11 -0
  456. package/dist/utils/productTypeFilter.d.ts +11 -0
  457. package/dist/utils/productTypeFilter.js +25 -0
  458. package/dist/utils/productTypeFilter.js.map +1 -0
  459. package/dist/utils/time.cjs +47 -0
  460. package/dist/utils/time.cjs.map +1 -0
  461. package/dist/utils/time.d.cts +17 -0
  462. package/dist/utils/time.d.ts +17 -0
  463. package/dist/utils/time.js +22 -0
  464. package/dist/utils/time.js.map +1 -0
  465. package/dist/utils/toPrintableObject.cjs +51 -0
  466. package/dist/utils/toPrintableObject.cjs.map +1 -0
  467. package/dist/utils/toPrintableObject.d.cts +6 -0
  468. package/dist/utils/toPrintableObject.d.ts +6 -0
  469. package/dist/utils/toPrintableObject.js +28 -0
  470. package/dist/utils/toPrintableObject.js.map +1 -0
  471. package/package.json +49 -0
  472. package/src/abis/Clearinghouse.ts +861 -0
  473. package/src/abis/ERC20.ts +185 -0
  474. package/src/abis/Endpoint.ts +559 -0
  475. package/src/abis/MockERC20.ts +311 -0
  476. package/src/abis/PerpEngine.ts +856 -0
  477. package/src/abis/Querier.ts +1492 -0
  478. package/src/abis/SpotEngine.ts +907 -0
  479. package/src/abis/WithdrawPool.ts +277 -0
  480. package/src/abis/index.ts +9 -0
  481. package/src/abis/nadoAbis.ts +19 -0
  482. package/src/consts/chainEnvToChain.ts +16 -0
  483. package/src/consts/index.ts +2 -0
  484. package/src/consts/productIds.ts +3 -0
  485. package/src/deployments/core/deployment.InkSepolia.json +13 -0
  486. package/src/deployments/core/deployment.arbitrumOne.json +18 -0
  487. package/src/deployments/core/deployment.localhost.json +18 -0
  488. package/src/deployments/index.ts +40 -0
  489. package/src/eip712/eip712ValueTypes.ts +83 -0
  490. package/src/eip712/getNadoEIP712Domain.ts +20 -0
  491. package/src/eip712/getNadoEIP712PrimaryType.ts +13 -0
  492. package/src/eip712/getNadoEIP712Types.ts +113 -0
  493. package/src/eip712/getNadoEIP712Values.ts +248 -0
  494. package/src/eip712/getOrderVerifyingAddress.ts +9 -0
  495. package/src/eip712/getSignedTransactionRequest.ts +30 -0
  496. package/src/eip712/index.ts +10 -0
  497. package/src/eip712/orderDigest.ts +28 -0
  498. package/src/eip712/signableRequestType.ts +32 -0
  499. package/src/eip712/signatureParamTypes.ts +84 -0
  500. package/src/encoding/encoding.ts +50 -0
  501. package/src/encoding/index.ts +1 -0
  502. package/src/execute/approveDepositAllowance.ts +20 -0
  503. package/src/execute/depositCollateral.ts +43 -0
  504. package/src/execute/index.ts +2 -0
  505. package/src/index.ts +8 -0
  506. package/src/types/ChainEnv.ts +13 -0
  507. package/src/types/OrderExecutionType.ts +8 -0
  508. package/src/types/balanceTypes.ts +47 -0
  509. package/src/types/bytes.ts +1 -0
  510. package/src/types/healthTypes.ts +17 -0
  511. package/src/types/index.ts +11 -0
  512. package/src/types/marketTypes.ts +40 -0
  513. package/src/types/nadoContractTypes.ts +14 -0
  514. package/src/types/orderAppendixTypes.ts +58 -0
  515. package/src/types/productTypes.ts +76 -0
  516. package/src/types/subaccountTypes.ts +13 -0
  517. package/src/types/viemTypes.ts +42 -0
  518. package/src/utils/asyncResult.ts +12 -0
  519. package/src/utils/balanceValue.ts +42 -0
  520. package/src/utils/bytes32.test.ts +117 -0
  521. package/src/utils/bytes32.ts +110 -0
  522. package/src/utils/createDeterministicLinkedSignerPrivateKey.ts +46 -0
  523. package/src/utils/errors/WalletNotProvidedError.ts +6 -0
  524. package/src/utils/errors/index.ts +1 -0
  525. package/src/utils/getValidatedAddress.ts +13 -0
  526. package/src/utils/getValidatedHex.ts +13 -0
  527. package/src/utils/index.ts +15 -0
  528. package/src/utils/interest.ts +133 -0
  529. package/src/utils/isWriteableContract.ts +11 -0
  530. package/src/utils/mapValues.ts +18 -0
  531. package/src/utils/math/BigDecimals.ts +8 -0
  532. package/src/utils/math/bigDecimal.ts +32 -0
  533. package/src/utils/math/clamp.ts +26 -0
  534. package/src/utils/math/decimalAdjustment.ts +65 -0
  535. package/src/utils/math/index.ts +7 -0
  536. package/src/utils/math/sumBigDecimalBy.ts +18 -0
  537. package/src/utils/math/toBigInt.ts +11 -0
  538. package/src/utils/math/toIntegerString.ts +11 -0
  539. package/src/utils/orders/appendix/appendixTWAPValue.ts +51 -0
  540. package/src/utils/orders/appendix/bitMaskValue.ts +11 -0
  541. package/src/utils/orders/appendix/index.ts +5 -0
  542. package/src/utils/orders/appendix/orderAppendix.test.ts +121 -0
  543. package/src/utils/orders/appendix/packOrderAppendix.ts +71 -0
  544. package/src/utils/orders/appendix/types.ts +17 -0
  545. package/src/utils/orders/appendix/unpackOrderAppendix.ts +90 -0
  546. package/src/utils/orders/index.ts +3 -0
  547. package/src/utils/orders/orderNonce.ts +32 -0
  548. package/src/utils/orders/recvTime.ts +9 -0
  549. package/src/utils/productTypeFilter.ts +23 -0
  550. package/src/utils/time.ts +21 -0
  551. package/src/utils/toPrintableObject.ts +25 -0
@@ -0,0 +1,203 @@
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 __commonJS = (cb, mod) => function __require() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+
28
+ // ../../node_modules/@jest/globals/build/index.js
29
+ var require_build = __commonJS({
30
+ "../../node_modules/@jest/globals/build/index.js"(exports2, module2) {
31
+ "use strict";
32
+ (() => {
33
+ "use strict";
34
+ var __webpack_exports__ = {};
35
+ throw new Error("Do not import `@jest/globals` outside of the Jest test environment");
36
+ module2.exports = __webpack_exports__;
37
+ })();
38
+ }
39
+ });
40
+
41
+ // src/utils/bytes32.test.ts
42
+ var import_globals = __toESM(require_build(), 1);
43
+ var import_bytes32 = require("./bytes32.cjs");
44
+ var TEST_ADDRESS = "0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685";
45
+ (0, import_globals.describe)("bytes32", () => {
46
+ (0, import_globals.it)("converts a subaccount to bytes", () => {
47
+ const expectedBytes = new Uint8Array([
48
+ 185,
49
+ 46,
50
+ 252,
51
+ 245,
52
+ 25,
53
+ 237,
54
+ 194,
55
+ 241,
56
+ 254,
57
+ 96,
58
+ 180,
59
+ 73,
60
+ 30,
61
+ 245,
62
+ 29,
63
+ 151,
64
+ 237,
65
+ 77,
66
+ 118,
67
+ 133,
68
+ 116,
69
+ 101,
70
+ 115,
71
+ 116,
72
+ 0,
73
+ 0,
74
+ 0,
75
+ 0,
76
+ 0,
77
+ 0,
78
+ 0,
79
+ 0
80
+ ]);
81
+ (0, import_globals.expect)(
82
+ (0, import_bytes32.subaccountToBytes32)({
83
+ subaccountName: "test",
84
+ subaccountOwner: TEST_ADDRESS
85
+ })
86
+ ).toStrictEqual(expectedBytes);
87
+ });
88
+ (0, import_globals.it)("converts bytes to a subaccount", () => {
89
+ const subaccountBytes = new Uint8Array([
90
+ 185,
91
+ 46,
92
+ 252,
93
+ 245,
94
+ 25,
95
+ 237,
96
+ 194,
97
+ 241,
98
+ 254,
99
+ 96,
100
+ 180,
101
+ 73,
102
+ 30,
103
+ 245,
104
+ 29,
105
+ 151,
106
+ 237,
107
+ 77,
108
+ 118,
109
+ 133,
110
+ 116,
111
+ 101,
112
+ 115,
113
+ 116,
114
+ 0,
115
+ 0,
116
+ 0,
117
+ 0,
118
+ 0,
119
+ 0,
120
+ 0,
121
+ 0
122
+ ]);
123
+ const expectedSubaccount = {
124
+ subaccountOwner: TEST_ADDRESS,
125
+ subaccountName: "test"
126
+ };
127
+ const convertedSubaccount = (0, import_bytes32.subaccountFromBytes32)(subaccountBytes);
128
+ (0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
129
+ expectedSubaccount.subaccountOwner.toLowerCase()
130
+ );
131
+ (0, import_globals.expect)(convertedSubaccount.subaccountName).toBe(
132
+ expectedSubaccount.subaccountName
133
+ );
134
+ });
135
+ (0, import_globals.it)("converts a string subaccount name to bytes", () => {
136
+ const nameBytes = (0, import_bytes32.subaccountNameToBytes12)("test");
137
+ (0, import_globals.expect)(nameBytes).toStrictEqual(
138
+ new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
139
+ );
140
+ });
141
+ (0, import_globals.it)("converts a hex string subaccount name to bytes", () => {
142
+ const nameBytes = (0, import_bytes32.subaccountNameToBytes12)("0x74657374");
143
+ (0, import_globals.expect)(nameBytes).toStrictEqual(
144
+ new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
145
+ );
146
+ });
147
+ (0, import_globals.it)("converts a subaccount with a string subaccount name to a hex string", () => {
148
+ const subaccount = {
149
+ subaccountOwner: TEST_ADDRESS,
150
+ subaccountName: "test"
151
+ };
152
+ (0, import_globals.expect)((0, import_bytes32.subaccountToHex)(subaccount)).toBe(
153
+ "0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
154
+ );
155
+ });
156
+ (0, import_globals.it)("converts a subaccount with a hex subaccount name to a hex string", () => {
157
+ const subaccount = {
158
+ subaccountOwner: TEST_ADDRESS,
159
+ // `test` in hex form
160
+ subaccountName: "0x74657374"
161
+ };
162
+ (0, import_globals.expect)((0, import_bytes32.subaccountToHex)(subaccount)).toBe(
163
+ "0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
164
+ );
165
+ });
166
+ (0, import_globals.it)("converts a hex string to a subaccount", () => {
167
+ const convertedSubaccount = (0, import_bytes32.subaccountFromHex)(
168
+ "0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
169
+ );
170
+ (0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
171
+ TEST_ADDRESS.toLowerCase()
172
+ );
173
+ (0, import_globals.expect)(convertedSubaccount.subaccountName).toBe("test");
174
+ });
175
+ (0, import_globals.it)("handles leading zero bytes in subaccount name properly", () => {
176
+ const subaccount = {
177
+ subaccountOwner: TEST_ADDRESS,
178
+ subaccountName: "\0\0\0iso\0"
179
+ };
180
+ const subaccountHex = "0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000";
181
+ (0, import_globals.expect)((0, import_bytes32.subaccountToHex)(subaccount)).toBe(subaccountHex);
182
+ (0, import_globals.expect)((0, import_bytes32.subaccountFromHex)(subaccountHex).subaccountName).toBe(
183
+ "\0\0\0iso"
184
+ );
185
+ });
186
+ (0, import_globals.it)("handles converting non-utf8 byte sequences by converting bytes to a hex string", () => {
187
+ const invalidUtf8Array = new Uint8Array([128, 129, 130]);
188
+ (0, import_globals.expect)((0, import_bytes32.subaccountNameBytesToStr)(invalidUtf8Array)).toBe("0x808182");
189
+ });
190
+ });
191
+ /*! Bundled license information:
192
+
193
+ @jest/globals/build/index.js:
194
+ (*!
195
+ * /**
196
+ * * Copyright (c) Meta Platforms, Inc. and affiliates.
197
+ * *
198
+ * * This source code is licensed under the MIT license found in the
199
+ * * LICENSE file in the root directory of this source tree.
200
+ * * /
201
+ *)
202
+ */
203
+ //# sourceMappingURL=bytes32.test.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/@jest/globals/build/index.js","../../src/utils/bytes32.test.ts"],"sourcesContent":["/*!\n * /**\n * * Copyright (c) Meta Platforms, Inc. and affiliates.\n * *\n * * This source code is licensed under the MIT license found in the\n * * LICENSE file in the root directory of this source tree.\n * * /\n */\n/******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\nvar __webpack_exports__ = {};\n\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\n\nthrow new Error('Do not import `@jest/globals` outside of the Jest test environment');\nmodule.exports = __webpack_exports__;\n/******/ })()\n;","import { describe, expect, it } from '@jest/globals';\nimport { Subaccount } from '../types/subaccountTypes';\nimport {\n subaccountFromBytes32,\n subaccountFromHex,\n subaccountNameBytesToStr,\n subaccountNameToBytes12,\n subaccountToBytes32,\n subaccountToHex,\n} from './bytes32';\n\nconst TEST_ADDRESS = '0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685';\n\ndescribe('bytes32', () => {\n it('converts a subaccount to bytes', () => {\n const expectedBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n expect(\n subaccountToBytes32({\n subaccountName: 'test',\n subaccountOwner: TEST_ADDRESS,\n }),\n ).toStrictEqual(expectedBytes);\n });\n\n it('converts bytes to a subaccount', () => {\n const subaccountBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n const expectedSubaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n const convertedSubaccount = subaccountFromBytes32(subaccountBytes);\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n expectedSubaccount.subaccountOwner.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe(\n expectedSubaccount.subaccountName,\n );\n });\n\n it('converts a string subaccount name to bytes', () => {\n const nameBytes = subaccountNameToBytes12('test');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a hex string subaccount name to bytes', () => {\n // `test` in hex form\n const nameBytes = subaccountNameToBytes12('0x74657374');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a subaccount with a string subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a subaccount with a hex subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n // `test` in hex form\n subaccountName: '0x74657374',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a hex string to a subaccount', () => {\n const convertedSubaccount = subaccountFromHex(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n TEST_ADDRESS.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe('test');\n });\n\n it('handles leading zero bytes in subaccount name properly', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: '\\u0000\\u0000\\u0002\\u0000iso\\u0000',\n };\n const subaccountHex =\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000';\n\n expect(subaccountToHex(subaccount)).toBe(subaccountHex);\n // Trailing 0 bytes are trimmed\n expect(subaccountFromHex(subaccountHex).subaccountName).toBe(\n '\\u0000\\u0000\\u0002\\u0000iso',\n );\n });\n\n it('handles converting non-utf8 byte sequences by converting bytes to a hex string', () => {\n const invalidUtf8Array = new Uint8Array([0x80, 0x81, 0x82]);\n expect(subaccountNameBytesToStr(invalidUtf8Array)).toBe('0x808182');\n });\n});\n"],"mappings":"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","names":["exports","module"]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,165 @@
1
+ import {
2
+ require_build
3
+ } from "../chunk-TUJ4HQKF.js";
4
+ import {
5
+ __toESM
6
+ } from "../chunk-5WRI5ZAA.js";
7
+
8
+ // src/utils/bytes32.test.ts
9
+ var import_globals = __toESM(require_build(), 1);
10
+ import {
11
+ subaccountFromBytes32,
12
+ subaccountFromHex,
13
+ subaccountNameBytesToStr,
14
+ subaccountNameToBytes12,
15
+ subaccountToBytes32,
16
+ subaccountToHex
17
+ } from "./bytes32.js";
18
+ var TEST_ADDRESS = "0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685";
19
+ (0, import_globals.describe)("bytes32", () => {
20
+ (0, import_globals.it)("converts a subaccount to bytes", () => {
21
+ const expectedBytes = new Uint8Array([
22
+ 185,
23
+ 46,
24
+ 252,
25
+ 245,
26
+ 25,
27
+ 237,
28
+ 194,
29
+ 241,
30
+ 254,
31
+ 96,
32
+ 180,
33
+ 73,
34
+ 30,
35
+ 245,
36
+ 29,
37
+ 151,
38
+ 237,
39
+ 77,
40
+ 118,
41
+ 133,
42
+ 116,
43
+ 101,
44
+ 115,
45
+ 116,
46
+ 0,
47
+ 0,
48
+ 0,
49
+ 0,
50
+ 0,
51
+ 0,
52
+ 0,
53
+ 0
54
+ ]);
55
+ (0, import_globals.expect)(
56
+ subaccountToBytes32({
57
+ subaccountName: "test",
58
+ subaccountOwner: TEST_ADDRESS
59
+ })
60
+ ).toStrictEqual(expectedBytes);
61
+ });
62
+ (0, import_globals.it)("converts bytes to a subaccount", () => {
63
+ const subaccountBytes = new Uint8Array([
64
+ 185,
65
+ 46,
66
+ 252,
67
+ 245,
68
+ 25,
69
+ 237,
70
+ 194,
71
+ 241,
72
+ 254,
73
+ 96,
74
+ 180,
75
+ 73,
76
+ 30,
77
+ 245,
78
+ 29,
79
+ 151,
80
+ 237,
81
+ 77,
82
+ 118,
83
+ 133,
84
+ 116,
85
+ 101,
86
+ 115,
87
+ 116,
88
+ 0,
89
+ 0,
90
+ 0,
91
+ 0,
92
+ 0,
93
+ 0,
94
+ 0,
95
+ 0
96
+ ]);
97
+ const expectedSubaccount = {
98
+ subaccountOwner: TEST_ADDRESS,
99
+ subaccountName: "test"
100
+ };
101
+ const convertedSubaccount = subaccountFromBytes32(subaccountBytes);
102
+ (0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
103
+ expectedSubaccount.subaccountOwner.toLowerCase()
104
+ );
105
+ (0, import_globals.expect)(convertedSubaccount.subaccountName).toBe(
106
+ expectedSubaccount.subaccountName
107
+ );
108
+ });
109
+ (0, import_globals.it)("converts a string subaccount name to bytes", () => {
110
+ const nameBytes = subaccountNameToBytes12("test");
111
+ (0, import_globals.expect)(nameBytes).toStrictEqual(
112
+ new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
113
+ );
114
+ });
115
+ (0, import_globals.it)("converts a hex string subaccount name to bytes", () => {
116
+ const nameBytes = subaccountNameToBytes12("0x74657374");
117
+ (0, import_globals.expect)(nameBytes).toStrictEqual(
118
+ new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0])
119
+ );
120
+ });
121
+ (0, import_globals.it)("converts a subaccount with a string subaccount name to a hex string", () => {
122
+ const subaccount = {
123
+ subaccountOwner: TEST_ADDRESS,
124
+ subaccountName: "test"
125
+ };
126
+ (0, import_globals.expect)(subaccountToHex(subaccount)).toBe(
127
+ "0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
128
+ );
129
+ });
130
+ (0, import_globals.it)("converts a subaccount with a hex subaccount name to a hex string", () => {
131
+ const subaccount = {
132
+ subaccountOwner: TEST_ADDRESS,
133
+ // `test` in hex form
134
+ subaccountName: "0x74657374"
135
+ };
136
+ (0, import_globals.expect)(subaccountToHex(subaccount)).toBe(
137
+ "0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
138
+ );
139
+ });
140
+ (0, import_globals.it)("converts a hex string to a subaccount", () => {
141
+ const convertedSubaccount = subaccountFromHex(
142
+ "0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000"
143
+ );
144
+ (0, import_globals.expect)(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(
145
+ TEST_ADDRESS.toLowerCase()
146
+ );
147
+ (0, import_globals.expect)(convertedSubaccount.subaccountName).toBe("test");
148
+ });
149
+ (0, import_globals.it)("handles leading zero bytes in subaccount name properly", () => {
150
+ const subaccount = {
151
+ subaccountOwner: TEST_ADDRESS,
152
+ subaccountName: "\0\0\0iso\0"
153
+ };
154
+ const subaccountHex = "0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000";
155
+ (0, import_globals.expect)(subaccountToHex(subaccount)).toBe(subaccountHex);
156
+ (0, import_globals.expect)(subaccountFromHex(subaccountHex).subaccountName).toBe(
157
+ "\0\0\0iso"
158
+ );
159
+ });
160
+ (0, import_globals.it)("handles converting non-utf8 byte sequences by converting bytes to a hex string", () => {
161
+ const invalidUtf8Array = new Uint8Array([128, 129, 130]);
162
+ (0, import_globals.expect)(subaccountNameBytesToStr(invalidUtf8Array)).toBe("0x808182");
163
+ });
164
+ });
165
+ //# sourceMappingURL=bytes32.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/bytes32.test.ts"],"sourcesContent":["import { describe, expect, it } from '@jest/globals';\nimport { Subaccount } from '../types/subaccountTypes';\nimport {\n subaccountFromBytes32,\n subaccountFromHex,\n subaccountNameBytesToStr,\n subaccountNameToBytes12,\n subaccountToBytes32,\n subaccountToHex,\n} from './bytes32';\n\nconst TEST_ADDRESS = '0xb92EFcF519EDC2f1FE60b4491Ef51d97Ed4d7685';\n\ndescribe('bytes32', () => {\n it('converts a subaccount to bytes', () => {\n const expectedBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n expect(\n subaccountToBytes32({\n subaccountName: 'test',\n subaccountOwner: TEST_ADDRESS,\n }),\n ).toStrictEqual(expectedBytes);\n });\n\n it('converts bytes to a subaccount', () => {\n const subaccountBytes = new Uint8Array([\n 185, 46, 252, 245, 25, 237, 194, 241, 254, 96, 180, 73, 30, 245, 29, 151,\n 237, 77, 118, 133, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,\n ]);\n const expectedSubaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n const convertedSubaccount = subaccountFromBytes32(subaccountBytes);\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n expectedSubaccount.subaccountOwner.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe(\n expectedSubaccount.subaccountName,\n );\n });\n\n it('converts a string subaccount name to bytes', () => {\n const nameBytes = subaccountNameToBytes12('test');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a hex string subaccount name to bytes', () => {\n // `test` in hex form\n const nameBytes = subaccountNameToBytes12('0x74657374');\n\n expect(nameBytes).toStrictEqual(\n new Uint8Array([116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0]),\n );\n });\n\n it('converts a subaccount with a string subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: 'test',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a subaccount with a hex subaccount name to a hex string', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n // `test` in hex form\n subaccountName: '0x74657374',\n };\n\n expect(subaccountToHex(subaccount)).toBe(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n });\n\n it('converts a hex string to a subaccount', () => {\n const convertedSubaccount = subaccountFromHex(\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d7685746573740000000000000000',\n );\n\n expect(convertedSubaccount.subaccountOwner.toLowerCase()).toBe(\n TEST_ADDRESS.toLowerCase(),\n );\n expect(convertedSubaccount.subaccountName).toBe('test');\n });\n\n it('handles leading zero bytes in subaccount name properly', () => {\n const subaccount: Subaccount = {\n subaccountOwner: TEST_ADDRESS,\n subaccountName: '\\u0000\\u0000\\u0002\\u0000iso\\u0000',\n };\n const subaccountHex =\n '0xb92efcf519edc2f1fe60b4491ef51d97ed4d76850000020069736f0000000000';\n\n expect(subaccountToHex(subaccount)).toBe(subaccountHex);\n // Trailing 0 bytes are trimmed\n expect(subaccountFromHex(subaccountHex).subaccountName).toBe(\n '\\u0000\\u0000\\u0002\\u0000iso',\n );\n });\n\n it('handles converting non-utf8 byte sequences by converting bytes to a hex string', () => {\n const invalidUtf8Array = new Uint8Array([0x80, 0x81, 0x82]);\n expect(subaccountNameBytesToStr(invalidUtf8Array)).toBe('0x808182');\n });\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/createDeterministicLinkedSignerPrivateKey.ts
21
+ var createDeterministicLinkedSignerPrivateKey_exports = {};
22
+ __export(createDeterministicLinkedSignerPrivateKey_exports, {
23
+ createDeterministicLinkedSignerPrivateKey: () => createDeterministicLinkedSignerPrivateKey
24
+ });
25
+ module.exports = __toCommonJS(createDeterministicLinkedSignerPrivateKey_exports);
26
+ var import_viem = require("viem");
27
+ var import_getNadoEIP712Domain = require("../eip712/getNadoEIP712Domain.cjs");
28
+ var import_bytes32 = require("./bytes32.cjs");
29
+ async function createDeterministicLinkedSignerPrivateKey(params) {
30
+ const {
31
+ chainId,
32
+ endpointAddress,
33
+ walletClient,
34
+ subaccountName,
35
+ subaccountOwner
36
+ } = params;
37
+ const signedMessage = await walletClient.signTypedData({
38
+ domain: (0, import_getNadoEIP712Domain.getNadoEIP712Domain)(endpointAddress, chainId),
39
+ types: {
40
+ CreateLinkedSignerWallet: [{ name: "subaccount", type: "bytes32" }]
41
+ },
42
+ primaryType: "CreateLinkedSignerWallet",
43
+ message: {
44
+ subaccount: (0, import_bytes32.subaccountToHex)({
45
+ subaccountOwner,
46
+ subaccountName
47
+ })
48
+ }
49
+ });
50
+ return (0, import_viem.keccak256)(signedMessage);
51
+ }
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ createDeterministicLinkedSignerPrivateKey
55
+ });
56
+ //# sourceMappingURL=createDeterministicLinkedSignerPrivateKey.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/createDeterministicLinkedSignerPrivateKey.ts"],"sourcesContent":["import { keccak256 } from 'viem';\nimport { Subaccount } from '../types/subaccountTypes';\nimport { WalletClientWithAccount } from '../types/viemTypes';\nimport { getNadoEIP712Domain } from '../eip712/getNadoEIP712Domain';\nimport { subaccountToHex } from './bytes32';\n\ninterface Params extends Subaccount {\n walletClient: WalletClientWithAccount;\n chainId: number;\n endpointAddress: string;\n}\n\n/**\n * Deterministically creates a new private key from a predetermined EIP712 message. This is used to\n * reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order\n * to have a consistent private key for the subaccount linked signer across different clients.\n *\n * @param params\n */\nexport async function createDeterministicLinkedSignerPrivateKey(\n params: Params,\n) {\n const {\n chainId,\n endpointAddress,\n walletClient,\n subaccountName,\n subaccountOwner,\n } = params;\n\n const signedMessage = await walletClient.signTypedData({\n domain: getNadoEIP712Domain(endpointAddress, chainId),\n types: {\n CreateLinkedSignerWallet: [{ name: 'subaccount', type: 'bytes32' }],\n },\n primaryType: 'CreateLinkedSignerWallet',\n message: {\n subaccount: subaccountToHex({\n subaccountOwner,\n subaccountName,\n }),\n },\n });\n\n return keccak256(signedMessage);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAG1B,iCAAoC;AACpC,qBAAgC;AAehC,eAAsB,0CACpB,QACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,gBAAgB,MAAM,aAAa,cAAc;AAAA,IACrD,YAAQ,gDAAoB,iBAAiB,OAAO;AAAA,IACpD,OAAO;AAAA,MACL,0BAA0B,CAAC,EAAE,MAAM,cAAc,MAAM,UAAU,CAAC;AAAA,IACpE;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,MACP,gBAAY,gCAAgB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,aAAO,uBAAU,aAAa;AAChC;","names":[]}
@@ -0,0 +1,20 @@
1
+ import { Subaccount } from '../types/subaccountTypes.cjs';
2
+ import { WalletClientWithAccount } from '../types/viemTypes.cjs';
3
+ import '../types/bytes.cjs';
4
+ import 'viem';
5
+
6
+ interface Params extends Subaccount {
7
+ walletClient: WalletClientWithAccount;
8
+ chainId: number;
9
+ endpointAddress: string;
10
+ }
11
+ /**
12
+ * Deterministically creates a new private key from a predetermined EIP712 message. This is used to
13
+ * reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order
14
+ * to have a consistent private key for the subaccount linked signer across different clients.
15
+ *
16
+ * @param params
17
+ */
18
+ declare function createDeterministicLinkedSignerPrivateKey(params: Params): Promise<`0x${string}`>;
19
+
20
+ export { createDeterministicLinkedSignerPrivateKey };
@@ -0,0 +1,20 @@
1
+ import { Subaccount } from '../types/subaccountTypes.js';
2
+ import { WalletClientWithAccount } from '../types/viemTypes.js';
3
+ import '../types/bytes.js';
4
+ import 'viem';
5
+
6
+ interface Params extends Subaccount {
7
+ walletClient: WalletClientWithAccount;
8
+ chainId: number;
9
+ endpointAddress: string;
10
+ }
11
+ /**
12
+ * Deterministically creates a new private key from a predetermined EIP712 message. This is used to
13
+ * reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order
14
+ * to have a consistent private key for the subaccount linked signer across different clients.
15
+ *
16
+ * @param params
17
+ */
18
+ declare function createDeterministicLinkedSignerPrivateKey(params: Params): Promise<`0x${string}`>;
19
+
20
+ export { createDeterministicLinkedSignerPrivateKey };
@@ -0,0 +1,33 @@
1
+ import "../chunk-5WRI5ZAA.js";
2
+
3
+ // src/utils/createDeterministicLinkedSignerPrivateKey.ts
4
+ import { keccak256 } from "viem";
5
+ import { getNadoEIP712Domain } from "../eip712/getNadoEIP712Domain.js";
6
+ import { subaccountToHex } from "./bytes32.js";
7
+ async function createDeterministicLinkedSignerPrivateKey(params) {
8
+ const {
9
+ chainId,
10
+ endpointAddress,
11
+ walletClient,
12
+ subaccountName,
13
+ subaccountOwner
14
+ } = params;
15
+ const signedMessage = await walletClient.signTypedData({
16
+ domain: getNadoEIP712Domain(endpointAddress, chainId),
17
+ types: {
18
+ CreateLinkedSignerWallet: [{ name: "subaccount", type: "bytes32" }]
19
+ },
20
+ primaryType: "CreateLinkedSignerWallet",
21
+ message: {
22
+ subaccount: subaccountToHex({
23
+ subaccountOwner,
24
+ subaccountName
25
+ })
26
+ }
27
+ });
28
+ return keccak256(signedMessage);
29
+ }
30
+ export {
31
+ createDeterministicLinkedSignerPrivateKey
32
+ };
33
+ //# sourceMappingURL=createDeterministicLinkedSignerPrivateKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/createDeterministicLinkedSignerPrivateKey.ts"],"sourcesContent":["import { keccak256 } from 'viem';\nimport { Subaccount } from '../types/subaccountTypes';\nimport { WalletClientWithAccount } from '../types/viemTypes';\nimport { getNadoEIP712Domain } from '../eip712/getNadoEIP712Domain';\nimport { subaccountToHex } from './bytes32';\n\ninterface Params extends Subaccount {\n walletClient: WalletClientWithAccount;\n chainId: number;\n endpointAddress: string;\n}\n\n/**\n * Deterministically creates a new private key from a predetermined EIP712 message. This is used to\n * reliably create an authorized signer delegate for the subaccount across different clients. Used on the FE in order\n * to have a consistent private key for the subaccount linked signer across different clients.\n *\n * @param params\n */\nexport async function createDeterministicLinkedSignerPrivateKey(\n params: Params,\n) {\n const {\n chainId,\n endpointAddress,\n walletClient,\n subaccountName,\n subaccountOwner,\n } = params;\n\n const signedMessage = await walletClient.signTypedData({\n domain: getNadoEIP712Domain(endpointAddress, chainId),\n types: {\n CreateLinkedSignerWallet: [{ name: 'subaccount', type: 'bytes32' }],\n },\n primaryType: 'CreateLinkedSignerWallet',\n message: {\n subaccount: subaccountToHex({\n subaccountOwner,\n subaccountName,\n }),\n },\n });\n\n return keccak256(signedMessage);\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAG1B,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAehC,eAAsB,0CACpB,QACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,gBAAgB,MAAM,aAAa,cAAc;AAAA,IACrD,QAAQ,oBAAoB,iBAAiB,OAAO;AAAA,IACpD,OAAO;AAAA,MACL,0BAA0B,CAAC,EAAE,MAAM,cAAc,MAAM,UAAU,CAAC;AAAA,IACpE;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,MACP,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,SAAO,UAAU,aAAa;AAChC;","names":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/errors/WalletNotProvidedError.ts
21
+ var WalletNotProvidedError_exports = {};
22
+ __export(WalletNotProvidedError_exports, {
23
+ WalletNotProvidedError: () => WalletNotProvidedError
24
+ });
25
+ module.exports = __toCommonJS(WalletNotProvidedError_exports);
26
+ var WalletNotProvidedError = class extends Error {
27
+ constructor() {
28
+ super("Wallet client not provided");
29
+ this.name = "WalletNotProvidedError";
30
+ }
31
+ };
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ WalletNotProvidedError
35
+ });
36
+ //# sourceMappingURL=WalletNotProvidedError.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/errors/WalletNotProvidedError.ts"],"sourcesContent":["export class WalletNotProvidedError extends Error {\n constructor() {\n super('Wallet client not provided');\n this.name = 'WalletNotProvidedError';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,cAAc;AACZ,UAAM,4BAA4B;AAClC,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,5 @@
1
+ declare class WalletNotProvidedError extends Error {
2
+ constructor();
3
+ }
4
+
5
+ export { WalletNotProvidedError };
@@ -0,0 +1,5 @@
1
+ declare class WalletNotProvidedError extends Error {
2
+ constructor();
3
+ }
4
+
5
+ export { WalletNotProvidedError };
@@ -0,0 +1,13 @@
1
+ import "../../chunk-5WRI5ZAA.js";
2
+
3
+ // src/utils/errors/WalletNotProvidedError.ts
4
+ var WalletNotProvidedError = class extends Error {
5
+ constructor() {
6
+ super("Wallet client not provided");
7
+ this.name = "WalletNotProvidedError";
8
+ }
9
+ };
10
+ export {
11
+ WalletNotProvidedError
12
+ };
13
+ //# sourceMappingURL=WalletNotProvidedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/errors/WalletNotProvidedError.ts"],"sourcesContent":["export class WalletNotProvidedError extends Error {\n constructor() {\n super('Wallet client not provided');\n this.name = 'WalletNotProvidedError';\n }\n}\n"],"mappings":";;;AAAO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,cAAc;AACZ,UAAM,4BAA4B;AAClC,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+
17
+ // src/utils/errors/index.ts
18
+ var errors_exports = {};
19
+ module.exports = __toCommonJS(errors_exports);
20
+ __reExport(errors_exports, require("./WalletNotProvidedError.cjs"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./WalletNotProvidedError.cjs")
24
+ });
25
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/errors/index.ts"],"sourcesContent":["export * from './WalletNotProvidedError';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,yCAAd;","names":[]}
@@ -0,0 +1 @@
1
+ export { WalletNotProvidedError } from './WalletNotProvidedError.cjs';
@@ -0,0 +1 @@
1
+ export { WalletNotProvidedError } from './WalletNotProvidedError.js';