@hinkal/common 0.2.18 → 0.2.20

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 (571) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +14 -14
  3. package/API/API.mjs +92 -93
  4. package/API/admin-calls.cjs +1 -1
  5. package/API/admin-calls.d.ts +1 -1
  6. package/API/admin-calls.mjs +4 -4
  7. package/API/callLifiAPI.cjs +1 -1
  8. package/API/callLifiAPI.d.ts +1 -1
  9. package/API/callLifiAPI.mjs +5 -5
  10. package/API/callMonitor.cjs +1 -1
  11. package/API/callMonitor.d.ts +1 -1
  12. package/API/callMonitor.mjs +7 -7
  13. package/API/callOdosAPI.cjs +1 -1
  14. package/API/callOdosAPI.mjs +11 -11
  15. package/API/callOkxAPI.cjs +1 -1
  16. package/API/callOkxAPI.d.ts +1 -1
  17. package/API/callOkxAPI.mjs +5 -5
  18. package/API/callOneInchAPI.cjs +1 -1
  19. package/API/callOneInchAPI.mjs +10 -11
  20. package/API/callRelayer.cjs +1 -1
  21. package/API/callRelayer.d.ts +6 -3
  22. package/API/callRelayer.mjs +11 -11
  23. package/API/checkRisk.cjs +1 -1
  24. package/API/checkRisk.d.ts +1 -1
  25. package/API/checkRisk.mjs +4 -4
  26. package/API/enclaveCalls.cjs +1 -1
  27. package/API/enclaveCalls.mjs +5 -4
  28. package/API/fetchCommitmentsCache.cjs +1 -1
  29. package/API/fetchCommitmentsCache.mjs +9 -9
  30. package/API/get-token-data.cjs +1 -1
  31. package/API/get-token-data.d.ts +1 -1
  32. package/API/get-token-data.mjs +5 -5
  33. package/API/get-token-price-chart-data.cjs +1 -0
  34. package/API/get-token-price-chart-data.d.ts +16 -0
  35. package/API/get-token-price-chart-data.mjs +13 -0
  36. package/API/getGasEstimates.cjs +1 -1
  37. package/API/getGasEstimates.mjs +9 -9
  38. package/API/getServerURL.cjs +1 -1
  39. package/API/getServerURL.d.ts +3 -3
  40. package/API/getServerURL.mjs +51 -67
  41. package/API/getTokenPrice.cjs +1 -1
  42. package/API/getTokenPrice.d.ts +5 -0
  43. package/API/getTokenPrice.mjs +14 -7
  44. package/API/index.d.ts +1 -3
  45. package/API/is-tx-stateless.cjs +1 -1
  46. package/API/is-tx-stateless.d.ts +1 -1
  47. package/API/is-tx-stateless.mjs +10 -12
  48. package/API/kycCalls.cjs +1 -1
  49. package/API/kycCalls.d.ts +4 -8
  50. package/API/kycCalls.mjs +23 -26
  51. package/API/onrampCalls.cjs +1 -0
  52. package/API/onrampCalls.d.ts +20 -0
  53. package/API/onrampCalls.mjs +15 -0
  54. package/API/proxyAccountsCalls.cjs +1 -1
  55. package/API/proxyAccountsCalls.d.ts +7 -2
  56. package/API/proxyAccountsCalls.mjs +27 -21
  57. package/API/relayCalls.cjs +1 -1
  58. package/API/relayCalls.mjs +4 -4
  59. package/API/scheduled-transactions-calls.cjs +1 -1
  60. package/API/scheduled-transactions-calls.d.ts +1 -1
  61. package/API/scheduled-transactions-calls.mjs +4 -4
  62. package/API/simulate-batch-tx.cjs +1 -1
  63. package/API/simulate-batch-tx.d.ts +2 -2
  64. package/API/simulate-batch-tx.mjs +7 -6
  65. package/API/solana-calls.cjs +1 -1
  66. package/API/solana-calls.d.ts +6 -3
  67. package/API/solana-calls.mjs +15 -15
  68. package/API/temporaryWalletCalls.cjs +1 -0
  69. package/API/temporaryWalletCalls.d.ts +13 -0
  70. package/API/temporaryWalletCalls.mjs +20 -0
  71. package/API/token-calls.cjs +1 -1
  72. package/API/token-calls.mjs +6 -5
  73. package/API/unspent-utxos-calls.cjs +1 -1
  74. package/API/unspent-utxos-calls.d.ts +2 -2
  75. package/API/unspent-utxos-calls.mjs +17 -18
  76. package/README.md +239 -64
  77. package/constants/addresses.constants.cjs +1 -1
  78. package/constants/addresses.constants.d.ts +0 -1
  79. package/constants/addresses.constants.mjs +7 -8
  80. package/constants/chains.constants.cjs +1 -1
  81. package/constants/chains.constants.d.ts +1 -6
  82. package/constants/chains.constants.mjs +63 -50
  83. package/constants/coingecko.constants.cjs +1 -1
  84. package/constants/coingecko.constants.d.ts +1 -0
  85. package/constants/coingecko.constants.mjs +11 -10
  86. package/constants/contracts.constants.cjs +1 -1
  87. package/constants/contracts.constants.mjs +34 -41
  88. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  89. package/constants/deploy-data/deploy-data-solana.json.mjs +28 -2
  90. package/constants/function-signatures.constants.cjs +1 -1
  91. package/constants/function-signatures.constants.d.ts +0 -1
  92. package/constants/function-signatures.constants.mjs +3 -4
  93. package/constants/kyc.constants.cjs +1 -1
  94. package/constants/kyc.constants.mjs +39 -40
  95. package/constants/mediaUrls.constants.cjs +1 -1
  96. package/constants/mediaUrls.constants.d.ts +1 -0
  97. package/constants/mediaUrls.constants.mjs +2 -1
  98. package/constants/mystery-boxes.constants.d.ts +0 -0
  99. package/constants/permit2.constants.cjs +1 -1
  100. package/constants/permit2.constants.d.ts +0 -1
  101. package/constants/permit2.constants.mjs +10 -11
  102. package/constants/server.constants.cjs +1 -1
  103. package/constants/server.constants.d.ts +20 -123
  104. package/constants/server.constants.mjs +39 -142
  105. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  106. package/constants/token-data/ethMainnetRegistry.json.mjs +0 -24
  107. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  108. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -24
  109. package/constants/token-data/index.d.ts +32 -88
  110. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  111. package/constants/token-data/localhostRegistry.json.mjs +0 -26
  112. package/constants/token-data/polygonRegistry.json.cjs +1 -1
  113. package/constants/token-data/polygonRegistry.json.mjs +4 -4
  114. package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
  115. package/constants/token-data/polygonRegistryFixed.json.mjs +4 -4
  116. package/constants/token-data/popularTokens.constants.cjs +1 -1
  117. package/constants/token-data/popularTokens.constants.mjs +0 -1
  118. package/data-structures/AccountActions/AccountActions.cjs +1 -0
  119. package/data-structures/AccountActions/AccountActions.d.ts +18 -0
  120. package/data-structures/AccountActions/AccountActions.mjs +78 -0
  121. package/data-structures/AccountActions/index.d.ts +1 -0
  122. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  123. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +68 -71
  124. package/data-structures/BlockchainEvent/BlockchainEvent.cjs +1 -0
  125. package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +14 -0
  126. package/data-structures/BlockchainEvent/BlockchainEvent.mjs +41 -0
  127. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  128. package/data-structures/Hinkal/Hinkal.d.ts +45 -54
  129. package/data-structures/Hinkal/Hinkal.mjs +314 -341
  130. package/data-structures/Hinkal/IHinkal.d.ts +40 -52
  131. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  132. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  133. package/data-structures/Hinkal/handleAutoDepositBack.mjs +49 -50
  134. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  135. package/data-structures/Hinkal/hinkalActionReceive.mjs +29 -24
  136. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  137. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +20 -20
  138. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  139. package/data-structures/Hinkal/hinkalDeposit.mjs +87 -85
  140. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  141. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +78 -169
  142. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -0
  143. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -0
  144. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +103 -0
  145. package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -0
  146. package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +4 -0
  147. package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +214 -0
  148. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  149. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +4 -5
  150. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
  152. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +113 -117
  153. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +36 -34
  155. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  156. package/data-structures/Hinkal/hinkalProxySwap.mjs +40 -36
  157. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  158. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +37 -32
  159. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  160. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
  161. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +17 -15
  162. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  163. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  164. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +84 -95
  165. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  166. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -1
  167. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +157 -155
  168. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  169. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +2 -3
  170. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +43 -40
  171. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  172. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +71 -67
  173. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  174. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  175. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +63 -59
  176. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  177. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
  178. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +81 -77
  179. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  180. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +49 -48
  181. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  182. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +2 -1
  183. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +71 -68
  184. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  185. package/data-structures/Hinkal/hinkalSwap.mjs +71 -79
  186. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  187. package/data-structures/Hinkal/hinkalTransfer.mjs +72 -71
  188. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  189. package/data-structures/Hinkal/hinkalWithdraw.mjs +81 -79
  190. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  191. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +108 -108
  192. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  193. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  194. package/data-structures/Hinkal/resetMerkleTrees.mjs +107 -53
  195. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  196. package/data-structures/IndexedDB/activity-db.d.ts +1 -0
  197. package/data-structures/IndexedDB/activity-db.mjs +92 -76
  198. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  199. package/data-structures/IndexedDB/balances-db.mjs +40 -37
  200. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  201. package/data-structures/IndexedDB/contact-db.mjs +18 -15
  202. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  203. package/data-structures/IndexedDB/signatures-db.mjs +25 -40
  204. package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +1 -0
  205. package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +20 -0
  206. package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +124 -0
  207. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +1 -0
  208. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +15 -0
  209. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +64 -0
  210. package/data-structures/PublicBalance/index.d.ts +2 -0
  211. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  212. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +83 -85
  213. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  214. package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
  215. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  216. package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +1 -1
  217. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +14 -14
  218. package/data-structures/crypto-keys/keys.cjs +1 -1
  219. package/data-structures/crypto-keys/keys.d.ts +0 -11
  220. package/data-structures/crypto-keys/keys.mjs +47 -107
  221. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
  222. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +3 -2
  223. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
  224. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
  225. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +3 -2
  226. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
  227. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
  228. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +3 -2
  229. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
  230. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  231. package/data-structures/event-service/evm/AbstractEventService.d.ts +4 -2
  232. package/data-structures/event-service/evm/AbstractEventService.mjs +19 -19
  233. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  234. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +3 -3
  235. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +6 -5
  236. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  237. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +1 -2
  238. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +3 -4
  239. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  240. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +10 -5
  241. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +39 -35
  242. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -0
  243. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +11 -0
  244. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +21 -0
  245. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -0
  246. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +6 -0
  247. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +16 -0
  248. package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -0
  249. package/data-structures/event-service/helpers/ClientEventHelper.d.ts +11 -0
  250. package/data-structures/event-service/helpers/ClientEventHelper.mjs +26 -0
  251. package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -0
  252. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +5 -0
  253. package/data-structures/event-service/helpers/PollingEventHelper.mjs +14 -0
  254. package/data-structures/event-service/index.d.ts +4 -0
  255. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
  256. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +3 -2
  257. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
  258. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  259. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +4 -3
  260. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
  261. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  262. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +4 -10
  263. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +10 -7
  264. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  265. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +3 -2
  266. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +1 -1
  267. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  268. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +1 -2
  269. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
  270. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +1 -0
  271. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +11 -0
  272. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +22 -0
  273. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -0
  274. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +6 -0
  275. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +16 -0
  276. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  277. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +11 -16
  278. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +64 -66
  279. package/data-structures/index.d.ts +3 -0
  280. package/data-structures/provider-adapter/IProviderAdapter.d.ts +8 -13
  281. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  282. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +6 -4
  283. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  284. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +6 -4
  285. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  286. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +6 -4
  287. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  288. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +6 -4
  289. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  290. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +6 -4
  291. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  292. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +5 -4
  293. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  294. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +6 -4
  295. package/data-structures/utxo/Utxo.cjs +1 -1
  296. package/data-structures/utxo/Utxo.d.ts +2 -7
  297. package/data-structures/utxo/Utxo.mjs +40 -36
  298. package/error-handling/error-codes.constants.cjs +1 -1
  299. package/error-handling/error-codes.constants.d.ts +1 -0
  300. package/error-handling/error-codes.constants.mjs +4 -3
  301. package/error-handling/get-error.message.cjs +1 -1
  302. package/error-handling/get-error.message.mjs +21 -27
  303. package/error-handling/index.d.ts +0 -1
  304. package/functions/index.d.ts +0 -1
  305. package/functions/kyc/zkMeHelper.cjs +1 -1
  306. package/functions/kyc/zkMeHelper.mjs +18 -17
  307. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  308. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  309. package/functions/pre-transaction/constructAdminData.mjs +12 -18
  310. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  311. package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
  312. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  313. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  314. package/functions/pre-transaction/getFlatFees.mjs +22 -30
  315. package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  316. package/functions/pre-transaction/getSolanaCalldataHash.mjs +22 -22
  317. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  318. package/functions/pre-transaction/getVolatileTransferAmount.mjs +21 -36
  319. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  320. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  321. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  322. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  323. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
  324. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
  325. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  326. package/functions/pre-transaction/sendV0Transaction.mjs +53 -50
  327. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  328. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  329. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  330. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  331. package/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  332. package/functions/pre-transaction/solana-public-signals.mjs +29 -26
  333. package/functions/pre-transaction/solana.cjs +1 -1
  334. package/functions/pre-transaction/solana.d.ts +2 -1
  335. package/functions/pre-transaction/solana.mjs +89 -80
  336. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  337. package/functions/private-wallet/emporium.helpers.d.ts +4 -5
  338. package/functions/private-wallet/emporium.helpers.mjs +94 -109
  339. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  340. package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
  341. package/functions/private-wallet/emporium.swap.helpers.mjs +100 -102
  342. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  343. package/functions/snarkjs/common.snarkjs.d.ts +1 -1
  344. package/functions/snarkjs/common.snarkjs.mjs +64 -64
  345. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  346. package/functions/snarkjs/constructEmporiumProof.d.ts +1 -2
  347. package/functions/snarkjs/constructEmporiumProof.mjs +89 -89
  348. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  349. package/functions/snarkjs/constructGeneralZkProof.d.ts +1 -2
  350. package/functions/snarkjs/constructGeneralZkProof.mjs +117 -121
  351. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  352. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  353. package/functions/snarkjs/constructSolanaZkProof.mjs +58 -59
  354. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  355. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
  356. package/functions/utils/addresses.cjs +1 -1
  357. package/functions/utils/addresses.d.ts +1 -0
  358. package/functions/utils/addresses.mjs +13 -12
  359. package/functions/utils/bytes32.utils.cjs +1 -1
  360. package/functions/utils/bytes32.utils.mjs +8 -7
  361. package/functions/utils/cacheFunctions.cjs +1 -1
  362. package/functions/utils/cacheFunctions.mjs +2 -2
  363. package/functions/utils/create-provider.cjs +1 -1
  364. package/functions/utils/create-provider.d.ts +1 -1
  365. package/functions/utils/create-provider.mjs +13 -9
  366. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  367. package/functions/utils/erc20tokenFunctions.d.ts +0 -1
  368. package/functions/utils/erc20tokenFunctions.mjs +22 -29
  369. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  370. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  371. package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
  372. package/functions/utils/index.d.ts +0 -1
  373. package/functions/utils/involves-permit2-op.cjs +1 -1
  374. package/functions/utils/involves-permit2-op.d.ts +0 -1
  375. package/functions/utils/involves-permit2-op.mjs +4 -6
  376. package/functions/utils/mutexes.utils.cjs +1 -1
  377. package/functions/utils/mutexes.utils.d.ts +1 -1
  378. package/functions/utils/mutexes.utils.mjs +3 -3
  379. package/functions/utils/nftTokenFunctions.cjs +1 -1
  380. package/functions/utils/nftTokenFunctions.mjs +8 -23
  381. package/functions/utils/prepareHinkal.cjs +1 -1
  382. package/functions/utils/prepareHinkal.d.ts +6 -13
  383. package/functions/utils/prepareHinkal.mjs +45 -72
  384. package/functions/utils/publicBalance.utils.cjs +1 -1
  385. package/functions/utils/publicBalance.utils.mjs +49 -54
  386. package/functions/utils/socket.utils.cjs +1 -0
  387. package/functions/utils/socket.utils.d.ts +1 -0
  388. package/functions/utils/socket.utils.mjs +12 -0
  389. package/functions/utils/string.utils.cjs +1 -1
  390. package/functions/utils/string.utils.d.ts +1 -0
  391. package/functions/utils/string.utils.mjs +18 -14
  392. package/functions/utils/token-check.utils.cjs +1 -1
  393. package/functions/utils/token-check.utils.d.ts +3 -0
  394. package/functions/utils/token-check.utils.mjs +18 -7
  395. package/functions/utils/upToDateState.cjs +1 -1
  396. package/functions/utils/upToDateState.d.ts +1 -1
  397. package/functions/utils/upToDateState.mjs +4 -4
  398. package/functions/utils/walletBalances.utils.cjs +1 -1
  399. package/functions/utils/walletBalances.utils.d.ts +2 -17
  400. package/functions/utils/walletBalances.utils.mjs +5 -36
  401. package/functions/web3/crypto.cjs +1 -0
  402. package/functions/web3/crypto.d.ts +1 -0
  403. package/functions/web3/crypto.mjs +7 -0
  404. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  405. package/functions/web3/events/getApprovedBalance.d.ts +3 -4
  406. package/functions/web3/events/getApprovedBalance.mjs +39 -44
  407. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  408. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  409. package/functions/web3/events/getInputUtxoAndBalance.mjs +107 -112
  410. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  411. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  412. package/functions/web3/events/getShieldedBalance.mjs +71 -70
  413. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  414. package/functions/web3/events/getTransactionLogEvents.mjs +38 -38
  415. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  416. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +13 -10
  417. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  418. package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
  419. package/functions/web3/functionCalls/accessTokenCalls.mjs +12 -21
  420. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  421. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  422. package/functions/web3/functionCalls/approveToken.mjs +50 -46
  423. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  424. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  425. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  426. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  427. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +1 -2
  428. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  429. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  430. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  431. package/functions/web3/functionCalls/transactCallDirect.mjs +36 -40
  432. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  433. package/functions/web3/functionCalls/transactCallRelayer.d.ts +1 -1
  434. package/functions/web3/functionCalls/transactCallRelayer.mjs +36 -34
  435. package/functions/web3/getContractMetadata.cjs +1 -1
  436. package/functions/web3/getContractMetadata.mjs +17 -22
  437. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  438. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  439. package/functions/web3/getPublicAddressBalance.mjs +6 -6
  440. package/functions/web3/getTokenHolder.cjs +1 -1
  441. package/functions/web3/getTokenHolder.mjs +27 -27
  442. package/functions/web3/index.d.ts +1 -0
  443. package/functions/web3/lifiAPI.cjs +1 -1
  444. package/functions/web3/lifiAPI.d.ts +1 -1
  445. package/functions/web3/lifiAPI.mjs +12 -12
  446. package/functions/web3/odosAPI.cjs +1 -1
  447. package/functions/web3/odosAPI.mjs +6 -19
  448. package/functions/web3/okxAPI.cjs +1 -1
  449. package/functions/web3/okxAPI.mjs +22 -22
  450. package/functions/web3/oneInchAPI.cjs +1 -1
  451. package/functions/web3/oneInchAPI.mjs +7 -20
  452. package/functions/web3/runContractFunction.cjs +1 -1
  453. package/functions/web3/runContractFunction.mjs +38 -56
  454. package/functions/web3/uniswapAPI.cjs +1 -1
  455. package/functions/web3/uniswapAPI.mjs +22 -34
  456. package/index.cjs +1 -1
  457. package/index.mjs +941 -949
  458. package/package.json +3 -2
  459. package/providers/EthersProviderAdapter.cjs +1 -1
  460. package/providers/EthersProviderAdapter.d.ts +10 -17
  461. package/providers/EthersProviderAdapter.mjs +45 -76
  462. package/providers/SolanaProviderAdapter.cjs +1 -1
  463. package/providers/SolanaProviderAdapter.d.ts +7 -11
  464. package/providers/SolanaProviderAdapter.mjs +16 -31
  465. package/providers/WagmiProviderAdapter.cjs +1 -1
  466. package/providers/WagmiProviderAdapter.d.ts +11 -17
  467. package/providers/WagmiProviderAdapter.mjs +86 -117
  468. package/providers/prepareEthersHinkal.cjs +1 -1
  469. package/providers/prepareEthersHinkal.mjs +15 -9
  470. package/providers/prepareWagmiHinkal.cjs +1 -1
  471. package/providers/prepareWagmiHinkal.mjs +16 -9
  472. package/types/TransactionSimulator.types.d.ts +2 -9
  473. package/types/activities.types.d.ts +2 -0
  474. package/types/admin.types.cjs +1 -1
  475. package/types/admin.types.d.ts +0 -6
  476. package/types/admin.types.mjs +2 -2
  477. package/types/balances.types.d.ts +0 -1
  478. package/types/bridging-tx.types.d.ts +17 -0
  479. package/types/cache.types.cjs +1 -1
  480. package/types/cache.types.d.ts +6 -3
  481. package/types/cache.types.mjs +1 -1
  482. package/types/coingecko.types.d.ts +5 -0
  483. package/types/ethereum-network.types.cjs +1 -1
  484. package/types/ethereum-network.types.d.ts +2 -8
  485. package/types/ethereum-network.types.mjs +1 -1
  486. package/types/events.types.cjs +1 -0
  487. package/types/events.types.d.ts +9 -0
  488. package/types/events.types.mjs +5 -0
  489. package/types/external-action.types.cjs +1 -1
  490. package/types/external-action.types.d.ts +0 -1
  491. package/types/external-action.types.mjs +1 -1
  492. package/types/hinkal.types.cjs +1 -1
  493. package/types/hinkal.types.d.ts +1 -7
  494. package/types/hinkal.types.mjs +22 -23
  495. package/types/index.d.ts +3 -3
  496. package/types/onramp.types.cjs +1 -0
  497. package/types/onramp.types.d.ts +58 -0
  498. package/types/onramp.types.mjs +4 -0
  499. package/types/proxy.types.d.ts +11 -3
  500. package/types/sandbox.types.cjs +1 -1
  501. package/types/sandbox.types.d.ts +10 -39
  502. package/types/sandbox.types.mjs +2 -2
  503. package/types/session.types.d.ts +2 -0
  504. package/types/solana.types.d.ts +9 -0
  505. package/types/token-prices.types.cjs +1 -1
  506. package/types/token-prices.types.d.ts +7 -0
  507. package/types/token-prices.types.mjs +4 -2
  508. package/types/token.types.d.ts +5 -0
  509. package/types/transactions.types.cjs +1 -1
  510. package/types/transactions.types.d.ts +2 -4
  511. package/types/transactions.types.mjs +3 -3
  512. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  513. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  514. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  515. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  516. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  517. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +2 -2
  518. package/API/ai-calls.cjs +0 -1
  519. package/API/ai-calls.d.ts +0 -17
  520. package/API/ai-calls.mjs +0 -21
  521. package/API/duneAPI.cjs +0 -1
  522. package/API/duneAPI.d.ts +0 -11
  523. package/API/duneAPI.mjs +0 -25
  524. package/API/getBridgeProtocols.cjs +0 -1
  525. package/API/getBridgeProtocols.d.ts +0 -7
  526. package/API/getBridgeProtocols.mjs +0 -8
  527. package/API/getLifiStatus.cjs +0 -1
  528. package/API/getLifiStatus.d.ts +0 -24
  529. package/API/getLifiStatus.mjs +0 -15
  530. package/API/getRelayerURL.cjs +0 -1
  531. package/API/getRelayerURL.d.ts +0 -1
  532. package/API/getRelayerURL.mjs +0 -10
  533. package/API/passwordCalls.cjs +0 -1
  534. package/API/passwordCalls.d.ts +0 -9
  535. package/API/passwordCalls.mjs +0 -13
  536. package/API/restoreSnapshots.cjs +0 -1
  537. package/API/restoreSnapshots.d.ts +0 -1
  538. package/API/restoreSnapshots.mjs +0 -10
  539. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
  540. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
  541. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
  542. package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
  543. package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
  544. package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
  545. package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
  546. package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
  547. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
  548. package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
  549. package/error-handling/handleErrorRestore.cjs +0 -1
  550. package/error-handling/handleErrorRestore.d.ts +0 -2
  551. package/error-handling/handleErrorRestore.mjs +0 -11
  552. package/functions/kyc/authentoHelper.cjs +0 -1
  553. package/functions/kyc/authentoHelper.d.ts +0 -12
  554. package/functions/kyc/authentoHelper.mjs +0 -30
  555. package/functions/staking/index.cjs +0 -1
  556. package/functions/staking/index.d.ts +0 -11
  557. package/functions/staking/index.mjs +0 -42
  558. package/functions/utils/get-hinkal-approvals.cjs +0 -1
  559. package/functions/utils/get-hinkal-approvals.d.ts +0 -3
  560. package/functions/utils/get-hinkal-approvals.mjs +0 -38
  561. package/functions/utils/replaceAddressInCalldata.cjs +0 -1
  562. package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
  563. package/functions/utils/replaceAddressInCalldata.mjs +0 -7
  564. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
  565. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
  566. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
  567. package/types/bridging.types.d.ts +0 -29
  568. package/types/duneAPI.types.d.ts +0 -9
  569. package/types/hinkal.stake.types.cjs +0 -1
  570. package/types/hinkal.stake.types.d.ts +0 -11
  571. package/types/hinkal.stake.types.mjs +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -71,7 +71,8 @@
71
71
  "process": "0.11.10",
72
72
  "ua-parser-js": "^1.0.37",
73
73
  "uuid": "^9.0.1",
74
- "node-forge": "^1.3.1"
74
+ "node-forge": "^1.3.1",
75
+ "socket.io-client": "^4.8.3"
75
76
  },
76
77
  "peerDependencies": {
77
78
  "wagmi": "2.13.3",
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),c=require("ethers"),s=require("../functions/web3/getContractMetadata.cjs"),h=require("../functions/utils/create-provider.cjs");class o{signer;chainId;originalProvider;fetchProvider;chainEventListener;initConnector(){}initSigner(r){this.signer=r}requireSigner(){if(!this.signer)throw Error("No Connector In Provider Adapter")}async init(r){this.requireSigner(),r&&(this.chainId=r);const e=this.signer.provider,t=this.createFetchProvider();t?(this.originalProvider=t,this.fetchProvider=t):(this.originalProvider=e,this.fetchProvider=t??e),this.fetchProvider===e&&console.warn("fetchProvider not available, falling back to signer provider")}async disconnectFromConnector(){}async connectToConnector(){return 0}async waitForTransaction(r,e){if((await this.fetchProvider?.waitForTransaction(r,e))?.status)return!0;throw Error(n.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(r){this.requireSigner();const e=await this.signer.signMessage(r);if(!e)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);if(e.includes("error"))throw new Error(n.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return e}async signTypedData(r,e,t){return this.signer._signTypedData(r,e,t)}getSelectedNetwork=()=>{if(!this.chainId)throw new Error("Illegal state: no chaindId");return i.networkRegistry[this.chainId]};async switchNetwork(r){if(this.originalProvider=this.createFetchProvider(r)??this.originalProvider,!this.originalProvider)throw new Error("switchNetwork illegal state: no provider");this.signer=this.signer?.connect(this.originalProvider),this.chainEventListener?.onChainChanged(r.chainId)}async switchAccount(r){const e=this.createFetchProvider();if(!e)throw new Error("can't create new fetch provider");this.signer=r.connect(e),await this.onAccountChanged(),this.chainEventListener?.onAccountChanged()}createFetchProvider(r){try{const t=(r??i.networkRegistry[this.chainId])?.fetchRpcUrl;return t?h.createCustomRpcProvider(t):void 0}catch(e){console.log("create Fetch Provider error",e);return}}async getAddress(){this.requireSigner();const r=await this.signer.getAddress();if(!r)throw new Error("IllegalState");return c.utils.getAddress(r)}setChainEventListener(r){this.chainEventListener=r}onAccountChanged(){return this.init()}onChainChanged(r){return this.init(r)}release(){this.removeListeners()}removeListeners(){this.chainEventListener=void 0}parseChainIdParam(r){const e=r??this.chainId;if(!e)throw new Error("No chainId provided in context");return e}getContractMetadata(r,e){const t=this.parseChainIdParam(e);return s.getContractMetadata(r,t)}getContract(r,e=void 0,t){const a=this.parseChainIdParam(t);return s.getContract(r,a,e)}getContractWithSigner(r,e=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(r,e).connect(this.signer)}getContractWithFetcher(r,e=void 0){if(!this.fetchProvider)throw new Error("fetchProvider not initialized");return this.getContract(r,e).connect(this.fetchProvider)}getContractWithFetcherForEthereum(r,e=void 0){const t=this.chainId===i.chainIds.localhost&&i.localhostNetwork===i.chainIds.ethMainnet?i.chainIds.localhost:i.chainIds.ethMainnet;return s.getContractWithFetcherByChainId(t,r,e)}async sendTransaction(r){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(r)}async connectAndPatchProvider(){return this.requireSigner(),await this.signer.getChainId()}isPermitterAvailable(){return!1}async getGasPrice(){const r=await this.fetchProvider?.getGasPrice();if(!r)throw Error("Could not fetch gas price in getGasPrice");return r.toBigInt()}}const d=new o,g=()=>new o;exports.EthersProviderAdapter=o;exports.default=g;exports.ethersProvierAdapter=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),o=require("ethers"),a=require("../functions/web3/getContractMetadata.cjs"),c=require("../functions/utils/create-provider.cjs");class i{signer;chainId;fetchProviders={};chainEventListener;constructor(){s.WALLET_SUPPORTED_CHAINS.forEach(r=>{s.isSolanaLike(r)||(this.fetchProviders[r]=c.createCustomRpcProvider(r))})}initConnector(){}initSigner(r){this.signer=r}async init(r){if(r&&(this.chainId=r),!this.chainId)throw Error("No Chain Id In Provider Adapter")}async disconnectFromConnector(){}async connectToConnector(){return 0}async waitForTransaction(r,e,t){if((await this.fetchProviders[r]?.waitForTransaction(e,t))?.status)return!0;throw Error(n.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(r){if(!this.signer)throw new Error("IllegalState: no signer");const e=await this.signer.signMessage(r);if(!e)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);if(e.includes("error"))throw new Error(n.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return e}async signTypedData(r,e,t){return this.signer._signTypedData(r,e,t)}async switchNetwork(r){const e=this.fetchProviders[r.chainId];if(!e)throw new Error("switchNetwork illegal state: no provider");this.signer=this.signer?.connect(e),this.chainEventListener?.onChainChanged(r.chainId)}async getAddress(){if(!this.signer)throw new Error("IllegalState: no signer");const r=await this.signer.getAddress();if(!r)throw new Error("IllegalState");return o.utils.getAddress(r)}setChainEventListener(r){this.chainEventListener=r}onAccountChanged(){return this.init()}onChainChanged(r){return this.init(r)}release(){this.removeListeners()}removeListeners(){this.chainEventListener=void 0}getContract(r,e,t=void 0){return a.getContract(e,r,t)}getContractWithSigner(r,e,t=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(r,e,t).connect(this.signer)}getContractWithFetcher(r,e,t=void 0){if(!this.fetchProviders[r])throw new Error("fetchProvider not initialized");return this.getContract(r,e,t).connect(this.fetchProviders[r])}async sendTransaction(r){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(r)}async connectAndPatchProvider(){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.getChainId()}isPermitterAvailable(){return!1}async getGasPrice(r){const e=await this.fetchProviders[r]?.getGasPrice();if(!e)throw Error("Could not fetch gas price in getGasPrice");return e.toBigInt()}}const h=new i,d=()=>new i;exports.EthersProviderAdapter=i;exports.default=d;exports.ethersProvierAdapter=h;
@@ -1,41 +1,34 @@
1
1
  import { ChainEventListener, IProviderAdapter } from '../data-structures/provider-adapter/IProviderAdapter';
2
- import { ContractMetadata, ContractType, EthereumNetwork } from '../types/ethereum-network.types';
2
+ import { ContractType, EthereumNetwork } from '../types/ethereum-network.types';
3
3
  import { ethers, Signer } from 'ethers';
4
4
  export declare class EthersProviderAdapter implements IProviderAdapter<Signer> {
5
- signer: Signer | undefined;
6
- chainId: number | undefined;
7
- private originalProvider;
8
- private fetchProvider;
5
+ private signer;
6
+ private chainId;
7
+ private fetchProviders;
9
8
  protected chainEventListener?: ChainEventListener;
9
+ constructor();
10
10
  initConnector(): void;
11
11
  initSigner(signer: Signer): void;
12
- requireSigner(): void;
13
12
  init(chainId?: number): Promise<void>;
14
13
  disconnectFromConnector(): Promise<void>;
15
14
  connectToConnector(): Promise<number>;
16
- waitForTransaction(transactionHash: string, confirmations: number): Promise<boolean>;
15
+ waitForTransaction(chainId: number, transactionHash: string, confirmations: number): Promise<boolean>;
17
16
  signMessage(message: string): Promise<string>;
18
17
  signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
19
- getSelectedNetwork: () => EthereumNetwork | undefined;
20
18
  switchNetwork(network: EthereumNetwork): Promise<void>;
21
- switchAccount(newSigner: Signer): Promise<void>;
22
- private createFetchProvider;
23
19
  getAddress(): Promise<string>;
24
20
  setChainEventListener(chainEventListener: ChainEventListener): void;
25
21
  onAccountChanged(): Promise<unknown>;
26
22
  onChainChanged(chainId?: number): Promise<unknown>;
27
23
  release(): void;
28
24
  private removeListeners;
29
- private parseChainIdParam;
30
- getContractMetadata(contractType: ContractType, chainId?: number): ContractMetadata;
31
- getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number): ethers.Contract;
32
- getContractWithSigner(contract: ContractType, contractAddress?: undefined): ethers.Contract;
33
- getContractWithFetcher(contract: ContractType, contractAddress?: undefined): ethers.Contract;
34
- getContractWithFetcherForEthereum(contract: ContractType, contractAddress?: undefined): ethers.Contract;
25
+ getContract(chainId: number, contractType: ContractType, contractAddress?: undefined): ethers.Contract;
26
+ getContractWithSigner(chainId: number, contract: ContractType, contractAddress?: undefined): ethers.Contract;
27
+ getContractWithFetcher(chainId: number, contract: ContractType, contractAddress?: undefined): ethers.Contract;
35
28
  sendTransaction(tx: ethers.providers.TransactionRequest): Promise<ethers.providers.TransactionResponse>;
36
29
  connectAndPatchProvider(): Promise<number>;
37
30
  isPermitterAvailable(): boolean;
38
- getGasPrice(): Promise<bigint>;
31
+ getGasPrice(chainId: number): Promise<bigint>;
39
32
  }
40
33
  export declare const ethersProvierAdapter: EthersProviderAdapter;
41
34
  declare const _default: <T = unknown>() => IProviderAdapter<T>;
@@ -1,81 +1,63 @@
1
- import { networkRegistry as o, chainIds as i, localhostNetwork as c } from "../constants/chains.constants.mjs";
2
- import { transactionErrorCodes as n } from "../error-handling/error-codes.constants.mjs";
3
- import { utils as h } from "ethers";
4
- import { getContractMetadata as d, getContract as g, getContractWithFetcherByChainId as l } from "../functions/web3/getContractMetadata.mjs";
5
- import { createCustomRpcProvider as v } from "../functions/utils/create-provider.mjs";
6
- class s {
1
+ import { WALLET_SUPPORTED_CHAINS as s, isSolanaLike as o } from "../constants/chains.constants.mjs";
2
+ import { transactionErrorCodes as i } from "../error-handling/error-codes.constants.mjs";
3
+ import { utils as a } from "ethers";
4
+ import { getContract as c } from "../functions/web3/getContractMetadata.mjs";
5
+ import { createCustomRpcProvider as h } from "../functions/utils/create-provider.mjs";
6
+ class n {
7
7
  signer;
8
8
  chainId;
9
- originalProvider;
10
- fetchProvider;
9
+ fetchProviders = {};
11
10
  chainEventListener;
11
+ constructor() {
12
+ s.forEach((r) => {
13
+ o(r) || (this.fetchProviders[r] = h(r));
14
+ });
15
+ }
12
16
  initConnector() {
13
17
  }
14
18
  initSigner(r) {
15
19
  this.signer = r;
16
20
  }
17
- requireSigner() {
18
- if (!this.signer)
19
- throw Error("No Connector In Provider Adapter");
20
- }
21
21
  async init(r) {
22
- this.requireSigner(), r && (this.chainId = r);
23
- const t = this.signer.provider, e = this.createFetchProvider();
24
- e ? (this.originalProvider = e, this.fetchProvider = e) : (this.originalProvider = t, this.fetchProvider = e ?? t), this.fetchProvider === t && console.warn("fetchProvider not available, falling back to signer provider");
22
+ if (r && (this.chainId = r), !this.chainId)
23
+ throw Error("No Chain Id In Provider Adapter");
25
24
  }
26
25
  async disconnectFromConnector() {
27
26
  }
28
27
  async connectToConnector() {
29
28
  return 0;
30
29
  }
31
- async waitForTransaction(r, t) {
32
- if ((await this.fetchProvider?.waitForTransaction(r, t))?.status)
30
+ async waitForTransaction(r, t, e) {
31
+ if ((await this.fetchProviders[r]?.waitForTransaction(t, e))?.status)
33
32
  return !0;
34
- throw Error(n.TRANSACTION_NOT_CONFIRMED);
33
+ throw Error(i.TRANSACTION_NOT_CONFIRMED);
35
34
  }
36
35
  async signMessage(r) {
37
- this.requireSigner();
36
+ if (!this.signer)
37
+ throw new Error("IllegalState: no signer");
38
38
  const t = await this.signer.signMessage(r);
39
39
  if (!t)
40
- throw new Error(n.SIGNING_FAILED);
40
+ throw new Error(i.SIGNING_FAILED);
41
41
  if (t.includes("error"))
42
- throw new Error(n.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
42
+ throw new Error(i.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
43
43
  return t;
44
44
  }
45
45
  async signTypedData(r, t, e) {
46
46
  return this.signer._signTypedData(r, t, e);
47
47
  }
48
- getSelectedNetwork = () => {
49
- if (!this.chainId)
50
- throw new Error("Illegal state: no chaindId");
51
- return o[this.chainId];
52
- };
53
48
  async switchNetwork(r) {
54
- if (this.originalProvider = this.createFetchProvider(r) ?? this.originalProvider, !this.originalProvider)
55
- throw new Error("switchNetwork illegal state: no provider");
56
- this.signer = this.signer?.connect(this.originalProvider), this.chainEventListener?.onChainChanged(r.chainId);
57
- }
58
- async switchAccount(r) {
59
- const t = this.createFetchProvider();
49
+ const t = this.fetchProviders[r.chainId];
60
50
  if (!t)
61
- throw new Error("can't create new fetch provider");
62
- this.signer = r.connect(t), await this.onAccountChanged(), this.chainEventListener?.onAccountChanged();
63
- }
64
- createFetchProvider(r) {
65
- try {
66
- const e = (r ?? o[this.chainId])?.fetchRpcUrl;
67
- return e ? v(e) : void 0;
68
- } catch (t) {
69
- console.log("create Fetch Provider error", t);
70
- return;
71
- }
51
+ throw new Error("switchNetwork illegal state: no provider");
52
+ this.signer = this.signer?.connect(t), this.chainEventListener?.onChainChanged(r.chainId);
72
53
  }
73
54
  async getAddress() {
74
- this.requireSigner();
55
+ if (!this.signer)
56
+ throw new Error("IllegalState: no signer");
75
57
  const r = await this.signer.getAddress();
76
58
  if (!r)
77
59
  throw new Error("IllegalState");
78
- return h.getAddress(r);
60
+ return a.getAddress(r);
79
61
  }
80
62
  setChainEventListener(r) {
81
63
  this.chainEventListener = r;
@@ -92,33 +74,18 @@ class s {
92
74
  removeListeners() {
93
75
  this.chainEventListener = void 0;
94
76
  }
95
- parseChainIdParam(r) {
96
- const t = r ?? this.chainId;
97
- if (!t)
98
- throw new Error("No chainId provided in context");
99
- return t;
100
- }
101
- getContractMetadata(r, t) {
102
- const e = this.parseChainIdParam(t);
103
- return d(r, e);
77
+ getContract(r, t, e = void 0) {
78
+ return c(t, r, e);
104
79
  }
105
- getContract(r, t = void 0, e) {
106
- const a = this.parseChainIdParam(e);
107
- return g(r, a, t);
108
- }
109
- getContractWithSigner(r, t = void 0) {
80
+ getContractWithSigner(r, t, e = void 0) {
110
81
  if (!this.signer)
111
82
  throw new Error("IllegalState: no signer");
112
- return this.getContract(r, t).connect(this.signer);
83
+ return this.getContract(r, t, e).connect(this.signer);
113
84
  }
114
- getContractWithFetcher(r, t = void 0) {
115
- if (!this.fetchProvider)
85
+ getContractWithFetcher(r, t, e = void 0) {
86
+ if (!this.fetchProviders[r])
116
87
  throw new Error("fetchProvider not initialized");
117
- return this.getContract(r, t).connect(this.fetchProvider);
118
- }
119
- getContractWithFetcherForEthereum(r, t = void 0) {
120
- const e = this.chainId === i.localhost && c === i.ethMainnet ? i.localhost : i.ethMainnet;
121
- return l(e, r, t);
88
+ return this.getContract(r, t, e).connect(this.fetchProviders[r]);
122
89
  }
123
90
  async sendTransaction(r) {
124
91
  if (!this.signer)
@@ -126,21 +93,23 @@ class s {
126
93
  return await this.signer.sendTransaction(r);
127
94
  }
128
95
  async connectAndPatchProvider() {
129
- return this.requireSigner(), await this.signer.getChainId();
96
+ if (!this.signer)
97
+ throw new Error("IllegalState: no signer");
98
+ return await this.signer.getChainId();
130
99
  }
131
100
  isPermitterAvailable() {
132
101
  return !1;
133
102
  }
134
- async getGasPrice() {
135
- const r = await this.fetchProvider?.getGasPrice();
136
- if (!r)
103
+ async getGasPrice(r) {
104
+ const t = await this.fetchProviders[r]?.getGasPrice();
105
+ if (!t)
137
106
  throw Error("Could not fetch gas price in getGasPrice");
138
- return r.toBigInt();
107
+ return t.toBigInt();
139
108
  }
140
109
  }
141
- const p = new s(), E = () => new s();
110
+ const P = new n(), u = () => new n();
142
111
  export {
143
- s as EthersProviderAdapter,
144
- E as default,
145
- p as ethersProvierAdapter
112
+ n as EthersProviderAdapter,
113
+ u as default,
114
+ P as ethersProvierAdapter
146
115
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),o=require("@coral-xyz/anchor");class c{chainId;connection;wallet;ethereumAddress;chainEventListener;anchorProvider;constructor(r,t,e,i){this.connection=r,this.chainId=t,this.wallet=e,this.ethereumAddress=i,this.initializeAnchorProvider()}initConnector(r){this.wallet=r}async init(r){r&&(this.chainId=r)}async connectToConnector(){return 0}async disconnectFromConnector(){}async connectAndPatchProvider(){if(!this.chainId)throw new Error("No Chain Id In Provider Adapter");return this.chainId}async waitForTransaction(r,t){try{return(await this.connection.confirmTransaction(r,"confirmed")).value.err===null}catch{throw Error(n.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}}async signMessage(r){if(!this.wallet?.signMessage)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);const t=typeof r=="string"?new TextEncoder().encode(r):r,{signature:e}=await this.wallet.signMessage(t,"utf8");if(!e)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(e).toString("hex")}`}async getAddress(){const r=this.ethereumAddress??this.wallet?.publicKey.toString();if(!r)throw new Error("IllegalState");return r}getSelectedNetwork(){if(!this.chainId)throw new Error("Illegal state: no chainId");return a.networkRegistry[this.chainId]}setChainEventListener(r){this.chainEventListener=r}async switchNetwork(r){this.chainEventListener?.onChainChanged(r.chainId)}async switchAccount(){await this.onAccountChanged(),this.chainEventListener?.onAccountChanged()}async signTypedData(r,t,e){throw new Error("Typed data signing not supported on Solana")}async onAccountChanged(){return this.init()}async onChainChanged(r){return this.init(r)}release(){this.chainEventListener=void 0}getContractMetadata(r,t){throw new Error("Not implemented from SolanaProviderAdapter")}getContract(r,t,e){throw new Error("Not implemented from SolanaProviderAdapter")}getContractWithSigner(r,t){throw new Error("Not implemented from SolanaProviderAdapter")}getContractWithFetcher(r,t){throw new Error("Not implemented from SolanaProviderAdapter")}getContractWithFetcherForEthereum(r,t){throw new Error("Not implemented from SolanaProviderAdapter")}async sendTransaction(r){throw new Error("Not implemented from SolanaProviderAdapter")}async getGasPrice(){throw new Error("Not implemented from SolanaProviderAdapter")}isPermitterAvailable(){return!1}getConnection(){return this.connection}initializeAnchorProvider(){if(!this.wallet)throw new Error("No wallet provided");return this.anchorProvider=new o.AnchorProvider(this.connection,this.wallet,{}),this.anchorProvider}getAnchorProvider(){return this.anchorProvider??this.initializeAnchorProvider()}getSolanaProgram(r){return new o.Program(r,this.getAnchorProvider())}getSolanaPublicKey(){if(!this.wallet)throw new Error("No wallet provided");return this.wallet.publicKey}}exports.SolanaProviderAdapter=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../error-handling/error-codes.constants.cjs"),i=require("@coral-xyz/anchor");class a{chainId;connection;wallet;ethereumAddress;chainEventListener;anchorProvider;constructor(r,t,e,n){this.connection=r,this.chainId=t,this.wallet=e,this.ethereumAddress=n,this.initializeAnchorProvider()}initConnector(r){this.wallet=r}async init(r){r&&(this.chainId=r)}async connectToConnector(){return 0}async disconnectFromConnector(){}async connectAndPatchProvider(){if(!this.chainId)throw new Error("No Chain Id In Provider Adapter");return this.chainId}async waitForTransaction(r,t,e){try{return(await this.connection.confirmTransaction(t,"confirmed")).value.err===null}catch{throw Error(o.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}}async signMessage(r){if(!this.wallet?.signMessage)throw new Error(o.transactionErrorCodes.SIGNING_FAILED);const t=typeof r=="string"?new TextEncoder().encode(r):r,{signature:e}=await this.wallet.signMessage(t,"utf8");if(!e)throw new Error(o.transactionErrorCodes.SIGNING_FAILED);return`0x${Buffer.from(e).toString("hex")}`}async getAddress(){const r=this.ethereumAddress??this.wallet?.publicKey.toString();if(!r)throw new Error("IllegalState");return r}setChainEventListener(r){this.chainEventListener=r}async switchNetwork(r){this.chainEventListener?.onChainChanged(r.chainId)}async signTypedData(r,t,e){throw new Error("Typed data signing not supported on Solana")}async onAccountChanged(){return this.init()}async onChainChanged(r){return this.init(r)}release(){this.chainEventListener=void 0}getContract(r,t,e){throw new Error("Not implemented from SolanaProviderAdapter")}getContractWithSigner(r,t,e){throw new Error("Not implemented from SolanaProviderAdapter")}getContractWithFetcher(r,t,e){throw new Error("Not implemented from SolanaProviderAdapter")}async sendTransaction(r){throw new Error("Not implemented from SolanaProviderAdapter")}async getGasPrice(r){throw new Error("Not implemented from SolanaProviderAdapter")}isPermitterAvailable(){return!1}getConnection(){return this.connection}initializeAnchorProvider(){if(!this.wallet)throw new Error("No wallet provided");return this.anchorProvider=new i.AnchorProvider(this.connection,this.wallet,{}),this.anchorProvider}getAnchorProvider(){return this.anchorProvider??this.initializeAnchorProvider()}getSolanaProgram(r){return new i.Program(r,this.getAnchorProvider())}getSolanaPublicKey(){if(!this.wallet)throw new Error("No wallet provided");return this.wallet.publicKey}}exports.SolanaProviderAdapter=a;
@@ -1,11 +1,11 @@
1
1
  import { Connection, PublicKey } from '@solana/web3.js';
2
2
  import { ChainEventListener, IProviderAdapter } from '../data-structures/provider-adapter/IProviderAdapter';
3
- import { ContractMetadata, ContractType, EthereumNetwork } from '../types/ethereum-network.types';
3
+ import { ContractType, EthereumNetwork } from '../types/ethereum-network.types';
4
4
  import { ethers } from 'ethers';
5
5
  import { AnchorProvider, Idl, Program } from '@coral-xyz/anchor';
6
6
  import { SolanaWallet } from '../types/solana.types';
7
7
  export declare class SolanaProviderAdapter implements IProviderAdapter<SolanaWallet> {
8
- chainId: number | undefined;
8
+ private chainId;
9
9
  private connection;
10
10
  private wallet;
11
11
  private ethereumAddress;
@@ -17,24 +17,20 @@ export declare class SolanaProviderAdapter implements IProviderAdapter<SolanaWal
17
17
  connectToConnector(): Promise<number>;
18
18
  disconnectFromConnector(): Promise<void>;
19
19
  connectAndPatchProvider(): Promise<number>;
20
- waitForTransaction(transactionHash: string, _confirmations: number): Promise<boolean>;
20
+ waitForTransaction(_chainId: number, transactionHash: string, _confirmations: number): Promise<boolean>;
21
21
  signMessage(message: string | Uint8Array): Promise<string>;
22
22
  getAddress(): Promise<string>;
23
- getSelectedNetwork(): EthereumNetwork | undefined;
24
23
  setChainEventListener(chainEventListener: ChainEventListener): void;
25
24
  switchNetwork(network: EthereumNetwork): Promise<void>;
26
- switchAccount(): Promise<void>;
27
25
  signTypedData(_domain: ethers.TypedDataDomain, _types: Record<string, ethers.TypedDataField[]>, _value: Record<string, unknown>): Promise<string>;
28
26
  onAccountChanged(): Promise<unknown>;
29
27
  onChainChanged(chainId?: number): Promise<unknown>;
30
28
  release(): void;
31
- getContractMetadata(_contractType: ContractType, _chainId?: number): ContractMetadata;
32
- getContract(_contractType: ContractType, _contractAddress?: string, _chainId?: number): ethers.Contract;
33
- getContractWithSigner(_contractType: ContractType, _contractAddress?: string): ethers.Contract;
34
- getContractWithFetcher(_contractType: ContractType, _contractAddress?: string): ethers.Contract;
35
- getContractWithFetcherForEthereum(_contractType: ContractType, _contractAddress?: string): ethers.Contract;
29
+ getContract(_chainId: number, _contractType: ContractType, _contractAddress?: string): ethers.Contract;
30
+ getContractWithSigner(_chainId: number, _contractType: ContractType, _contractAddress?: string): ethers.Contract;
31
+ getContractWithFetcher(_chainId: number, _contractType: ContractType, _contractAddress?: string): ethers.Contract;
36
32
  sendTransaction(_tx: ethers.providers.TransactionRequest): Promise<ethers.providers.TransactionResponse>;
37
- getGasPrice(): Promise<bigint>;
33
+ getGasPrice(_chainId: number): Promise<bigint>;
38
34
  isPermitterAvailable(): boolean;
39
35
  getConnection(): Connection;
40
36
  private initializeAnchorProvider;
@@ -1,7 +1,6 @@
1
- import { networkRegistry as i } from "../constants/chains.constants.mjs";
2
- import { transactionErrorCodes as n } from "../error-handling/error-codes.constants.mjs";
3
- import { AnchorProvider as a, Program as c } from "@coral-xyz/anchor";
4
- class w {
1
+ import { transactionErrorCodes as o } from "../error-handling/error-codes.constants.mjs";
2
+ import { AnchorProvider as i, Program as a } from "@coral-xyz/anchor";
3
+ class d {
5
4
  chainId;
6
5
  connection;
7
6
  wallet;
@@ -9,8 +8,8 @@ class w {
9
8
  // it is necessary because we are storing everything with ethereum address in db
10
9
  chainEventListener;
11
10
  anchorProvider;
12
- constructor(r, t, e, o) {
13
- this.connection = r, this.chainId = t, this.wallet = e, this.ethereumAddress = o, this.initializeAnchorProvider();
11
+ constructor(r, t, e, n) {
12
+ this.connection = r, this.chainId = t, this.wallet = e, this.ethereumAddress = n, this.initializeAnchorProvider();
14
13
  }
15
14
  initConnector(r) {
16
15
  this.wallet = r;
@@ -28,19 +27,19 @@ class w {
28
27
  throw new Error("No Chain Id In Provider Adapter");
29
28
  return this.chainId;
30
29
  }
31
- async waitForTransaction(r, t) {
30
+ async waitForTransaction(r, t, e) {
32
31
  try {
33
- return (await this.connection.confirmTransaction(r, "confirmed")).value.err === null;
32
+ return (await this.connection.confirmTransaction(t, "confirmed")).value.err === null;
34
33
  } catch {
35
- throw Error(n.TRANSACTION_NOT_CONFIRMED);
34
+ throw Error(o.TRANSACTION_NOT_CONFIRMED);
36
35
  }
37
36
  }
38
37
  async signMessage(r) {
39
38
  if (!this.wallet?.signMessage)
40
- throw new Error(n.SIGNING_FAILED);
39
+ throw new Error(o.SIGNING_FAILED);
41
40
  const t = typeof r == "string" ? new TextEncoder().encode(r) : r, { signature: e } = await this.wallet.signMessage(t, "utf8");
42
41
  if (!e)
43
- throw new Error(n.SIGNING_FAILED);
42
+ throw new Error(o.SIGNING_FAILED);
44
43
  return `0x${Buffer.from(e).toString("hex")}`;
45
44
  }
46
45
  async getAddress() {
@@ -49,20 +48,12 @@ class w {
49
48
  throw new Error("IllegalState");
50
49
  return r;
51
50
  }
52
- getSelectedNetwork() {
53
- if (!this.chainId)
54
- throw new Error("Illegal state: no chainId");
55
- return i[this.chainId];
56
- }
57
51
  setChainEventListener(r) {
58
52
  this.chainEventListener = r;
59
53
  }
60
54
  async switchNetwork(r) {
61
55
  this.chainEventListener?.onChainChanged(r.chainId);
62
56
  }
63
- async switchAccount() {
64
- await this.onAccountChanged(), this.chainEventListener?.onAccountChanged();
65
- }
66
57
  async signTypedData(r, t, e) {
67
58
  throw new Error("Typed data signing not supported on Solana");
68
59
  }
@@ -75,25 +66,19 @@ class w {
75
66
  release() {
76
67
  this.chainEventListener = void 0;
77
68
  }
78
- getContractMetadata(r, t) {
79
- throw new Error("Not implemented from SolanaProviderAdapter");
80
- }
81
69
  getContract(r, t, e) {
82
70
  throw new Error("Not implemented from SolanaProviderAdapter");
83
71
  }
84
- getContractWithSigner(r, t) {
85
- throw new Error("Not implemented from SolanaProviderAdapter");
86
- }
87
- getContractWithFetcher(r, t) {
72
+ getContractWithSigner(r, t, e) {
88
73
  throw new Error("Not implemented from SolanaProviderAdapter");
89
74
  }
90
- getContractWithFetcherForEthereum(r, t) {
75
+ getContractWithFetcher(r, t, e) {
91
76
  throw new Error("Not implemented from SolanaProviderAdapter");
92
77
  }
93
78
  async sendTransaction(r) {
94
79
  throw new Error("Not implemented from SolanaProviderAdapter");
95
80
  }
96
- async getGasPrice() {
81
+ async getGasPrice(r) {
97
82
  throw new Error("Not implemented from SolanaProviderAdapter");
98
83
  }
99
84
  isPermitterAvailable() {
@@ -106,13 +91,13 @@ class w {
106
91
  initializeAnchorProvider() {
107
92
  if (!this.wallet)
108
93
  throw new Error("No wallet provided");
109
- return this.anchorProvider = new a(this.connection, this.wallet, {}), this.anchorProvider;
94
+ return this.anchorProvider = new i(this.connection, this.wallet, {}), this.anchorProvider;
110
95
  }
111
96
  getAnchorProvider() {
112
97
  return this.anchorProvider ?? this.initializeAnchorProvider();
113
98
  }
114
99
  getSolanaProgram(r) {
115
- return new c(r, this.getAnchorProvider());
100
+ return new a(r, this.getAnchorProvider());
116
101
  }
117
102
  getSolanaPublicKey() {
118
103
  if (!this.wallet)
@@ -121,5 +106,5 @@ class w {
121
106
  }
122
107
  }
123
108
  export {
124
- w as SolanaProviderAdapter
109
+ d as SolanaProviderAdapter
125
110
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../constants/chains.constants.cjs"),a=require("../error-handling/error-codes.constants.cjs"),c=require("ethers"),w=require("wagmi"),o=require("wagmi/actions"),l=require("../functions/web3/getContractMetadata.cjs"),d=require("../types/eip5792.types.cjs"),f=require("../error-handling/logger.cjs");class g{connector;chainId;originalProvider;fetchProvider;signer;chainEventListener;config;unsubscribeFns=[];initConnector(t){this.connector=t}requireConnector(){if(!this.connector)throw Error("No Connector In Provider Adapter")}initConfig(t){this.config=t}async init(t){this.requireConnector(),t&&(this.chainId=t);const r=await this.connector.getProvider();this.originalProvider=new c.providers.Web3Provider(r),this.fetchProvider=this.createFetchProvider()??this.originalProvider,this.fetchProvider===this.originalProvider&&console.warn("fetchProvider not available");const e=await this.connector.getAccounts();this.signer=await this.walletClientToSigner({transport:r,account:e[0]},this.chainId)}async disconnectFromConnector(){if(!this.config)throw new Error("No Config In Provider Adapter");this.release(),await o.disconnect(this.config)}async connectToConnector(t){if(!this.config)throw new Error("No Config In Provider Adapter");if(t.id==="walletConnect")try{await o.reconnect(this.config,{connectors:[t]}),await o.disconnect(this.config)}catch{}try{return(await o.connect(this.config,{connector:t})).chainId}catch(r){if(r instanceof w.ConnectorAlreadyConnectedError)return t.getChainId();let e=a.transactionErrorCodes.CONNECTION_FAILED;throw r?.code===4001&&(e=a.UserFriendlyErrorCodes.YOU_CANCELED_REQUEST),new Error(e)}}async waitForTransaction(t,r){if((await this.fetchProvider?.waitForTransaction(t,r))?.status)return!0;throw Error(a.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(t){if(!this.config)throw new Error("No Config In Provider Adapter");const r=await o.signMessage(this.config,{message:t});if(!r)throw new Error(a.transactionErrorCodes.SIGNING_FAILED);if(r.includes("error"))throw new Error(a.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return r}async signTypedData(t,r,e){return this.signer._signTypedData(t,r,e)}getSelectedNetwork=()=>{if(!this.chainId)throw new Error("Illegal state: no chaindId");return s.networkRegistry[this.chainId]};async switchNetwork(t){if(!this.config)throw new Error("No Config In Provider Adapter");return o.switchChain(this.config,{chainId:t.chainId})}createFetchProvider(){try{const r=s.networkRegistry[this.chainId]?.fetchRpcUrl;return r?r.includes("wss")?new c.providers.WebSocketProvider(r):new c.providers.StaticJsonRpcProvider(r):void 0}catch(t){console.log("create Fetch Provider error",t);return}}async getAddress(){if(!this.config)throw new Error("No Config In Provider Adapter");const{address:t}=o.getAccount(this.config);if(!t)throw new Error("IllegalState");return c.utils.getAddress(t)}setChainEventListener(t){if(!this.config)throw new Error("No Config In Provider Adapter");this.chainEventListener=t,this.chainEventListener&&(this.unsubscribeFns.push(o.watchAccount(this.config,{onChange:({address:r},{address:e})=>{if(!this.chainEventListener){console.warn("chainEventListener is not set");return}console.log("Account changed"),r!==e&&(console.log("Account changed"),this.chainEventListener.onAccountChanged())}})),this.unsubscribeFns.push(o.watchChainId(this.config,{onChange:r=>{if(!this.chainEventListener){console.warn("chainEventListener is not set");return}console.log("Chain ID changed!",r),this.chainEventListener.onChainChanged(r)}})))}onAccountChanged(){return this.init()}onChainChanged(t){return this.init(t)}release(){this.removeListeners()}removeListeners(){this.unsubscribeFns.forEach(t=>t()),this.unsubscribeFns=[]}parseChainIdParam(t){const r=t??this.chainId;if(!r)throw new Error("No chainId provided in context");return r}getContractMetadata(t,r){const e=this.parseChainIdParam(r);return l.getContractMetadata(t,e)}getContract(t,r=void 0,e){const n=this.parseChainIdParam(e);return l.getContract(t,n,r)}getContractWithSigner(t,r=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(t,r).connect(this.signer)}getContractWithFetcher(t,r=void 0){if(!this.fetchProvider)throw new Error("fetchProvider not initialized");return this.getContract(t,r).connect(this.fetchProvider)}getContractWithFetcherForEthereum(t,r=void 0){const e=this.chainId===s.chainIds.localhost&&s.localhostNetwork===s.chainIds.ethMainnet?s.chainIds.localhost:s.chainIds.ethMainnet;return l.getContractWithFetcherByChainId(e,t,r)}async sendTransaction(t){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(t)}async connectAndPatchProvider(t){return await this.connectToConnector(t)}isPermitterAvailable(){return!!this.getSelectedNetwork()?.contractData?.permitterAddress}async getGasPrice(){const t=await this.fetchProvider?.getGasPrice();if(!t)throw Error("Could not fetch gas price in getGasPrice");return t.toBigInt()}async walletClientToSigner(t,r){const{account:e,transport:n}=t,i={chainId:r,name:""};return new c.providers.Web3Provider(n,i).getSigner(e)}switchAccount(){throw new Error("Method not implemented.")}async supportsBatchCall(){if(!this.originalProvider||!this.chainId)return!1;try{const t=await this.getAddress(),r=`0x${this.chainId.toString(16)}`,e=await this.originalProvider.send("wallet_getCapabilities",[t,[r]]),n=e?.[r]||e?.["0x0"];if(!n?.atomic)return!1;const i=typeof n.atomic=="string"?n.atomic:n.atomic?.status;return i==="supported"||i==="ready"}catch{return!1}}async waitForBatchTransactionStatus(t){if(!this.originalProvider)throw new Error("WagmiProviderAdapter: Provider not initialized");const r=1e3,e=60;for(let n=0;n<e;n+=1){await new Promise(i=>{setTimeout(()=>i(),r)});try{const i=await this.originalProvider.send("wallet_getCallsStatus",[t]);if(i.status===d.CallsStatus.Confirmed&&i.receipts?.[0]?.transactionHash)return i.receipts[0].transactionHash;if(i.status===d.CallsStatus.OffchainFailure||i.status===d.CallsStatus.ChainFailure||i.status===d.CallsStatus.PartialFailure)break}catch(i){f.Logger.log("waitForBatchTransactionStatus:",i)}}throw new Error("Batch transaction timed out or failed")}async sendBatchCallsTransaction(t){if(!this.chainId)throw new Error("WagmiProviderAdapter: chainId not initialized");if(!this.fetchProvider)throw new Error("WagmiProviderAdapter: fetchProvider not initialized");if(!this.originalProvider)throw new Error("WagmiProviderAdapter: Provider not initialized");const r=await this.getAddress(),n={version:"2.0.0",chainId:`0x${this.chainId.toString(16)}`,from:r,atomicRequired:!0,calls:t},i=await this.originalProvider.send("wallet_sendCalls",[n]),h=i?.id||i;if(!h||typeof h!="string")throw new Error("Invalid batch ID received from wallet_sendCalls");const u=await this.waitForBatchTransactionStatus(h);return this.fetchProvider.getTransaction(u)}}const v=new g,C=()=>new g;exports.WagmiProviderAdapter=g;exports.default=C;exports.wagmiProviderAdapter=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("../constants/chains.constants.cjs"),a=require("../error-handling/error-codes.constants.cjs"),c=require("ethers"),f=require("wagmi"),o=require("wagmi/actions"),v=require("../functions/web3/getContractMetadata.cjs"),h=require("../types/eip5792.types.cjs"),C=require("../error-handling/logger.cjs");class u{connector;chainId;originalProvider;fetchProviders={};signer;chainEventListener;config;unsubscribeFns=[];constructor(){l.WALLET_SUPPORTED_CHAINS.forEach(t=>{const{fetchRpcUrl:r}=l.networkRegistry[t];if(!r)throw Error("No Fetch RPC URL In Provider Adapter");this.fetchProviders[t]=r.includes("wss")?new c.providers.WebSocketProvider(r):new c.providers.StaticJsonRpcProvider(r)})}initConnector(t){this.connector=t}initConfig(t){this.config=t}async init(t){if(!this.connector)throw Error("No Connector In Provider Adapter");if(t&&(this.chainId=t),!this.chainId)throw Error("No Chain Id In Provider Adapter");const r=await this.connector.getProvider();this.originalProvider=new c.providers.Web3Provider(r);const e=await this.connector.getAccounts();this.signer=await this.walletClientToSigner({transport:r,account:e[0]},this.chainId)}async disconnectFromConnector(){if(!this.config)throw new Error("No Config In Provider Adapter");this.release(),await o.disconnect(this.config)}async connectToConnector(t){if(!this.config)throw new Error("No Config In Provider Adapter");if(t.id==="walletConnect")try{await o.reconnect(this.config,{connectors:[t]}),await o.disconnect(this.config)}catch{}try{return(await o.connect(this.config,{connector:t})).chainId}catch(r){if(r instanceof f.ConnectorAlreadyConnectedError)return t.getChainId();let e=a.transactionErrorCodes.CONNECTION_FAILED;throw r?.code===4001&&(e=a.UserFriendlyErrorCodes.YOU_CANCELED_REQUEST),new Error(e)}}async waitForTransaction(t,r,e){if((await this.fetchProviders[t]?.waitForTransaction(r,e))?.status)return!0;throw Error(a.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(t){if(!this.config)throw new Error("No Config In Provider Adapter");const r=await o.signMessage(this.config,{message:t});if(!r)throw new Error(a.transactionErrorCodes.SIGNING_FAILED);if(r.includes("error"))throw new Error(a.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return r}async signTypedData(t,r,e){return this.signer._signTypedData(t,r,e)}async switchNetwork(t){if(!this.config)throw new Error("No Config In Provider Adapter");return o.switchChain(this.config,{chainId:t.chainId})}async getAddress(){if(!this.config)throw new Error("No Config In Provider Adapter");const{address:t}=o.getAccount(this.config);if(!t)throw new Error("IllegalState");return c.utils.getAddress(t)}setChainEventListener(t){if(!this.config)throw new Error("No Config In Provider Adapter");this.chainEventListener=t,this.chainEventListener&&(this.unsubscribeFns.push(o.watchAccount(this.config,{onChange:({address:r},{address:e})=>{this.chainEventListener&&r!==e&&this.chainEventListener.onAccountChanged()}})),this.unsubscribeFns.push(o.watchChainId(this.config,{onChange:r=>{this.chainEventListener&&this.chainEventListener.onChainChanged(r)}})))}onAccountChanged(){return this.init()}onChainChanged(t){return this.init(t)}release(){this.removeListeners()}removeListeners(){this.unsubscribeFns.forEach(t=>t()),this.unsubscribeFns=[]}getContract(t,r,e=void 0){return v.getContract(r,t,e)}getContractWithSigner(t,r,e=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(t,r,e).connect(this.signer)}getContractWithFetcher(t,r,e=void 0){const n=this.fetchProviders[t];if(!n)throw new Error("fetchProvider not initialized");return this.getContract(t,r,e).connect(n)}async sendTransaction(t){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(t)}async connectAndPatchProvider(t){return await this.connectToConnector(t)}isPermitterAvailable(){if(!this.chainId)throw new Error("Illegal state: no chainId");return!!l.networkRegistry[this.chainId]?.contractData?.permitterAddress}async getGasPrice(t){const e=await this.fetchProviders[t]?.getGasPrice();if(!e)throw Error("Could not fetch gas price in getGasPrice");return e.toBigInt()}async walletClientToSigner(t,r){const{account:e,transport:n}=t,i={chainId:r,name:""};return new c.providers.Web3Provider(n,i).getSigner(e)}async supportsBatchCall(t){if(!this.originalProvider)return!1;try{const r=await this.getAddress(),e=`0x${t.toString(16)}`,n=await this.originalProvider.send("wallet_getCapabilities",[r,[e]]),i=n?.[e]||n?.["0x0"];if(!i?.atomic)return!1;const s=typeof i.atomic=="string"?i.atomic:i.atomic?.status;return s==="supported"||s==="ready"}catch{return!1}}async waitForBatchTransactionStatus(t){if(!this.originalProvider)throw new Error("WagmiProviderAdapter: Provider not initialized");const r=1e3,e=60;for(let n=0;n<e;n+=1){await new Promise(i=>{setTimeout(()=>i(),r)});try{const i=await this.originalProvider.send("wallet_getCallsStatus",[t]);if(i.status===h.CallsStatus.Confirmed&&i.receipts?.[0]?.transactionHash)return i.receipts[0].transactionHash;if(i.status===h.CallsStatus.OffchainFailure||i.status===h.CallsStatus.ChainFailure||i.status===h.CallsStatus.PartialFailure)break}catch(i){C.Logger.log("waitForBatchTransactionStatus:",i)}}throw new Error("Batch transaction timed out or failed")}async sendBatchCallsTransaction(t,r){const e=this.fetchProviders[t];if(!e)throw new Error("WagmiProviderAdapter: fetchProvider not initialized");if(!this.originalProvider)throw new Error("WagmiProviderAdapter: Provider not initialized");const n=await this.getAddress(),s={version:"2.0.0",chainId:`0x${t.toString(16)}`,from:n,atomicRequired:!0,calls:r},d=await this.originalProvider.send("wallet_sendCalls",[s]),g=d?.id||d;if(!g||typeof g!="string")throw new Error("Invalid batch ID received from wallet_sendCalls");const w=await this.waitForBatchTransactionStatus(g);return e.getTransaction(w)}}const P=new u,p=()=>new u;exports.WagmiProviderAdapter=u;exports.default=p;exports.wagmiProviderAdapter=P;
@@ -1,50 +1,44 @@
1
1
  import { ChainEventListener, IProviderAdapter } from '../data-structures/provider-adapter/IProviderAdapter';
2
- import { ContractMetadata, ContractType, EthereumNetwork } from '../types/ethereum-network.types';
2
+ import { ContractType, EthereumNetwork } from '../types/ethereum-network.types';
3
3
  import { ethers } from 'ethers';
4
4
  import { type Connector } from 'wagmi';
5
5
  import { Call } from '../types/eip5792.types';
6
6
  export declare class WagmiProviderAdapter implements IProviderAdapter<Connector> {
7
7
  private connector;
8
- chainId: number | undefined;
8
+ private chainId;
9
9
  private originalProvider;
10
- private fetchProvider;
10
+ private fetchProviders;
11
11
  private signer;
12
12
  private chainEventListener?;
13
13
  private config?;
14
14
  private unsubscribeFns;
15
+ constructor();
15
16
  initConnector(connector: Connector): void;
16
- requireConnector(): void;
17
17
  initConfig(config: any): void;
18
18
  init(chainId?: number): Promise<void>;
19
19
  disconnectFromConnector(): Promise<void>;
20
20
  connectToConnector(connector: Connector): Promise<number>;
21
- waitForTransaction(transactionHash: string, confirmations: number): Promise<boolean>;
21
+ waitForTransaction(chainId: number, transactionHash: string, confirmations: number): Promise<boolean>;
22
22
  signMessage(message: string): Promise<string>;
23
23
  signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
24
- getSelectedNetwork: () => EthereumNetwork | undefined;
25
24
  switchNetwork(network: EthereumNetwork): Promise<import("viem").Chain>;
26
- private createFetchProvider;
27
25
  getAddress(): Promise<string>;
28
26
  setChainEventListener(chainEventListener: ChainEventListener): void;
29
27
  onAccountChanged(): Promise<unknown>;
30
28
  onChainChanged(chainId?: number): Promise<unknown>;
31
29
  release(): void;
32
30
  private removeListeners;
33
- private parseChainIdParam;
34
- getContractMetadata(contractType: ContractType, chainId?: number): ContractMetadata;
35
- getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number): ethers.Contract;
36
- getContractWithSigner(contract: ContractType, contractAddress?: undefined): ethers.Contract;
37
- getContractWithFetcher(contract: ContractType, contractAddress?: undefined): ethers.Contract;
38
- getContractWithFetcherForEthereum(contract: ContractType, contractAddress?: undefined): ethers.Contract;
31
+ getContract(chainId: number, contractType: ContractType, contractAddress?: undefined): ethers.Contract;
32
+ getContractWithSigner(chainId: number, contract: ContractType, contractAddress?: undefined): ethers.Contract;
33
+ getContractWithFetcher(chainId: number, contract: ContractType, contractAddress?: undefined): ethers.Contract;
39
34
  sendTransaction(tx: ethers.providers.TransactionRequest): Promise<ethers.providers.TransactionResponse>;
40
35
  connectAndPatchProvider(connector: Connector): Promise<number>;
41
36
  isPermitterAvailable(): boolean;
42
- getGasPrice(): Promise<bigint>;
37
+ getGasPrice(chainId: number): Promise<bigint>;
43
38
  walletClientToSigner(walletClient: any, chainId: number): Promise<ethers.providers.JsonRpcSigner>;
44
- switchAccount(): Promise<void>;
45
- supportsBatchCall(): Promise<boolean>;
39
+ supportsBatchCall(chainId: number): Promise<boolean>;
46
40
  private waitForBatchTransactionStatus;
47
- sendBatchCallsTransaction(calls: Call[]): Promise<ethers.providers.TransactionResponse>;
41
+ sendBatchCallsTransaction(chainId: number, calls: Call[]): Promise<ethers.providers.TransactionResponse>;
48
42
  }
49
43
  export declare const wagmiProviderAdapter: WagmiProviderAdapter;
50
44
  declare const _default: <T = unknown>() => IProviderAdapter<T>;