@hinkal/common 0.2.20 → 0.2.22

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