@hinkal/common 0.2.17 → 0.2.19

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 (474) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +8 -13
  3. package/API/API.mjs +86 -94
  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/fetchCommitmentsCache.cjs +1 -1
  27. package/API/fetchCommitmentsCache.mjs +9 -9
  28. package/API/get-token-data.cjs +1 -1
  29. package/API/get-token-data.d.ts +1 -1
  30. package/API/get-token-data.mjs +5 -5
  31. package/API/get-token-price-chart-data.cjs +1 -0
  32. package/API/get-token-price-chart-data.d.ts +16 -0
  33. package/API/get-token-price-chart-data.mjs +13 -0
  34. package/API/getGasEstimates.cjs +1 -1
  35. package/API/getGasEstimates.mjs +9 -9
  36. package/API/getServerURL.cjs +1 -1
  37. package/API/getServerURL.d.ts +3 -3
  38. package/API/getServerURL.mjs +51 -67
  39. package/API/getTokenPrice.cjs +1 -1
  40. package/API/getTokenPrice.d.ts +5 -0
  41. package/API/getTokenPrice.mjs +14 -7
  42. package/API/getWebsiteURL.d.ts +1 -1
  43. package/API/index.d.ts +0 -3
  44. package/API/is-tx-stateless.cjs +1 -1
  45. package/API/is-tx-stateless.d.ts +1 -1
  46. package/API/is-tx-stateless.mjs +10 -12
  47. package/API/kycCalls.cjs +1 -1
  48. package/API/kycCalls.d.ts +4 -8
  49. package/API/kycCalls.mjs +23 -26
  50. package/API/onrampCalls.cjs +1 -0
  51. package/API/onrampCalls.d.ts +20 -0
  52. package/API/onrampCalls.mjs +15 -0
  53. package/API/proxyAccountsCalls.cjs +1 -1
  54. package/API/proxyAccountsCalls.d.ts +2 -2
  55. package/API/proxyAccountsCalls.mjs +19 -19
  56. package/API/relayCalls.cjs +1 -1
  57. package/API/relayCalls.mjs +4 -4
  58. package/API/scheduled-transactions-calls.cjs +1 -1
  59. package/API/scheduled-transactions-calls.d.ts +1 -1
  60. package/API/scheduled-transactions-calls.mjs +4 -4
  61. package/API/simulate-batch-tx.cjs +1 -1
  62. package/API/simulate-batch-tx.d.ts +2 -2
  63. package/API/simulate-batch-tx.mjs +7 -6
  64. package/API/solana-calls.cjs +1 -1
  65. package/API/solana-calls.d.ts +6 -3
  66. package/API/solana-calls.mjs +15 -15
  67. package/API/token-calls.cjs +1 -1
  68. package/API/token-calls.mjs +6 -5
  69. package/API/unspent-utxos-calls.cjs +1 -1
  70. package/API/unspent-utxos-calls.d.ts +1 -1
  71. package/API/unspent-utxos-calls.mjs +15 -18
  72. package/README.md +237 -61
  73. package/constants/addresses.constants.cjs +1 -1
  74. package/constants/addresses.constants.d.ts +0 -1
  75. package/constants/addresses.constants.mjs +7 -8
  76. package/constants/chains.constants.cjs +1 -1
  77. package/constants/chains.constants.d.ts +0 -5
  78. package/constants/chains.constants.mjs +21 -26
  79. package/constants/coingecko.constants.cjs +1 -1
  80. package/constants/coingecko.constants.d.ts +1 -0
  81. package/constants/coingecko.constants.mjs +11 -10
  82. package/constants/contracts.constants.cjs +1 -1
  83. package/constants/contracts.constants.mjs +34 -41
  84. package/constants/function-signatures.constants.cjs +1 -1
  85. package/constants/function-signatures.constants.d.ts +0 -1
  86. package/constants/function-signatures.constants.mjs +3 -4
  87. package/constants/mediaUrls.constants.cjs +1 -1
  88. package/constants/mediaUrls.constants.d.ts +2 -0
  89. package/constants/mediaUrls.constants.mjs +3 -1
  90. package/constants/mystery-boxes.constants.d.ts +0 -0
  91. package/constants/permit2.constants.cjs +1 -1
  92. package/constants/permit2.constants.d.ts +0 -1
  93. package/constants/permit2.constants.mjs +10 -11
  94. package/constants/server.constants.cjs +1 -1
  95. package/constants/server.constants.d.ts +14 -122
  96. package/constants/server.constants.mjs +44 -152
  97. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  98. package/constants/token-data/ethMainnetRegistry.json.mjs +0 -24
  99. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  100. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -24
  101. package/constants/token-data/index.d.ts +32 -88
  102. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  103. package/constants/token-data/localhostRegistry.json.mjs +0 -26
  104. package/constants/token-data/popularTokens.constants.cjs +1 -1
  105. package/constants/token-data/popularTokens.constants.mjs +0 -1
  106. package/constants/vite.constants.cjs +1 -1
  107. package/constants/vite.constants.mjs +36 -13
  108. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  109. package/data-structures/Hinkal/Hinkal.d.ts +34 -49
  110. package/data-structures/Hinkal/Hinkal.mjs +238 -301
  111. package/data-structures/Hinkal/IHinkal.d.ts +33 -48
  112. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  113. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  114. package/data-structures/Hinkal/handleAutoDepositBack.mjs +42 -42
  115. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  116. package/data-structures/Hinkal/hinkalActionReceive.mjs +25 -23
  117. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  118. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +9 -9
  119. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  120. package/data-structures/Hinkal/hinkalDeposit.mjs +95 -93
  121. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  122. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +147 -133
  123. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  124. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +1 -2
  125. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  126. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
  127. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +107 -115
  128. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  129. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +36 -34
  130. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  131. package/data-structures/Hinkal/hinkalProxySwap.mjs +34 -33
  132. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  133. package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +1 -1
  134. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +26 -24
  135. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  136. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
  137. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +8 -9
  138. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  139. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  140. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +86 -97
  141. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  142. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -1
  143. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +146 -146
  144. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  145. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +2 -3
  146. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +38 -38
  147. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  148. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +57 -56
  149. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  150. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  151. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -58
  152. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  153. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
  154. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +83 -79
  155. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  156. package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -1
  157. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +49 -48
  158. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  159. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +2 -1
  160. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +67 -64
  161. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  162. package/data-structures/Hinkal/hinkalSwap.d.ts +1 -1
  163. package/data-structures/Hinkal/hinkalSwap.mjs +75 -87
  164. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  165. package/data-structures/Hinkal/hinkalTransfer.d.ts +1 -1
  166. package/data-structures/Hinkal/hinkalTransfer.mjs +55 -58
  167. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  168. package/data-structures/Hinkal/hinkalWithdraw.mjs +80 -82
  169. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  170. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.d.ts +2 -2
  171. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -90
  172. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  173. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  174. package/data-structures/Hinkal/resetMerkleTrees.mjs +105 -53
  175. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  176. package/data-structures/IndexedDB/activity-db.mjs +7 -7
  177. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  178. package/data-structures/IndexedDB/balances-db.mjs +8 -8
  179. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  180. package/data-structures/IndexedDB/contact-db.mjs +10 -10
  181. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  182. package/data-structures/IndexedDB/signatures-db.mjs +25 -40
  183. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  184. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +10 -11
  185. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  186. package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
  187. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  188. package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +1 -1
  189. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +14 -14
  190. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  191. package/data-structures/event-service/evm/AbstractEventService.d.ts +1 -0
  192. package/data-structures/event-service/evm/AbstractEventService.mjs +7 -4
  193. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  194. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +0 -1
  195. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +3 -4
  196. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  197. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -1
  198. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +17 -14
  199. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  200. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +1 -0
  201. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +9 -6
  202. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  203. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +0 -1
  204. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
  205. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  206. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -2
  207. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +42 -45
  208. package/data-structures/provider-adapter/IProviderAdapter.d.ts +8 -13
  209. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  210. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +3 -4
  211. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  212. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +3 -4
  213. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  214. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +3 -4
  215. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  216. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +3 -4
  217. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  218. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +3 -4
  219. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  220. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +2 -4
  221. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  222. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +3 -4
  223. package/data-structures/utxo/Utxo.cjs +1 -1
  224. package/data-structures/utxo/Utxo.d.ts +1 -7
  225. package/data-structures/utxo/Utxo.mjs +26 -36
  226. package/error-handling/error-codes.constants.cjs +1 -1
  227. package/error-handling/error-codes.constants.d.ts +3 -0
  228. package/error-handling/error-codes.constants.mjs +5 -2
  229. package/error-handling/get-error.message.cjs +1 -1
  230. package/error-handling/get-error.message.mjs +21 -27
  231. package/error-handling/index.d.ts +0 -1
  232. package/functions/index.d.ts +0 -1
  233. package/functions/kyc/zkMeHelper.cjs +1 -1
  234. package/functions/kyc/zkMeHelper.mjs +18 -17
  235. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  236. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  237. package/functions/pre-transaction/constructAdminData.mjs +12 -18
  238. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  239. package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
  240. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  241. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  242. package/functions/pre-transaction/getFlatFees.mjs +22 -30
  243. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  244. package/functions/pre-transaction/getVolatileTransferAmount.mjs +21 -36
  245. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  246. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  247. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  248. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  249. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
  250. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
  251. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  252. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  253. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  254. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  255. package/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  256. package/functions/pre-transaction/solana-public-signals.mjs +29 -26
  257. package/functions/pre-transaction/solana.cjs +1 -1
  258. package/functions/pre-transaction/solana.d.ts +2 -1
  259. package/functions/pre-transaction/solana.mjs +60 -51
  260. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  261. package/functions/private-wallet/emporium.helpers.d.ts +3 -5
  262. package/functions/private-wallet/emporium.helpers.mjs +95 -135
  263. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  264. package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
  265. package/functions/private-wallet/emporium.swap.helpers.mjs +100 -102
  266. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  267. package/functions/snarkjs/common.snarkjs.d.ts +1 -1
  268. package/functions/snarkjs/common.snarkjs.mjs +64 -64
  269. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  270. package/functions/snarkjs/constructEmporiumProof.d.ts +2 -2
  271. package/functions/snarkjs/constructEmporiumProof.mjs +1 -1
  272. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  273. package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
  274. package/functions/snarkjs/constructGeneralZkProof.mjs +117 -121
  275. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  276. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  277. package/functions/snarkjs/constructSolanaZkProof.mjs +54 -59
  278. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  279. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
  280. package/functions/snarkjs/generateCircomData.d.ts +1 -1
  281. package/functions/utils/addresses.cjs +1 -1
  282. package/functions/utils/addresses.d.ts +1 -0
  283. package/functions/utils/addresses.mjs +13 -12
  284. package/functions/utils/cacheFunctions.cjs +1 -1
  285. package/functions/utils/cacheFunctions.mjs +2 -2
  286. package/functions/utils/enum.utils.cjs +1 -0
  287. package/functions/utils/enum.utils.mjs +14 -0
  288. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  289. package/functions/utils/erc20tokenFunctions.d.ts +0 -1
  290. package/functions/utils/erc20tokenFunctions.mjs +22 -29
  291. package/functions/utils/get-hinkal-approvals.cjs +1 -1
  292. package/functions/utils/get-hinkal-approvals.d.ts +1 -1
  293. package/functions/utils/get-hinkal-approvals.mjs +16 -16
  294. package/functions/utils/getDataFromTransaction.d.ts +3 -3
  295. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  296. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  297. package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
  298. package/functions/utils/involves-permit2-op.cjs +1 -1
  299. package/functions/utils/involves-permit2-op.d.ts +0 -1
  300. package/functions/utils/involves-permit2-op.mjs +4 -6
  301. package/functions/utils/mutexes.utils.cjs +1 -1
  302. package/functions/utils/mutexes.utils.d.ts +1 -1
  303. package/functions/utils/mutexes.utils.mjs +3 -3
  304. package/functions/utils/nftTokenFunctions.cjs +1 -1
  305. package/functions/utils/nftTokenFunctions.mjs +8 -23
  306. package/functions/utils/prepareHinkal.cjs +1 -1
  307. package/functions/utils/prepareHinkal.d.ts +0 -6
  308. package/functions/utils/prepareHinkal.mjs +41 -60
  309. package/functions/utils/token-check.utils.cjs +1 -1
  310. package/functions/utils/token-check.utils.d.ts +3 -0
  311. package/functions/utils/token-check.utils.mjs +18 -7
  312. package/functions/utils/upToDateState.cjs +1 -1
  313. package/functions/utils/upToDateState.d.ts +1 -1
  314. package/functions/utils/upToDateState.mjs +4 -4
  315. package/functions/utils/walletBalances.utils.cjs +1 -1
  316. package/functions/utils/walletBalances.utils.d.ts +1 -16
  317. package/functions/utils/walletBalances.utils.mjs +4 -35
  318. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  319. package/functions/web3/events/getApprovedBalance.d.ts +3 -4
  320. package/functions/web3/events/getApprovedBalance.mjs +39 -44
  321. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  322. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  323. package/functions/web3/events/getInputUtxoAndBalance.mjs +114 -121
  324. package/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
  325. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  326. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  327. package/functions/web3/events/getShieldedBalance.mjs +71 -70
  328. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  329. package/functions/web3/events/getTransactionLogEvents.mjs +7 -7
  330. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  331. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +7 -7
  332. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  333. package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
  334. package/functions/web3/functionCalls/accessTokenCalls.mjs +12 -21
  335. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  336. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  337. package/functions/web3/functionCalls/approveToken.mjs +71 -63
  338. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  339. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  340. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  341. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  342. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +1 -2
  343. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  344. package/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -0
  345. package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +2 -0
  346. package/functions/web3/functionCalls/recoverTransactionFromError.mjs +23 -0
  347. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  348. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  349. package/functions/web3/functionCalls/transactCallDirect.mjs +45 -36
  350. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  351. package/functions/web3/functionCalls/transactCallRelayer.d.ts +1 -1
  352. package/functions/web3/functionCalls/transactCallRelayer.mjs +44 -43
  353. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  354. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  355. package/functions/web3/getPublicAddressBalance.mjs +6 -6
  356. package/functions/web3/getTokenHolder.cjs +1 -1
  357. package/functions/web3/getTokenHolder.mjs +8 -8
  358. package/functions/web3/lifiAPI.cjs +1 -1
  359. package/functions/web3/lifiAPI.d.ts +1 -1
  360. package/functions/web3/lifiAPI.mjs +12 -12
  361. package/functions/web3/odosAPI.cjs +1 -1
  362. package/functions/web3/odosAPI.mjs +6 -19
  363. package/functions/web3/okxAPI.cjs +1 -1
  364. package/functions/web3/okxAPI.mjs +22 -22
  365. package/functions/web3/oneInchAPI.cjs +1 -1
  366. package/functions/web3/oneInchAPI.mjs +7 -20
  367. package/functions/web3/runContractFunction.cjs +1 -1
  368. package/functions/web3/runContractFunction.mjs +38 -56
  369. package/functions/web3/uniswapAPI.cjs +1 -1
  370. package/functions/web3/uniswapAPI.mjs +22 -34
  371. package/index.cjs +1 -1
  372. package/index.mjs +937 -967
  373. package/package.json +2 -2
  374. package/providers/EthersProviderAdapter.cjs +1 -1
  375. package/providers/EthersProviderAdapter.d.ts +10 -17
  376. package/providers/EthersProviderAdapter.mjs +48 -76
  377. package/providers/SolanaProviderAdapter.cjs +1 -1
  378. package/providers/SolanaProviderAdapter.d.ts +7 -11
  379. package/providers/SolanaProviderAdapter.mjs +16 -31
  380. package/providers/WagmiProviderAdapter.cjs +1 -1
  381. package/providers/WagmiProviderAdapter.d.ts +11 -17
  382. package/providers/WagmiProviderAdapter.mjs +86 -117
  383. package/providers/prepareEthersHinkal.cjs +1 -1
  384. package/providers/prepareEthersHinkal.mjs +6 -7
  385. package/providers/prepareWagmiHinkal.cjs +1 -1
  386. package/providers/prepareWagmiHinkal.mjs +5 -5
  387. package/types/TransactionSimulator.types.d.ts +2 -9
  388. package/types/admin.types.cjs +1 -1
  389. package/types/admin.types.d.ts +3 -7
  390. package/types/admin.types.mjs +2 -2
  391. package/types/balances.types.d.ts +0 -1
  392. package/types/cache.types.cjs +1 -1
  393. package/types/cache.types.d.ts +2 -3
  394. package/types/cache.types.mjs +1 -1
  395. package/types/coingecko.types.d.ts +5 -0
  396. package/types/ethereum-network.types.cjs +1 -1
  397. package/types/ethereum-network.types.d.ts +1 -8
  398. package/types/ethereum-network.types.mjs +1 -1
  399. package/types/external-action.types.cjs +1 -1
  400. package/types/external-action.types.d.ts +0 -1
  401. package/types/external-action.types.mjs +1 -1
  402. package/types/hinkal.types.cjs +1 -1
  403. package/types/hinkal.types.d.ts +1 -7
  404. package/types/hinkal.types.mjs +22 -23
  405. package/types/index.d.ts +1 -3
  406. package/types/onramp.types.cjs +1 -0
  407. package/types/onramp.types.d.ts +58 -0
  408. package/types/onramp.types.mjs +4 -0
  409. package/types/proxy.types.d.ts +1 -0
  410. package/types/sandbox.types.cjs +1 -1
  411. package/types/sandbox.types.d.ts +8 -39
  412. package/types/sandbox.types.mjs +2 -2
  413. package/types/session.types.d.ts +2 -0
  414. package/types/solana.types.d.ts +3 -0
  415. package/types/token-prices.types.cjs +1 -1
  416. package/types/token-prices.types.d.ts +7 -0
  417. package/types/token-prices.types.mjs +4 -2
  418. package/types/transactions.types.cjs +1 -1
  419. package/types/transactions.types.d.ts +6 -4
  420. package/types/transactions.types.mjs +4 -3
  421. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  422. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  423. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  424. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  425. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  426. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  427. package/API/ai-calls.cjs +0 -1
  428. package/API/ai-calls.d.ts +0 -17
  429. package/API/ai-calls.mjs +0 -21
  430. package/API/duneAPI.cjs +0 -1
  431. package/API/duneAPI.d.ts +0 -11
  432. package/API/duneAPI.mjs +0 -25
  433. package/API/getBridgeProtocols.cjs +0 -1
  434. package/API/getBridgeProtocols.d.ts +0 -7
  435. package/API/getBridgeProtocols.mjs +0 -8
  436. package/API/getLifiStatus.cjs +0 -1
  437. package/API/getLifiStatus.d.ts +0 -24
  438. package/API/getLifiStatus.mjs +0 -15
  439. package/API/getRelayerURL.cjs +0 -1
  440. package/API/getRelayerURL.d.ts +0 -1
  441. package/API/getRelayerURL.mjs +0 -10
  442. package/API/passwordCalls.cjs +0 -1
  443. package/API/passwordCalls.d.ts +0 -9
  444. package/API/passwordCalls.mjs +0 -13
  445. package/API/restoreSnapshots.cjs +0 -1
  446. package/API/restoreSnapshots.d.ts +0 -1
  447. package/API/restoreSnapshots.mjs +0 -10
  448. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
  449. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
  450. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
  451. package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
  452. package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
  453. package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
  454. package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
  455. package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
  456. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
  457. package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
  458. package/error-handling/handleErrorRestore.cjs +0 -1
  459. package/error-handling/handleErrorRestore.d.ts +0 -2
  460. package/error-handling/handleErrorRestore.mjs +0 -11
  461. package/functions/staking/index.cjs +0 -1
  462. package/functions/staking/index.d.ts +0 -11
  463. package/functions/staking/index.mjs +0 -42
  464. package/functions/utils/replaceAddressInCalldata.cjs +0 -1
  465. package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
  466. package/functions/utils/replaceAddressInCalldata.mjs +0 -7
  467. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
  468. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
  469. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
  470. package/types/bridging.types.d.ts +0 -29
  471. package/types/duneAPI.types.d.ts +0 -9
  472. package/types/hinkal.stake.types.cjs +0 -1
  473. package/types/hinkal.stake.types.d.ts +0 -11
  474. package/types/hinkal.stake.types.mjs +0 -4
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.2.17",
4
- "homepage": "hinkal.pro",
3
+ "version": "0.2.19",
4
+ "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
7
7
  },
@@ -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=>{const{fetchRpcUrl:e}=s.networkRegistry[r];if(!e)throw Error("No Fetch RPC URL In Provider Adapter");this.fetchProviders[r]=c.createCustomRpcProvider(e)})}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,66 @@
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, networkRegistry 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
+ const { fetchRpcUrl: t } = o[r];
14
+ if (!t)
15
+ throw Error("No Fetch RPC URL In Provider Adapter");
16
+ this.fetchProviders[r] = h(t);
17
+ });
18
+ }
12
19
  initConnector() {
13
20
  }
14
21
  initSigner(r) {
15
22
  this.signer = r;
16
23
  }
17
- requireSigner() {
18
- if (!this.signer)
19
- throw Error("No Connector In Provider Adapter");
20
- }
21
24
  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");
25
+ if (r && (this.chainId = r), !this.chainId)
26
+ throw Error("No Chain Id In Provider Adapter");
25
27
  }
26
28
  async disconnectFromConnector() {
27
29
  }
28
30
  async connectToConnector() {
29
31
  return 0;
30
32
  }
31
- async waitForTransaction(r, t) {
32
- if ((await this.fetchProvider?.waitForTransaction(r, t))?.status)
33
+ async waitForTransaction(r, t, e) {
34
+ if ((await this.fetchProviders[r]?.waitForTransaction(t, e))?.status)
33
35
  return !0;
34
- throw Error(n.TRANSACTION_NOT_CONFIRMED);
36
+ throw Error(i.TRANSACTION_NOT_CONFIRMED);
35
37
  }
36
38
  async signMessage(r) {
37
- this.requireSigner();
39
+ if (!this.signer)
40
+ throw new Error("IllegalState: no signer");
38
41
  const t = await this.signer.signMessage(r);
39
42
  if (!t)
40
- throw new Error(n.SIGNING_FAILED);
43
+ throw new Error(i.SIGNING_FAILED);
41
44
  if (t.includes("error"))
42
- throw new Error(n.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
45
+ throw new Error(i.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
43
46
  return t;
44
47
  }
45
48
  async signTypedData(r, t, e) {
46
49
  return this.signer._signTypedData(r, t, e);
47
50
  }
48
- getSelectedNetwork = () => {
49
- if (!this.chainId)
50
- throw new Error("Illegal state: no chaindId");
51
- return o[this.chainId];
52
- };
53
51
  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();
52
+ const t = this.fetchProviders[r.chainId];
60
53
  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
- }
54
+ throw new Error("switchNetwork illegal state: no provider");
55
+ this.signer = this.signer?.connect(t), this.chainEventListener?.onChainChanged(r.chainId);
72
56
  }
73
57
  async getAddress() {
74
- this.requireSigner();
58
+ if (!this.signer)
59
+ throw new Error("IllegalState: no signer");
75
60
  const r = await this.signer.getAddress();
76
61
  if (!r)
77
62
  throw new Error("IllegalState");
78
- return h.getAddress(r);
63
+ return a.getAddress(r);
79
64
  }
80
65
  setChainEventListener(r) {
81
66
  this.chainEventListener = r;
@@ -92,33 +77,18 @@ class s {
92
77
  removeListeners() {
93
78
  this.chainEventListener = void 0;
94
79
  }
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);
80
+ getContract(r, t, e = void 0) {
81
+ return c(t, r, e);
104
82
  }
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) {
83
+ getContractWithSigner(r, t, e = void 0) {
110
84
  if (!this.signer)
111
85
  throw new Error("IllegalState: no signer");
112
- return this.getContract(r, t).connect(this.signer);
86
+ return this.getContract(r, t, e).connect(this.signer);
113
87
  }
114
- getContractWithFetcher(r, t = void 0) {
115
- if (!this.fetchProvider)
88
+ getContractWithFetcher(r, t, e = void 0) {
89
+ if (!this.fetchProviders[r])
116
90
  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);
91
+ return this.getContract(r, t, e).connect(this.fetchProviders[r]);
122
92
  }
123
93
  async sendTransaction(r) {
124
94
  if (!this.signer)
@@ -126,21 +96,23 @@ class s {
126
96
  return await this.signer.sendTransaction(r);
127
97
  }
128
98
  async connectAndPatchProvider() {
129
- return this.requireSigner(), await this.signer.getChainId();
99
+ if (!this.signer)
100
+ throw new Error("IllegalState: no signer");
101
+ return await this.signer.getChainId();
130
102
  }
131
103
  isPermitterAvailable() {
132
104
  return !1;
133
105
  }
134
- async getGasPrice() {
135
- const r = await this.fetchProvider?.getGasPrice();
136
- if (!r)
106
+ async getGasPrice(r) {
107
+ const t = await this.fetchProviders[r]?.getGasPrice();
108
+ if (!t)
137
109
  throw Error("Could not fetch gas price in getGasPrice");
138
- return r.toBigInt();
110
+ return t.toBigInt();
139
111
  }
140
112
  }
141
- const p = new s(), E = () => new s();
113
+ const P = new n(), u = () => new n();
142
114
  export {
143
- s as EthersProviderAdapter,
144
- E as default,
145
- p as ethersProvierAdapter
115
+ n as EthersProviderAdapter,
116
+ u as default,
117
+ P as ethersProvierAdapter
146
118
  };
@@ -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>;