@hinkal/common 0.3.13 → 0.3.14

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 (226) hide show
  1. package/README.md +67 -4
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +0 -2
  4. package/common/src/API/API.mjs +92 -94
  5. package/common/src/API/admin-calls.cjs +1 -1
  6. package/common/src/API/admin-calls.d.ts +2 -1
  7. package/common/src/API/admin-calls.mjs +1 -0
  8. package/common/src/API/evm-token-assets.cjs +1 -1
  9. package/common/src/API/evm-token-assets.mjs +2 -13
  10. package/common/src/API/get-token-price-chart-data.cjs +1 -1
  11. package/common/src/API/get-token-price-chart-data.mjs +2 -2
  12. package/common/src/API/getTokenPrice.cjs +1 -1
  13. package/common/src/API/getTokenPrice.mjs +2 -2
  14. package/common/src/API/index.cjs +1 -1
  15. package/common/src/API/index.d.ts +1 -0
  16. package/common/src/API/index.mjs +1 -0
  17. package/common/src/API/privacy-score-calls.cjs +1 -1
  18. package/common/src/API/privacy-score-calls.mjs +2 -2
  19. package/common/src/API/receiveVaultCalls.cjs +1 -1
  20. package/common/src/API/receiveVaultCalls.d.ts +4 -2
  21. package/common/src/API/receiveVaultCalls.mjs +8 -4
  22. package/common/src/constants/chains.constants.cjs +1 -1
  23. package/common/src/constants/chains.constants.d.ts +2 -0
  24. package/common/src/constants/chains.constants.mjs +106 -93
  25. package/common/src/constants/coingecko.constants.cjs +1 -1
  26. package/common/src/constants/coingecko.constants.d.ts +2 -0
  27. package/common/src/constants/coingecko.constants.mjs +1 -1
  28. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  29. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
  30. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  31. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +3 -2
  32. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  33. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
  34. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  35. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
  36. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  37. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
  38. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  39. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
  40. package/common/src/constants/deploy-data/deploy-data-solanaDevnet.json.cjs +1 -0
  41. package/common/src/constants/deploy-data/deploy-data-solanaDevnet.json.mjs +6 -0
  42. package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
  43. package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +2 -1
  44. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  45. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +1 -1
  46. package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  47. package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +1 -1
  48. package/common/src/constants/deploy-data/index.cjs +1 -1
  49. package/common/src/constants/deploy-data/index.d.ts +2 -1
  50. package/common/src/constants/deploy-data/index.mjs +7 -6
  51. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +1 -1
  53. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  55. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  56. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +1 -1
  57. package/common/src/constants/index.cjs +1 -1
  58. package/common/src/constants/index.mjs +1 -1
  59. package/common/src/constants/protocol.constants.cjs +2 -2
  60. package/common/src/constants/protocol.constants.d.ts +0 -2
  61. package/common/src/constants/protocol.constants.mjs +2 -2
  62. package/common/src/constants/save-depths.cjs +1 -1
  63. package/common/src/constants/save-depths.d.ts +1 -0
  64. package/common/src/constants/save-depths.mjs +1 -0
  65. package/common/src/constants/server.constants.cjs +1 -1
  66. package/common/src/constants/server.constants.d.ts +8 -6
  67. package/common/src/constants/server.constants.mjs +8 -6
  68. package/common/src/constants/tokens.constants.cjs +1 -1
  69. package/common/src/constants/tokens.constants.mjs +1 -1
  70. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  71. package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -4
  72. package/common/src/data-structures/Hinkal/Hinkal.mjs +37 -37
  73. package/common/src/data-structures/Hinkal/IHinkal.d.ts +4 -4
  74. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  75. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +5 -5
  76. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  77. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +1 -1
  78. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +55 -54
  80. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +60 -57
  82. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  83. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
  84. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +29 -29
  85. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  86. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +1 -1
  87. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +1 -1
  89. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.mjs +7 -15
  91. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.cjs +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.d.ts +2 -2
  93. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.mjs +24 -28
  94. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.mjs +47 -40
  96. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.d.ts +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  98. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +22 -42
  99. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +72 -70
  101. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +9 -9
  103. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +15 -15
  105. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  106. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +47 -45
  108. package/common/src/data-structures/Hinkal/hinkalSolanaReceiveVault.cjs +1 -0
  109. package/common/src/data-structures/Hinkal/hinkalSolanaReceiveVault.d.ts +5 -0
  110. package/common/src/data-structures/Hinkal/hinkalSolanaReceiveVault.mjs +60 -0
  111. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  112. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +35 -26
  113. package/common/src/data-structures/Hinkal/index.d.ts +1 -0
  114. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  115. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +13 -13
  116. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  117. package/common/src/error-handling/error-codes.constants.d.ts +2 -0
  118. package/common/src/error-handling/error-codes.constants.mjs +2 -0
  119. package/common/src/error-handling/get-error.message.cjs +1 -1
  120. package/common/src/error-handling/get-error.message.mjs +10 -1
  121. package/common/src/functions/index.cjs +1 -1
  122. package/common/src/functions/index.mjs +6 -2
  123. package/common/src/functions/pre-transaction/addressTableLookup.d.ts +1 -0
  124. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
  125. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +7 -7
  126. package/common/src/functions/pre-transaction/constructAdminData.cjs +1 -1
  127. package/common/src/functions/pre-transaction/constructAdminData.mjs +4 -3
  128. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  129. package/common/src/functions/pre-transaction/sendV0Transaction.d.ts +1 -0
  130. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +22 -2
  131. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  132. package/common/src/functions/private-wallet/emporium.helpers.mjs +15 -15
  133. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  134. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +6 -6
  135. package/common/src/functions/utils/addresses.cjs +1 -1
  136. package/common/src/functions/utils/addresses.d.ts +4 -0
  137. package/common/src/functions/utils/addresses.mjs +17 -17
  138. package/common/src/functions/utils/admin-dimensions.cjs +1 -0
  139. package/common/src/functions/utils/admin-dimensions.d.ts +4 -0
  140. package/common/src/functions/utils/admin-dimensions.mjs +206 -0
  141. package/common/src/functions/utils/create-provider.cjs +1 -1
  142. package/common/src/functions/utils/create-provider.mjs +5 -1
  143. package/common/src/functions/utils/fees.utils.cjs +1 -1
  144. package/common/src/functions/utils/fees.utils.d.ts +2 -0
  145. package/common/src/functions/utils/fees.utils.mjs +31 -33
  146. package/common/src/functions/utils/gas-token.utils.cjs +1 -0
  147. package/common/src/functions/utils/gas-token.utils.d.ts +3 -0
  148. package/common/src/functions/utils/gas-token.utils.mjs +7 -0
  149. package/common/src/functions/utils/getUtxosFromReceiptSolana.d.ts +9 -4
  150. package/common/src/functions/utils/index.cjs +1 -1
  151. package/common/src/functions/utils/index.d.ts +4 -0
  152. package/common/src/functions/utils/index.mjs +5 -1
  153. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  154. package/common/src/functions/utils/publicBalance.utils.mjs +7 -7
  155. package/common/src/functions/utils/receive-vault-account.utils.cjs +1 -1
  156. package/common/src/functions/utils/receive-vault-account.utils.d.ts +2 -1
  157. package/common/src/functions/utils/receive-vault-account.utils.mjs +16 -15
  158. package/common/src/functions/utils/receive-vault-scan.utils.cjs +1 -1
  159. package/common/src/functions/utils/receive-vault-scan.utils.mjs +37 -42
  160. package/common/src/functions/utils/receive-vault-solana.utils.cjs +1 -0
  161. package/common/src/functions/utils/receive-vault-solana.utils.d.ts +8 -0
  162. package/common/src/functions/utils/receive-vault-solana.utils.mjs +45 -0
  163. package/common/src/functions/utils/receive-vault.utils.cjs +2 -2
  164. package/common/src/functions/utils/receive-vault.utils.d.ts +13 -11
  165. package/common/src/functions/utils/receive-vault.utils.mjs +97 -82
  166. package/common/src/functions/utils/token-check.utils.d.ts +1 -0
  167. package/common/src/functions/utils/wallet-token-discovery.utils.cjs +1 -1
  168. package/common/src/functions/utils/wallet-token-discovery.utils.d.ts +5 -0
  169. package/common/src/functions/utils/wallet-token-discovery.utils.mjs +25 -31
  170. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  171. package/common/src/functions/web3/getContractMetadata.mjs +6 -6
  172. package/common/src/functions/web3/index.cjs +1 -1
  173. package/common/src/functions/web3/index.mjs +1 -1
  174. package/common/src/types/admin.types.cjs +1 -1
  175. package/common/src/types/admin.types.d.ts +64 -9
  176. package/common/src/types/admin.types.mjs +10 -2
  177. package/common/src/types/connector.types.d.ts +1 -0
  178. package/common/src/types/ethereum-network.types.d.ts +1 -0
  179. package/common/src/types/external-action.types.cjs +1 -1
  180. package/common/src/types/external-action.types.d.ts +2 -1
  181. package/common/src/types/external-action.types.mjs +1 -1
  182. package/common/src/types/receive-vault.types.cjs +1 -1
  183. package/common/src/types/receive-vault.types.d.ts +15 -20
  184. package/common/src/types/receive-vault.types.mjs +4 -2
  185. package/common/src/webworker/{logError-BeXPKuv9.js → logError-C-ej_TX9.js} +1 -1
  186. package/common/src/webworker/package.json +1 -1
  187. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  188. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  189. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  190. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  191. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  192. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  193. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  194. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  195. package/common/src/webworker/workerProxy-CE-rYA3W.js +1 -0
  196. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  197. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  198. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  199. package/index.cjs +1 -1
  200. package/index.mjs +3 -2
  201. package/internal/monitorConnectedAddress.cjs +1 -1
  202. package/internal/monitorConnectedAddress.d.ts +1 -1
  203. package/internal/monitorConnectedAddress.mjs +1 -3
  204. package/package.json +1 -1
  205. package/providers/prepareEthersHinkal.cjs +1 -1
  206. package/providers/prepareEthersHinkal.mjs +1 -1
  207. package/providers/prepareSolanaHinkal.cjs +1 -1
  208. package/providers/prepareSolanaHinkal.mjs +1 -1
  209. package/providers/prepareTronHinkal.cjs +1 -1
  210. package/providers/prepareTronHinkal.mjs +1 -1
  211. package/providers/prepareWagmiHinkal.cjs +1 -1
  212. package/providers/prepareWagmiHinkal.mjs +1 -1
  213. package/services/Hinkal.cjs +1 -1
  214. package/services/Hinkal.d.ts +6 -2
  215. package/services/Hinkal.mjs +74 -51
  216. package/types/IHinkal.d.ts +6 -1
  217. package/types/index.cjs +1 -1
  218. package/types/index.d.ts +1 -0
  219. package/types/index.mjs +2 -0
  220. package/types/receive-vault.types.cjs +1 -0
  221. package/types/receive-vault.types.d.ts +14 -0
  222. package/types/receive-vault.types.mjs +2 -0
  223. package/common/src/API/getOdosPriceForToken.cjs +0 -1
  224. package/common/src/API/getOdosPriceForToken.d.ts +0 -1
  225. package/common/src/API/getOdosPriceForToken.mjs +0 -14
  226. package/common/src/webworker/workerProxy-DF35H7vU.js +0 -1
@@ -8,7 +8,6 @@ export declare const API_CONFIG: {
8
8
  callOkxAPI: string;
9
9
  callNearIntentsQuote: string;
10
10
  callNearIntentsTokens: string;
11
- getOdosPriceForToken: (chainId: number, tokenAddress: string) => string;
12
11
  monitor: string;
13
12
  monitorBatch: string;
14
13
  checkRisk: (address: string) => string;
@@ -25,6 +24,8 @@ export declare const API_CONFIG: {
25
24
  addTemporaryWalletNonce: string;
26
25
  registerReceiveVault: string;
27
26
  receiveVaultAccount: string;
27
+ receiveVaultNextIndex: string;
28
+ checkReceiveVault: string;
28
29
  listReceiveVaults: string;
29
30
  markReceiveVaultBlocked: string;
30
31
  markReceiveVaultSettled: string;
@@ -67,7 +68,6 @@ export declare const API_CONFIG: {
67
68
  };
68
69
  export declare const RELAYER_CONFIG: {
69
70
  getGasEstimate: (tokenAddress: string, externalActionId: string, erc20TokenAddressLength: number, gasAmount?: number) => string;
70
- getTokenPrices: string;
71
71
  TRANSACT: string;
72
72
  TRANSACT_BATCH: string;
73
73
  SOLANA_TRANSACT: string;
@@ -77,14 +77,16 @@ export declare const RELAYER_CONFIG: {
77
77
  getIdleRelay: string;
78
78
  emitTxPublicData: string;
79
79
  emitReferralTx: string;
80
+ emitOnboardingEvent: string;
80
81
  getScheduledTransactionById: (scheduleId: string) => string;
81
82
  getScheduledTransactionsNullifierIndexes: string;
82
- getTokenPriceChartData: string;
83
- getTokenPreviousDayPrices: string;
84
- getPrivateTransactionsRatio: (hashedOwner: string) => string;
85
- savePrivacyScoreAndGetPrivacyRank: string;
86
83
  };
87
84
  export declare const DATA_SERVER_CONFIG: {
85
+ getPrivateTransactionsRatio: (hashedOwner: string) => string;
86
+ savePrivacyScoreAndGetPrivacyRank: string;
87
+ getTokenPrices: string;
88
+ getTokenPriceChartData: string;
89
+ getTokenPreviousDayPrices: string;
88
90
  createPresaleReferral: string;
89
91
  updatePresaleReferralList: string;
90
92
  getUserAnalytics: string;
@@ -9,7 +9,6 @@ var n = { ROUTES: {
9
9
  callOkxAPI: "/OkxSwapData",
10
10
  callNearIntentsQuote: "/near-intents/quote",
11
11
  callNearIntentsTokens: "/near-intents/tokens",
12
- getOdosPriceForToken: (e, t) => `/getOdosPriceForToken/${e}/${t}`,
13
12
  monitor: "/monitor",
14
13
  monitorBatch: "/monitor/batch",
15
14
  checkRisk: (e) => `/check-risk/${e}`,
@@ -26,6 +25,8 @@ var n = { ROUTES: {
26
25
  addTemporaryWalletNonce: "/temporary-wallets/add-nonce",
27
26
  registerReceiveVault: "/receive-vault/register",
28
27
  receiveVaultAccount: "/receive-vault/account",
28
+ receiveVaultNextIndex: "/receive-vault/next-index",
29
+ checkReceiveVault: "/receive-vault/check",
29
30
  listReceiveVaults: "/receive-vault/list",
30
31
  markReceiveVaultBlocked: "/receive-vault/blocked",
31
32
  markReceiveVaultSettled: "/receive-vault/settled",
@@ -66,7 +67,6 @@ var n = { ROUTES: {
66
67
  evmNftAssets: "/evm-nft-assets"
67
68
  } }, r = {
68
69
  getGasEstimate: (e, t, n, r) => `/gas-estimation/${e}/${n}/${t}/${r}`,
69
- getTokenPrices: "/get-token-prices",
70
70
  TRANSACT: "/general-transact",
71
71
  TRANSACT_BATCH: "/general-transact-batch",
72
72
  SOLANA_TRANSACT: "/solana-transact",
@@ -76,13 +76,15 @@ var n = { ROUTES: {
76
76
  getIdleRelay: "/get-idle-relay",
77
77
  emitTxPublicData: "/emit-tx-public-data",
78
78
  emitReferralTx: "/emit-referral-tx",
79
+ emitOnboardingEvent: "/emit-onboarding-event",
79
80
  getScheduledTransactionById: (e) => `/scheduled-transactions/${e}`,
80
- getScheduledTransactionsNullifierIndexes: "/scheduled-transactions/nullifier-indexes",
81
+ getScheduledTransactionsNullifierIndexes: "/scheduled-transactions/nullifier-indexes"
82
+ }, i = {
83
+ getPrivateTransactionsRatio: (e) => `/get-private-transactions-ratio/${e}`,
84
+ savePrivacyScoreAndGetPrivacyRank: "/save-privacy-score-and-get-privacy-rank",
85
+ getTokenPrices: "/get-token-prices",
81
86
  getTokenPriceChartData: "/get-token-price-chart-data",
82
87
  getTokenPreviousDayPrices: "/get-token-previous-day-prices",
83
- getPrivateTransactionsRatio: (e) => `/get-private-transactions-ratio/${e}`,
84
- savePrivacyScoreAndGetPrivacyRank: "/save-privacy-score-and-get-privacy-rank"
85
- }, i = {
86
88
  createPresaleReferral: "/create-presale-referral",
87
89
  updatePresaleReferralList: "/update-presale-referral-list",
88
90
  getUserAnalytics: "/get-user-analytics",
@@ -1 +1 @@
1
- const e=require(`./chains.constants.cjs`);var t=new Set([`0x23d7cffd0876f3abb6b074287ba2aeefbc83825d`,`0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b`]);e.chainIds.ethMainnet,e.chainIds.arbMainnet,e.chainIds.optimism,e.chainIds.optimismTest,e.chainIds.base,e.chainIds.arcTestnet,e.chainIds.tempo,e.chainIds.sepoliaTestnet,e.chainIds.polygon,e.chainIds.solanaMainnet,e.chainIds.solanaLocalnet,e.chainIds.bnbMainnet,e.chainIds.avalanche,e.chainIds.cronos,e.chainIds.monad,e.chainIds.plasma,e.chainIds.ink,e.chainIds.hyperEvm,exports.NON_STANDARD_STORAGE_TOKENS=t;
1
+ const e=require(`./chains.constants.cjs`);var t=new Set([`0x23d7cffd0876f3abb6b074287ba2aeefbc83825d`,`0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b`]);e.chainIds.ethMainnet,e.chainIds.arbMainnet,e.chainIds.optimism,e.chainIds.optimismTest,e.chainIds.base,e.chainIds.arcTestnet,e.chainIds.tempo,e.chainIds.sepoliaTestnet,e.chainIds.polygon,e.chainIds.solanaMainnet,e.chainIds.solanaLocalnet,e.chainIds.solanaDevnet,e.chainIds.bnbMainnet,e.chainIds.avalanche,e.chainIds.cronos,e.chainIds.monad,e.chainIds.plasma,e.chainIds.ink,e.chainIds.hyperEvm,exports.NON_STANDARD_STORAGE_TOKENS=t;
@@ -1,6 +1,6 @@
1
1
  import { chainIds as e } from "./chains.constants.mjs";
2
2
  //#region libs/shared/common/src/constants/tokens.constants.ts
3
3
  var t = new Set(["0x23d7cffd0876f3abb6b074287ba2aeefbc83825d", "0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b"]);
4
- e.ethMainnet, e.arbMainnet, e.optimism, e.optimismTest, e.base, e.arcTestnet, e.tempo, e.sepoliaTestnet, e.polygon, e.solanaMainnet, e.solanaLocalnet, e.bnbMainnet, e.avalanche, e.cronos, e.monad, e.plasma, e.ink, e.hyperEvm;
4
+ e.ethMainnet, e.arbMainnet, e.optimism, e.optimismTest, e.base, e.arcTestnet, e.tempo, e.sepoliaTestnet, e.polygon, e.solanaMainnet, e.solanaLocalnet, e.solanaDevnet, e.bnbMainnet, e.avalanche, e.cronos, e.monad, e.plasma, e.ink, e.hyperEvm;
5
5
  //#endregion
6
6
  export { t as NON_STANDARD_STORAGE_TOKENS };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../crypto/poseidon.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../API/scheduled-transactions-calls.cjs`),c=require(`../../API/API.cjs`),l=require(`../../functions/utils/token-check.utils.cjs`),u=require(`../../functions/web3/events/getShieldedBalance.cjs`),d=require(`../../functions/web3/getContractMetadata.cjs`),f=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),p=require(`./hinkalDeposit.cjs`),m=require(`../../functions/utils/cacheDevice.utils.cjs`),h=require(`../../providers/SolanaProviderAdapter.cjs`),g=require(`../../functions/utils/enclave-signature-storage.cjs`),_=require(`../../functions/utils/mnemonics.cjs`),v=require(`./hinkalDepositAndWithdraw.cjs`),y=require(`./hinkalSolanaDeposit.cjs`),b=require(`./hinkalSwap.cjs`),x=require(`./hinkalWithdraw.cjs`),S=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const C=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const w=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),T=require(`./hinkalPrivateWallet.cjs`),E=require(`./hinkalReceiveVaultAccount.cjs`),D=require(`./hinkalReceiveVaultCreate.cjs`),O=require(`./hinkalReceiveVaultRecover.cjs`),k=require(`./hinkalGetRecipientInfo.cjs`),A=require(`./hinkalSignSubAccount.cjs`),j=require(`./hinkalActionReceive.cjs`),M=require(`./hinkalProoflessDeposit.cjs`),N=require(`./hinkalProxySwap.cjs`),P=require(`./hinkalTransfer.cjs`),F=require(`./hinkalProxyToPrivate.cjs`),I=require(`../../providers/TronProviderAdapter.cjs`),L=require(`./hinkalSolanaDepositAndWithdraw.cjs`),R=require(`./hinkalSolanaWithdraw.cjs`),z=require(`./hinkalSolanaTransfer.cjs`),B=require(`./hinkalSolanaSwap.cjs`),V=require(`./hinkalSolanaProxySwap.cjs`),H=require(`./hinkalSolanaProxyShield.cjs`),U=require(`./hinkalDepositAndBridge.cjs`),W=require(`./hinkalBridgePrivateToPrivate.cjs`),G=require(`./hinkalNearDepositAndBridge.cjs`),K=require(`./hinkalClaimUtxo.cjs`),q=require(`./hinkalSolanaProoflessDeposit.cjs`),J=require(`./hinkalSolanaClaimUtxo.cjs`),Y=require(`./hinkalWithdrawStuckUtxos.cjs`),X=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);const Z=require(`./hinkalProxySend.cjs`);let Q=require(`@solana/web3.js`);var $=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new X.HinkalPrivateBalanceController(this);utxoUtils;lastCallState=new Map;cacheDevice;balanceFetchingMutexByChain=new Map;generateProofRemotely;disableMerkleTreeUpdates;allowParallelBalanceLocalDecryption;constructor(e){this.userKeys=new o.UserKeys(void 0),e?.tronChainOverride&&t.setHinkalTronChainId(e.tronChainOverride),t.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=S.MerkleTree.create(i.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new w.MultiThreadedUtxoUtils,this.cacheDevice=m.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1,this.allowParallelBalanceLocalDecryption=e?.allowParallelBalanceLocalDecryption??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let n=e;n||=this.ethereumProviderAdapter?t.chainIds.ethMainnet:this.solanaProviderAdapter?t.currentSolanaChainId:t.chainIds.tronMainnet;let r;if(r=t.isSolanaLike(n)?this.solanaProviderAdapter:t.isTronLike(n)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,n){let r=t.chainIds.ethMainnet;n instanceof h.SolanaProviderAdapter?r=t.currentSolanaChainId:n instanceof I.TronProviderAdapter&&(r=t.currentTronChainId),await this.updateProviderAdapter(r,n),n.initConnector(e);let i=await n.connectAndPatchProvider(e);await n.init(i),await this.setListeners()}getSigningMessage(e=r.LoginMessageMode.SDK){switch(e){case r.LoginMessageMode.SDK:return n.SDK_SIGNING_MESSAGE;case r.LoginMessageMode.HINKAL_DAPP:default:return n.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=r.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new Q.Transaction({blockhash:n.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:n.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return t}async initUserKeys(e=r.LoginMessageMode.SDK){this.userKeys=new o.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new o.UserKeys(e)}initUserKeysWithNullifyingKey(e){this.userKeys=new o.UserKeys(void 0,e)}async initUserKeysFromSeedPhrases(e){let t=_.generateHashFromSeedPhrases(e);this.userKeys=new o.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=r.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()?await this.signSolanaLedgerMessage():await this.getProviderAdapter().signMessage(this.getSigningMessage(e)),n=await this.storeAndGetInitialSignature(t);this.initUserKeysWithSignature(n??t)}async storeAndGetInitialSignature(e){let t=await this.getEthereumAddress();if(!t)throw Error(`Connected address not found`);return g.storeAndGetSignatureFromEnclave(t,e)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await C.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof I.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?t.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>!t.isSolanaLike(e)&&!t.isTronLike(e)):this.solanaProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>t.isSolanaLike(e)):this.tronProviderAdapter?[t.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return d.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return A.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!t.networkRegistry[e]}async switchNetwork(e){let n=this.getProviderAdapter(),r=n.getChainId(),i=r!==void 0&&t.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await n.switchNetwork(e)}catch{throw Error(a.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter?.release(),this.solanaProviderAdapter?.release(),this.tronProviderAdapter?.release(),this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,n){try{t.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=n):t.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=n):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=n)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=r.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):await this.disconnectFromConnector()}async monitorConnectedAddress(e){await c.API.monitor(await this.getEthereumAddressByChain(e))}async getTotalBalances(e,t,n,r=!1,i,a=!1){let o=t??this.userKeys,s=new Map(await Promise.all(e.map(async e=>[e,n??await this.getEthereumAddressByChain(e)])));return u.getShieldedBalances(this,s,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),r,i,a)}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){let a=await this.getTotalBalances(e,t,n,r,i,!0);return new Map([...a].map(([e,t])=>[e,t.filter(e=>e.balance>0n)]))}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await f.fetchOnChainRootHashes(e)).hinkalRootHash}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{if(this.generateProofRemotely)return{chainId:e,needsReset:!1};let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await c.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return c.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}async destroy(){this.snapshotsClearInterval(),this.privateBalances.dispose(),await this.resetProviderAdapters()}getRecipientInfo(){return k.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return p.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return y.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),p.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i=0n,a){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),y.hinkalSolanaDepositForOther(this,e,t,n,r,i,a)}async depositAndWithdraw(e,n,r,i,a,o,s,c,u=!0){return t.isSolanaLike(l.validateAndGetChainId([e]))?L.hinkalSolanaDepositAndWithdraw(this,e,n,r,i,a,o,s,c):v.hinkalDepositAndWithdraw(this,e,n,r,i,a,o,s,c,u)}async claimUtxo(e,n,r,i){return t.isSolanaLike(l.validateAndGetChainId([e]))?J.hinkalSolanaClaimUtxo(this,e,n,r,i):K.hinkalClaimUtxo(this,e,n,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return U.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async bridgePrivateToPrivate(e,t,n,r,i,a,o,s){return this.enforceRateLimit(this.bridgePrivateToPrivate.name,[e,t,n]),W.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return s.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),G.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,n,i,a,o=!1,s=r.zeroProoflessFeeStructure,c=``,u,d=!1,f=!1){return t.isSolanaLike(l.validateAndGetChainId(e))?q.hinkalSolanaProoflessDeposit(this,e,n,i,a,o,u,f):M.hinkalProoflessDeposit(this,e,n,i,a,o,s,c,u,d,f)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,n,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,n,r]),t.isSolanaLike(l.validateAndGetChainId(e))?z.hinkalSolanaTransfer(this,e,n,r,i,a,o):P.hinkalTransfer(this,e,n,r,i,a,o)}async withdraw(e,n,r,i,a,o,s,c){return t.isSolanaLike(l.validateAndGetChainId(e))?R.hinkalSolanaWithdraw(this,e,n,r,a,o,s,c):x.hinkalWithdraw(this,e,n,r,i,a,o,s,c)}async withdrawStuckUtxos(e,t){return Y.hinkalWithdrawStuckUtxos(this,e,t)}async createReceiveAddress(e,t,n=!1){return D.hinkalReceiveVaultCreate(this,e,t,n)}async getReceiveVaultAccount(){return E.hinkalGetReceiveVaultAccount(this)}async recoverReceiveVault(e,t,n,r,i=!1){return O.hinkalReceiveVaultRecover(this,e,t,n,r,i)}async swap(e,n,r,i,a,o,s,c){return t.isSolanaLike(l.validateAndGetChainId(e))?this.swapSolana(e,n,i,a,o,c):b.hinkalSwap(this,e,n,r,i,a,o,s,c)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return B.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,n,r,i,a,o){if(!a)throw Error(`subAccount is required`);return t.isSolanaLike(l.validateAndGetChainId(e))?H.hinkalSolanaProxyShield(this,e[0],n[0],a,void 0,!1,i?.variableRate,o):j.hinkalActionReceive(this,e,n,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),T.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,n,r,i,a,o,s,c,u=!1,d,f,p,m){return t.isSolanaLike(l.validateAndGetChainId(e))?V.hinkalSolanaProxySwap(this,e,n,i,o,r,a,s,c,m,f,p):N.hinkalProxySwap(this,e,n,r,i,a,o,s,c,u,d,m,f,p)}async proxyToPrivate(e,n,r,i,a,o,s){return t.isSolanaLike(l.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],n[0],r,i]),H.hinkalSolanaProxyShield(this,e[0],n[0],r,i,!1,o?.variableRate,s)):F.hinkalProxyToPrivate(this,e,n,i,a,o,r,s)}async proxySend(e,t,n,r,i,a,o){return Z.hinkalProxySend(this,e,t,n,r,i,a,o)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=$;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../crypto/poseidon.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../API/scheduled-transactions-calls.cjs`),c=require(`../../functions/web3/getContractMetadata.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/web3/events/getShieldedBalance.cjs`),f=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),p=require(`./hinkalDeposit.cjs`),m=require(`../../functions/utils/cacheDevice.utils.cjs`),h=require(`../../providers/SolanaProviderAdapter.cjs`),g=require(`../../functions/utils/enclave-signature-storage.cjs`),_=require(`../../functions/utils/mnemonics.cjs`),v=require(`./hinkalDepositAndWithdraw.cjs`),y=require(`./hinkalSolanaDeposit.cjs`),b=require(`./hinkalSwap.cjs`),x=require(`./hinkalWithdraw.cjs`),S=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const C=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const w=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),T=require(`./hinkalPrivateWallet.cjs`),E=require(`./hinkalReceiveVaultAccount.cjs`),D=require(`./hinkalReceiveVaultCreate.cjs`),O=require(`./hinkalReceiveVaultRecover.cjs`),k=require(`./hinkalGetRecipientInfo.cjs`),A=require(`./hinkalSignSubAccount.cjs`),j=require(`./hinkalActionReceive.cjs`),M=require(`./hinkalProoflessDeposit.cjs`),N=require(`./hinkalProxySwap.cjs`),P=require(`./hinkalTransfer.cjs`),F=require(`./hinkalProxyToPrivate.cjs`),I=require(`../../providers/TronProviderAdapter.cjs`),L=require(`./hinkalSolanaDepositAndWithdraw.cjs`),R=require(`./hinkalSolanaWithdraw.cjs`),z=require(`./hinkalSolanaTransfer.cjs`),B=require(`./hinkalSolanaSwap.cjs`),V=require(`./hinkalSolanaProxySwap.cjs`),H=require(`./hinkalSolanaProxyShield.cjs`),U=require(`./hinkalDepositAndBridge.cjs`),W=require(`./hinkalBridgePrivateToPrivate.cjs`),G=require(`./hinkalNearDepositAndBridge.cjs`),K=require(`./hinkalClaimUtxo.cjs`),q=require(`./hinkalSolanaProoflessDeposit.cjs`),J=require(`./hinkalSolanaClaimUtxo.cjs`),Y=require(`./hinkalWithdrawStuckUtxos.cjs`),X=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);const Z=require(`./hinkalProxySend.cjs`);let Q=require(`@solana/web3.js`);var $=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new X.HinkalPrivateBalanceController(this);utxoUtils;lastCallState=new Map;cacheDevice;balanceFetchingMutexByChain=new Map;generateProofRemotely;disableMerkleTreeUpdates;allowParallelBalanceLocalDecryption;constructor(e){this.userKeys=new o.UserKeys(void 0),e?.tronChainOverride&&t.setHinkalTronChainId(e.tronChainOverride),t.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=S.MerkleTree.create(i.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new w.MultiThreadedUtxoUtils,this.cacheDevice=m.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1,this.allowParallelBalanceLocalDecryption=e?.allowParallelBalanceLocalDecryption??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let n=e;n||=this.ethereumProviderAdapter?t.chainIds.ethMainnet:this.solanaProviderAdapter?t.currentSolanaChainId:t.chainIds.tronMainnet;let r;if(r=t.isSolanaLike(n)?this.solanaProviderAdapter:t.isTronLike(n)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,n){let r=t.chainIds.ethMainnet;n instanceof h.SolanaProviderAdapter?r=t.currentSolanaChainId:n instanceof I.TronProviderAdapter&&(r=t.currentTronChainId),await this.updateProviderAdapter(r,n),n.initConnector(e);let i=await n.connectAndPatchProvider(e);return await n.init(i),await this.setListeners(),r}getSigningMessage(e=r.LoginMessageMode.SDK){switch(e){case r.LoginMessageMode.SDK:return n.SDK_SIGNING_MESSAGE;case r.LoginMessageMode.HINKAL_DAPP:default:return n.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=r.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new Q.Transaction({blockhash:n.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:n.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return t}async initUserKeys(e=r.LoginMessageMode.SDK){this.userKeys=new o.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new o.UserKeys(e)}initUserKeysWithNullifyingKey(e){this.userKeys=new o.UserKeys(void 0,e)}async initUserKeysFromSeedPhrases(e){let t=_.generateHashFromSeedPhrases(e);this.userKeys=new o.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=r.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()?await this.signSolanaLedgerMessage():await this.getProviderAdapter().signMessage(this.getSigningMessage(e)),n=await this.storeAndGetInitialSignature(t);this.initUserKeysWithSignature(n??t)}async storeAndGetInitialSignature(e){let t=await this.getEthereumAddress();if(!t)throw Error(`Connected address not found`);return g.storeAndGetSignatureFromEnclave(t,e)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await C.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof I.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?t.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>!t.isSolanaLike(e)&&!t.isTronLike(e)):this.solanaProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>t.isSolanaLike(e)):this.tronProviderAdapter?[t.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return c.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return A.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!t.networkRegistry[e]}async switchNetwork(e){let n=this.getProviderAdapter(),r=n.getChainId(),i=r!==void 0&&t.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await n.switchNetwork(e)}catch{throw Error(a.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter?.release(),this.solanaProviderAdapter?.release(),this.tronProviderAdapter?.release(),this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,n){try{t.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=n):t.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=n):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=n)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=r.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):await this.disconnectFromConnector()}async monitorConnectedAddress(e){await l.API.monitor(await this.getEthereumAddressByChain(e))}async getTotalBalances(e,t,n,r=!1,i,a=!1){let o=t??this.userKeys,s=new Map(await Promise.all(e.map(async e=>[e,n??await this.getEthereumAddressByChain(e)])));return d.getShieldedBalances(this,s,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),r,i,a)}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){let a=await this.getTotalBalances(e,t,n,r,i,!0);return new Map([...a].map(([e,t])=>[e,t.filter(e=>e.balance>0n)]))}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await f.fetchOnChainRootHashes(e)).hinkalRootHash}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{if(this.generateProofRemotely)return{chainId:e,needsReset:!1};let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await l.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return l.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}async destroy(){this.snapshotsClearInterval(),this.privateBalances.dispose(),await this.resetProviderAdapters()}getRecipientInfo(){return k.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return p.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return y.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),p.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i=0n,a){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),y.hinkalSolanaDepositForOther(this,e,t,n,r,i,a)}async depositAndWithdraw(e,n,r,i,a,o,s,c,l=!0){return t.isSolanaLike(u.validateAndGetChainId([e]))?L.hinkalSolanaDepositAndWithdraw(this,e,n,r,i,a,o,s,c):v.hinkalDepositAndWithdraw(this,e,n,r,i,a,o,s,c,l)}async claimUtxo(e,n,r,i){return t.isSolanaLike(u.validateAndGetChainId([e]))?J.hinkalSolanaClaimUtxo(this,e,n,r,i):K.hinkalClaimUtxo(this,e,n,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return U.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async bridgePrivateToPrivate(e,t,n,r,i,a,o,s){return this.enforceRateLimit(this.bridgePrivateToPrivate.name,[e,t,n]),W.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return s.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),G.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,n,i,a,o=!1,s=r.zeroProoflessFeeStructure,c=``,l,d=!1,f=!1){return t.isSolanaLike(u.validateAndGetChainId(e))?q.hinkalSolanaProoflessDeposit(this,e,n,i,a,o,l,f):M.hinkalProoflessDeposit(this,e,n,i,a,o,s,c,l,d,f)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,n,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,n,r]),t.isSolanaLike(u.validateAndGetChainId(e))?z.hinkalSolanaTransfer(this,e,n,r,i,a,o):P.hinkalTransfer(this,e,n,r,i,a,o)}async withdraw(e,n,r,i,a,o,s,c){return t.isSolanaLike(u.validateAndGetChainId(e))?R.hinkalSolanaWithdraw(this,e,n,r,a,o,s,c):x.hinkalWithdraw(this,e,n,r,i,a,o,s,c)}async withdrawStuckUtxos(e,t){return Y.hinkalWithdrawStuckUtxos(this,e,t)}async createReceiveAddress(e,t=!1){return D.hinkalReceiveVaultCreate(this,e,t)}async getReceiveVaultAccount(){return E.hinkalGetReceiveVaultAccount(this)}async recoverReceiveVault(e,t,n,r,i=!1){return O.hinkalReceiveVaultRecover(this,e,t,n,r,i)}async swap(e,n,r,i,a,o,s,c){return t.isSolanaLike(u.validateAndGetChainId(e))?this.swapSolana(e,n,i,a,o,c):b.hinkalSwap(this,e,n,r,i,a,o,s,c)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return B.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,n,r,i,a,o){if(!a)throw Error(`subAccount is required`);return t.isSolanaLike(u.validateAndGetChainId(e))?H.hinkalSolanaProxyShield(this,e[0],n[0],a,void 0,!1,i?.variableRate,o):j.hinkalActionReceive(this,e,n,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p,m){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),T.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m)}async proxySwap(e,n,r,i,a,o,s,c,l=!1,d,f,p,m){return t.isSolanaLike(u.validateAndGetChainId(e))?V.hinkalSolanaProxySwap(this,e,n,i,o,r,a,s,c,m,f,p):N.hinkalProxySwap(this,e,n,r,i,a,o,s,c,l,d,m,f,p)}async proxyToPrivate(e,n,r,i,a,o,s){return t.isSolanaLike(u.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],n[0],r,i]),H.hinkalSolanaProxyShield(this,e[0],n[0],r,i,!1,o?.variableRate,s)):F.hinkalProxyToPrivate(this,e,n,i,a,o,r,s)}async proxySend(e,t,n,r,i,a,o){return Z.hinkalProxySend(this,e,t,n,r,i,a,o)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=$;
@@ -11,7 +11,7 @@ import { IProviderAdapter } from '../provider-adapter/IProviderAdapter';
11
11
  import { IHinkal } from './IHinkal';
12
12
  import { MerkleTree } from '../merkle-tree';
13
13
  import { IAPI } from '../../API';
14
- import { ReceiveVaultAccount, ReceiveVaultRecord } from '../../types/receive-vault.types';
14
+ import { ReceiveVaultAccount, ReceiveVaultNetwork, ReceiveVaultRecord } from '../../types/receive-vault.types';
15
15
  import { ICacheDevice } from '../../types/ICacheDevice';
16
16
  import { StealthAddressStructure, TypedData } from '../../types/circom-data.types';
17
17
  import { SubAccount } from '../../types/proxy.types';
@@ -48,7 +48,7 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
48
48
  constructor(hinkalConfig?: HinkalConfig);
49
49
  private enforceRateLimit;
50
50
  getProviderAdapter(chainId?: number): IProviderAdapter<ConnectorType>;
51
- initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
51
+ initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<number>;
52
52
  getSigningMessage(mode?: LoginMessageMode): string;
53
53
  signHinkalMessage(mode?: LoginMessageMode): Promise<string>;
54
54
  signSolanaLedgerMessage(): Promise<string>;
@@ -109,13 +109,13 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
109
109
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
110
110
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, variableRateOverride?: bigint, action?: AdminTransactionType): Promise<ethers.TransactionResponse | string>;
111
111
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<string[]>;
112
- createReceiveAddress(chainId: number, token: string, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
112
+ createReceiveAddress(network: ReceiveVaultNetwork, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
113
113
  getReceiveVaultAccount(): Promise<ReceiveVaultAccount>;
114
114
  recoverReceiveVault(record: ReceiveVaultRecord, token: string, chainId: number, to: string, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
115
115
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, slippagePercentage?: number, action?: AdminTransactionType): Promise<string>;
116
116
  swapSolana(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
117
117
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeToken?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType): Promise<string>;
118
- actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount?: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo): Promise<string>;
118
+ actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount?: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, bridgedToken?: ERC20Token): Promise<string>;
119
119
  proxySwap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, isTheSameChainSwap: boolean, subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, bridgedToken?: ERC20Token, bridgedTokenAmount?: bigint, action?: AdminTransactionType): Promise<string>;
120
120
  proxyToPrivate(erc20Tokens: ERC20Token[], deltaAmountsBase: bigint[], subAccount: SubAccount, recipientInfo: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
121
121
  proxySend(erc20Tokens: ERC20Token[], amounts: bigint[], subAccount: SubAccount, recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
@@ -3,13 +3,13 @@ import { HINKAL_SUPPORTED_CHAINS as t, WALLET_SUPPORTED_CHAINS as n, chainIds as
3
3
  import { DAPP_SIGNING_MESSAGE as d, DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH as f, DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT as p, SDK_SIGNING_MESSAGE as m } from "../../constants/protocol.constants.mjs";
4
4
  import { EventType as ee, LoginMessageMode as h, zeroProoflessFeeStructure as g } from "../../types/hinkal.types.mjs";
5
5
  import { poseidonFunction as _ } from "../../crypto/poseidon.mjs";
6
- import { transactionErrorCodes as te } from "../../error-handling/error-codes.constants.mjs";
7
- import { UserKeys as v } from "../crypto-keys/keys.mjs";
8
- import { getScheduledTransactionById as y } from "../../API/scheduled-transactions-calls.mjs";
9
- import { API as b } from "../../API/API.mjs";
10
- import { validateAndGetChainId as x } from "../../functions/utils/token-check.utils.mjs";
11
- import { getShieldedBalances as S } from "../../functions/web3/events/getShieldedBalance.mjs";
12
- import { getContractWithFetcherByChainId as C } from "../../functions/web3/getContractMetadata.mjs";
6
+ import { transactionErrorCodes as v } from "../../error-handling/error-codes.constants.mjs";
7
+ import { UserKeys as y } from "../crypto-keys/keys.mjs";
8
+ import { getScheduledTransactionById as te } from "../../API/scheduled-transactions-calls.mjs";
9
+ import { getContractWithFetcherByChainId as b } from "../../functions/web3/getContractMetadata.mjs";
10
+ import { API as x } from "../../API/API.mjs";
11
+ import { validateAndGetChainId as S } from "../../functions/utils/token-check.utils.mjs";
12
+ import { getShieldedBalances as C } from "../../functions/web3/events/getShieldedBalance.mjs";
13
13
  import { fetchOnChainRootHashes as w } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
14
14
  import { hinkalDeposit as T, hinkalDepositForOther as E } from "./hinkalDeposit.mjs";
15
15
  import { createCacheDevice as D } from "../../functions/utils/cacheDevice.utils.mjs";
@@ -29,8 +29,8 @@ import { hinkalPrivateWallet as z } from "./hinkalPrivateWallet.mjs";
29
29
  import { hinkalGetReceiveVaultAccount as B } from "./hinkalReceiveVaultAccount.mjs";
30
30
  import { hinkalReceiveVaultCreate as V } from "./hinkalReceiveVaultCreate.mjs";
31
31
  import { hinkalReceiveVaultRecover as H } from "./hinkalReceiveVaultRecover.mjs";
32
- import { getRecipientInfo as ne } from "./hinkalGetRecipientInfo.mjs";
33
- import { hinkalSignSubAccount as U } from "./hinkalSignSubAccount.mjs";
32
+ import { getRecipientInfo as U } from "./hinkalGetRecipientInfo.mjs";
33
+ import { hinkalSignSubAccount as ne } from "./hinkalSignSubAccount.mjs";
34
34
  import { hinkalActionReceive as W } from "./hinkalActionReceive.mjs";
35
35
  import { hinkalProoflessDeposit as G } from "./hinkalProoflessDeposit.mjs";
36
36
  import { hinkalProxySwap as K } from "./hinkalProxySwap.mjs";
@@ -75,7 +75,7 @@ var he = class {
75
75
  disableMerkleTreeUpdates;
76
76
  allowParallelBalanceLocalDecryption;
77
77
  constructor(e) {
78
- this.userKeys = new v(void 0), e?.tronChainOverride && u(e.tronChainOverride), t.forEach((e) => {
78
+ this.userKeys = new y(void 0), e?.tronChainOverride && u(e.tronChainOverride), t.forEach((e) => {
79
79
  this.merkleTreeHinkalByChain[e] = I.create(_, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
80
80
  }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new R(), this.cacheDevice = D(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
81
81
  }
@@ -98,7 +98,7 @@ var he = class {
98
98
  let n = r.ethMainnet;
99
99
  t instanceof O ? n = i : t instanceof Y && (n = a), await this.updateProviderAdapter(n, t), t.initConnector(e);
100
100
  let o = await t.connectAndPatchProvider(e);
101
- await t.init(o), await this.setListeners();
101
+ return await t.init(o), await this.setListeners(), n;
102
102
  }
103
103
  getSigningMessage(e = h.SDK) {
104
104
  switch (e) {
@@ -121,17 +121,17 @@ var he = class {
121
121
  return t;
122
122
  }
123
123
  async initUserKeys(e = h.SDK) {
124
- this.userKeys = new v(await this.signHinkalMessage(e));
124
+ this.userKeys = new y(await this.signHinkalMessage(e));
125
125
  }
126
126
  initUserKeysWithSignature(e) {
127
- this.userKeys = new v(e);
127
+ this.userKeys = new y(e);
128
128
  }
129
129
  initUserKeysWithNullifyingKey(e) {
130
- this.userKeys = new v(void 0, e);
130
+ this.userKeys = new y(void 0, e);
131
131
  }
132
132
  async initUserKeysFromSeedPhrases(e) {
133
133
  let t = A(e);
134
- this.userKeys = new v(t);
134
+ this.userKeys = new y(t);
135
135
  }
136
136
  async initUserKeysWithEnclaveSignature(e = h.SDK) {
137
137
  if (!await this.getEthereumAddress()) throw Error("Connected address not found");
@@ -164,7 +164,7 @@ var he = class {
164
164
  return this.getProviderAdapter(e).getContract(e, t, n);
165
165
  }
166
166
  getContractWithFetcherByChainId(e, t, n = void 0) {
167
- return C(e, t, n);
167
+ return b(e, t, n);
168
168
  }
169
169
  async signMessage(e) {
170
170
  return await this.getProviderAdapter().signMessage(e);
@@ -173,7 +173,7 @@ var he = class {
173
173
  return await this.getProviderAdapter().signTypedData(e, t, n);
174
174
  }
175
175
  async signWithSubAccount(e, t, n, r) {
176
- return U(e, t, n, r);
176
+ return ne(e, t, n, r);
177
177
  }
178
178
  getContractWithSigner(e, t, n = "") {
179
179
  return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
@@ -189,7 +189,7 @@ var he = class {
189
189
  if (!(e.chainId === n || r)) try {
190
190
  await t.switchNetwork(e);
191
191
  } catch {
192
- throw Error(te.FAILED_TO_SWITCH_NETWORKS);
192
+ throw Error(v.FAILED_TO_SWITCH_NETWORKS);
193
193
  }
194
194
  }
195
195
  async disconnectFromConnector() {
@@ -238,11 +238,11 @@ var he = class {
238
238
  e ? await this.getProviderAdapter(e).onChainChanged(e) : await this.disconnectFromConnector();
239
239
  }
240
240
  async monitorConnectedAddress(e) {
241
- await b.monitor(await this.getEthereumAddressByChain(e));
241
+ await x.monitor(await this.getEthereumAddressByChain(e));
242
242
  }
243
243
  async getTotalBalances(e, t, n, r = !1, i, a = !1) {
244
244
  let o = t ?? this.userKeys, s = new Map(await Promise.all(e.map(async (e) => [e, n ?? await this.getEthereumAddressByChain(e)])));
245
- return S(this, s, o.getShieldedPrivateKey(), o.getShieldedPublicKey(), r, i, a);
245
+ return C(this, s, o.getShieldedPrivateKey(), o.getShieldedPublicKey(), r, i, a);
246
246
  }
247
247
  async getStuckShieldedBalances(e, t, n, r = !1, i = !1) {
248
248
  let a = await this.getTotalBalances(e, t, n, r, i, !0);
@@ -280,7 +280,7 @@ var he = class {
280
280
  return this.getProviderAdapter(e).getAddress();
281
281
  }
282
282
  async getRandomRelay(e, t = !1) {
283
- return (await b.getIdleRelay(e, t)).relay;
283
+ return (await x.getIdleRelay(e, t)).relay;
284
284
  }
285
285
  getGasPrice(e) {
286
286
  let t = this.getProviderAdapter(e);
@@ -288,7 +288,7 @@ var he = class {
288
288
  return t.getGasPrice(e);
289
289
  }
290
290
  getAPI() {
291
- return b;
291
+ return x;
292
292
  }
293
293
  snapshotsClearInterval() {
294
294
  this.getSupportedChains().forEach((e) => {
@@ -299,7 +299,7 @@ var he = class {
299
299
  this.snapshotsClearInterval(), this.privateBalances.dispose(), await this.resetProviderAdapters();
300
300
  }
301
301
  getRecipientInfo() {
302
- return ne(this);
302
+ return U(this);
303
303
  }
304
304
  async deposit(e, t, n = !0, r = !1) {
305
305
  return T(this, e, t, n, r);
@@ -322,10 +322,10 @@ var he = class {
322
322
  ]), N(this, e, t, n, r, i, a);
323
323
  }
324
324
  async depositAndWithdraw(e, t, n, r, i, a, o, c, l = !0) {
325
- return s(x([e])) ? X(this, e, t, n, r, i, a, o, c) : j(this, e, t, n, r, i, a, o, c, l);
325
+ return s(S([e])) ? X(this, e, t, n, r, i, a, o, c) : j(this, e, t, n, r, i, a, o, c, l);
326
326
  }
327
327
  async claimUtxo(e, t, n, r) {
328
- return s(x([e])) ? ue(this, e, t, n, r) : ce(this, e, t, n, r);
328
+ return s(S([e])) ? ue(this, e, t, n, r) : ce(this, e, t, n, r);
329
329
  }
330
330
  async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
331
331
  return oe(this, e, t, n, r, i, a, o, s);
@@ -338,7 +338,7 @@ var he = class {
338
338
  ]), $(this, e, t, n, r, i, a, o, s);
339
339
  }
340
340
  async checkSendTransactionStatus(e) {
341
- return y(e);
341
+ return te(e);
342
342
  }
343
343
  async nearDepositAndBridge(e, t, n, r, i, a, o, s, c) {
344
344
  return this.enforceRateLimit(this.nearDepositAndBridge.name, [
@@ -349,7 +349,7 @@ var he = class {
349
349
  ]), se(this, e, t, n, r, i, a, o, s, c);
350
350
  }
351
351
  async prooflessDeposit(e, t, n, r, i = !1, a = g, o = "", c, l = !1, u = !1) {
352
- return s(x(e)) ? le(this, e, t, n, r, i, c, u) : G(this, e, t, n, r, i, a, o, c, l, u);
352
+ return s(S(e)) ? le(this, e, t, n, r, i, c, u) : G(this, e, t, n, r, i, a, o, c, l, u);
353
353
  }
354
354
  getSolanaProgram(e) {
355
355
  if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
@@ -366,16 +366,16 @@ var he = class {
366
366
  e,
367
367
  t,
368
368
  n
369
- ]), s(x(e)) ? re(this, e, t, n, r, i, a) : q(this, e, t, n, r, i, a);
369
+ ]), s(S(e)) ? re(this, e, t, n, r, i, a) : q(this, e, t, n, r, i, a);
370
370
  }
371
371
  async withdraw(e, t, n, r, i, a, o, c) {
372
- return s(x(e)) ? Z(this, e, t, n, i, a, o, c) : F(this, e, t, n, r, i, a, o, c);
372
+ return s(S(e)) ? Z(this, e, t, n, i, a, o, c) : F(this, e, t, n, r, i, a, o, c);
373
373
  }
374
374
  async withdrawStuckUtxos(e, t) {
375
375
  return de(this, e, t);
376
376
  }
377
- async createReceiveAddress(e, t, n = !1) {
378
- return V(this, e, t, n);
377
+ async createReceiveAddress(e, t = !1) {
378
+ return V(this, e, t);
379
379
  }
380
380
  async getReceiveVaultAccount() {
381
381
  return B(this);
@@ -384,7 +384,7 @@ var he = class {
384
384
  return H(this, e, t, n, r, i);
385
385
  }
386
386
  async swap(e, t, n, r, i, a, o, c) {
387
- return s(x(e)) ? this.swapSolana(e, t, r, i, a, c) : P(this, e, t, n, r, i, a, o, c);
387
+ return s(S(e)) ? this.swapSolana(e, t, r, i, a, c) : P(this, e, t, n, r, i, a, o, c);
388
388
  }
389
389
  async swapSolana(e, t, n, r, i, a) {
390
390
  let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
@@ -392,9 +392,9 @@ var he = class {
392
392
  }
393
393
  async actionReceive(e, t, n, r, i, a) {
394
394
  if (!i) throw Error("subAccount is required");
395
- return s(x(e)) ? Q(this, e[0], t[0], i, void 0, !1, r?.variableRate, a) : W(this, e, t, n, r, i, a);
395
+ return s(S(e)) ? Q(this, e[0], t[0], i, void 0, !1, r?.variableRate, a) : W(this, e, t, n, r, i, a);
396
396
  }
397
- async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
397
+ async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p, m) {
398
398
  return this.enforceRateLimit(this.actionPrivateWallet.name, [
399
399
  e,
400
400
  t,
@@ -406,13 +406,13 @@ var he = class {
406
406
  s,
407
407
  c,
408
408
  p
409
- ]), z(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
409
+ ]), z(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p, m);
410
410
  }
411
411
  async proxySwap(e, t, n, r, i, a, o, c, l = !1, u, d, f, p) {
412
- return s(x(e)) ? ae(this, e, t, r, a, n, i, o, c, p, d, f) : K(this, e, t, n, r, i, a, o, c, l, u, p, d, f);
412
+ return s(S(e)) ? ae(this, e, t, r, a, n, i, o, c, p, d, f) : K(this, e, t, n, r, i, a, o, c, l, u, p, d, f);
413
413
  }
414
414
  async proxyToPrivate(e, t, n, r, i, a, o) {
415
- return s(x(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
415
+ return s(S(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
416
416
  e[0],
417
417
  t[0],
418
418
  n,
@@ -20,7 +20,7 @@ import { PublicKey } from '@solana/web3.js';
20
20
  import { PrivateBridgeRecipient, PrivateBridgeResult, PublicBridgeRecipient } from '../../types/bridging-tx.types';
21
21
  import { NearBridgeParams, NearBridgeResult } from '../../types/near-intents.types';
22
22
  import { PrivateBalancesState } from '../../types/balances.types';
23
- import { ReceiveVaultAccount, ReceiveVaultRecord } from '../../types/receive-vault.types';
23
+ import { ReceiveVaultAccount, ReceiveVaultNetwork, ReceiveVaultRecord } from '../../types/receive-vault.types';
24
24
  import { Utxo } from '../utxo/Utxo';
25
25
  import { ScheduledTransactionByIdResponse } from '../../API/scheduled-transactions-calls';
26
26
  import { DepositAndSendExtendedResult } from '../../types/scheduled-transactions.types';
@@ -70,7 +70,7 @@ export interface IHinkal<ConnectorType = unknown> {
70
70
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
71
71
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, variableRateOverride?: bigint, action?: AdminTransactionType): Promise<ethers.TransactionResponse | string>;
72
72
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<string[]>;
73
- createReceiveAddress(chainId: number, token: string, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
73
+ createReceiveAddress(network: ReceiveVaultNetwork, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
74
74
  getReceiveVaultAccount(): Promise<ReceiveVaultAccount>;
75
75
  recoverReceiveVault(record: ReceiveVaultRecord, token: string, chainId: number, to: string, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
76
76
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, slippagePercentage?: number, action?: AdminTransactionType): Promise<string>;
@@ -85,7 +85,7 @@ export interface IHinkal<ConnectorType = unknown> {
85
85
  initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
86
86
  initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<void>;
87
87
  storeAndGetInitialSignature(authSignature: string): Promise<string>;
88
- initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
88
+ initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<number>;
89
89
  disconnectFromConnector(): Promise<void>;
90
90
  resetProviderAdapters(): Promise<void>;
91
91
  setListeners(providerAdapter: IProviderAdapter): Promise<void>;
@@ -100,7 +100,7 @@ export interface IHinkal<ConnectorType = unknown> {
100
100
  signMessage(message: string): Promise<string>;
101
101
  signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
102
102
  signWithSubAccount(chainId: number, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount): Promise<string>;
103
- actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount?: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo): Promise<string>;
103
+ actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount?: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, bridgedToken?: ERC20Token): Promise<string>;
104
104
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeTokens?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType): Promise<string>;
105
105
  proxySwap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, isTheSameChainSwap: boolean, subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, bridgedToken?: ERC20Token, bridgedTokenAmount?: bigint, action?: AdminTransactionType): Promise<string>;
106
106
  proxyToPrivate(erc20Tokens: ERC20Token[], deltaAmountsBase: bigint[], subAccount: SubAccount, recipientInfo: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),o=require(`../../error-handling/logger.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../types/transactions.types.cjs`),l=require(`../../types/admin.types.cjs`),u=require(`../../types/activities.types.cjs`),d=require(`../../types/transaction.types.cjs`),f=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const ee=require(`../../API/API.cjs`),p=require(`../../functions/utils/erc20tokenFunctions.cjs`),m=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const h=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),g=require(`../../functions/utils/create-provider.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/utils/fees.utils.cjs`),y=require(`../../functions/private-wallet/emporium.helpers.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/utils/postToOffscreen.cjs`),S=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),w=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),T=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const E=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var D=3*1e3,O=13*1e3,k=async(k,A,j,M,N,P,F,I)=>{if(!j||F.length===0)return;let L;try{let a=g.createJsonRpcProvider(A);await i.waitLittle(A===e.chainIds.ethMainnet?O:D);let o=await S.getTokensToDepositBack(F,N,j,a);if(!o.length){x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let d=(await p.getErc20TokensBySymbolsFromAPI(await v.getGasTokenSymbols(A),A)).filter(e=>e!==void 0),{prices:m}=await ee.API.getTokenPrices(A,d.map(e=>e.erc20TokenAddress)),R=new Map(m.map((e,t)=>[d[t].erc20TokenAddress.toLowerCase(),e])),z=o.map(({token:e})=>e),B=o.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=y.createTransaferEmporiumOpsBatch(k,A,V,await h.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await _.getFeeStructure(A,N,V,s.ExternalActionId.Emporium,H.map(e=>b.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:W}=U??{},G=await p.getErc20TokenFromAPI(A,U.feeToken);if(!G)return;let K=r.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await w.selectGasToken(N,q,A,z,H,await C.getGasTokenRecords(d,A,k,j,a,R),U,V,j);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[A].contractData,$={activityType:u.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:r.getAmountInToken(e,B[t]),token:e}))};if(L=await E.activityStorage.saveTxRequest($),x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{status:c.TransactionStatus.Loading}),I)T.updateHinkal(A,k,I.inputNullifiers?.flat(),I.outCommitments?.flat(),I.encryptedOutputs?.flat());else if(!k.generateProofRemotely)throw Error(`Circomdata should be passed if tx is done locally`);let te={id:0,success:!0,txHash:await k.actionReceive(z,B,Y,X,M,l.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(te,L),x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{status:c.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof a.ErrorWithRelayerTransaction&&(t=e.txHash);let n={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(n,L),x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{status:c.TransactionStatus.Failed,error:m.getErrorMessageFromTransactionRequest(e,d.TransactionRequestType.ReceiveFromShieldedAccount)}),o.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),o=require(`../../error-handling/logger.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../types/transactions.types.cjs`),l=require(`../../types/admin.types.cjs`),u=require(`../../types/activities.types.cjs`),d=require(`../../types/transaction.types.cjs`),f=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const ee=require(`../../functions/utils/create-provider.cjs`),p=require(`../../API/API.cjs`),m=require(`../../functions/utils/erc20tokenFunctions.cjs`),h=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const g=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/utils/fees.utils.cjs`),y=require(`../../functions/private-wallet/emporium.helpers.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/utils/postToOffscreen.cjs`),S=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),w=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),T=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const E=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var D=3*1e3,O=13*1e3,k=async(k,A,j,M,N,P,F,I)=>{if(!j||F.length===0)return;let L;try{let a=ee.createJsonRpcProvider(A);await i.waitLittle(A===e.chainIds.ethMainnet?O:D);let o=await S.getTokensToDepositBack(F,N,j,a);if(!o.length){x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let d=(await m.getErc20TokensBySymbolsFromAPI(await v.getGasTokenSymbols(A),A)).filter(e=>e!==void 0),{prices:h}=await p.API.getTokenPrices(A,d.map(e=>e.erc20TokenAddress)),R=new Map(h.map((e,t)=>[d[t].erc20TokenAddress.toLowerCase(),e])),z=o.map(({token:e})=>e),B=o.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=y.createTransaferEmporiumOpsBatch(k,A,V,await g.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await _.getFeeStructure(A,N,V,s.ExternalActionId.Emporium,H.map(e=>b.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:W}=U??{},G=await m.getErc20TokenFromAPI(A,U.feeToken);if(!G)return;let K=r.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await w.selectGasToken(N,q,A,z,H,await C.getGasTokenRecords(d,A,k,j,a,R),U,V,j);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[A].contractData,$={activityType:u.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:r.getAmountInToken(e,B[t]),token:e}))};if(L=await E.activityStorage.saveTxRequest($),x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{status:c.TransactionStatus.Loading}),I)T.updateHinkal(A,k,I.inputNullifiers?.flat(),I.outCommitments?.flat(),I.encryptedOutputs?.flat());else if(!k.generateProofRemotely)throw Error(`Circomdata should be passed if tx is done locally`);let te={id:0,success:!0,txHash:await k.actionReceive(z,B,Y,X,M,l.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(te,L),x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{status:c.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof a.ErrorWithRelayerTransaction&&(t=e.txHash);let n={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(n,L),x.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{status:c.TransactionStatus.Failed,error:h.getErrorMessageFromTransactionRequest(e,d.TransactionRequestType.ReceiveFromShieldedAccount)}),o.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
@@ -12,12 +12,12 @@ import { ActivityTypes as d } from "../../types/activities.types.mjs";
12
12
  import { TransactionRequestType as f } from "../../types/transaction.types.mjs";
13
13
  import { MessagesFromOffscreen as p } from "../../types/offscreen.types.mjs";
14
14
  import "../../types/index.mjs";
15
- import { API as m } from "../../API/API.mjs";
15
+ import { createJsonRpcProvider as m } from "../../functions/utils/create-provider.mjs";
16
+ import { API as te } from "../../API/API.mjs";
16
17
  import { getErc20TokenFromAPI as h, getErc20TokensBySymbolsFromAPI as g } from "../../functions/utils/erc20tokenFunctions.mjs";
17
18
  import { getErrorMessageFromTransactionRequest as _ } from "../../error-handling/get-error.message.mjs";
18
19
  import "../../error-handling/index.mjs";
19
- import { modifyVolatileTokenAmountChanges as te } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
20
- import { createJsonRpcProvider as v } from "../../functions/utils/create-provider.mjs";
20
+ import { modifyVolatileTokenAmountChanges as v } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
21
21
  import { getFeeStructure as y } from "../../functions/pre-transaction/getFeeStructure.mjs";
22
22
  import { getGasTokenSymbols as b } from "../../functions/utils/fees.utils.mjs";
23
23
  import { createTransaferEmporiumOpsBatch as x } from "../../functions/private-wallet/emporium.helpers.mjs";
@@ -35,14 +35,14 @@ var k = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
35
35
  if (!M || I.length === 0) return;
36
36
  let R;
37
37
  try {
38
- let o = v(j);
38
+ let o = m(j);
39
39
  await ee(j === e.ethMainnet ? ne : k);
40
40
  let s = await w(I, P, M, o);
41
41
  if (!s.length) {
42
42
  C(p.AutoShieldTxStatus, { message: i.AUTO_SHIELD_SKIPPED });
43
43
  return;
44
44
  }
45
- let f = (await g(await b(j), j)).filter((e) => e !== void 0), { prices: _ } = await m.getTokenPrices(j, f.map((e) => e.erc20TokenAddress)), z = new Map(_.map((e, t) => [f[t].erc20TokenAddress.toLowerCase(), e])), B = s.map(({ token: e }) => e), V = s.map(({ balance: e }) => e), H = B.map(({ erc20TokenAddress: e }) => e), U = x(A, j, H, await te(j, B, V, M)), W = await y(j, P, H, c.Emporium, U.map((e) => S(e, M, j))), { flatFee: G } = W ?? {}, K = await h(j, W.feeToken);
45
+ let f = (await g(await b(j), j)).filter((e) => e !== void 0), { prices: _ } = await te.getTokenPrices(j, f.map((e) => e.erc20TokenAddress)), z = new Map(_.map((e, t) => [f[t].erc20TokenAddress.toLowerCase(), e])), B = s.map(({ token: e }) => e), V = s.map(({ balance: e }) => e), H = B.map(({ erc20TokenAddress: e }) => e), U = x(A, j, H, await v(j, B, V, M)), W = await y(j, P, H, c.Emporium, U.map((e) => S(e, M, j))), { flatFee: G } = W ?? {}, K = await h(j, W.feeToken);
46
46
  if (!K) return;
47
47
  let q = a(K, G), J = (z.get(K.erc20TokenAddress.toLowerCase()) ?? 0) * Number(q), Y = await E(P, J, j, B, U, await T(f, j, A, M, o, z), W, H, M);
48
48
  if (!Y) return;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../functions/utils/addresses.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/token.types.cjs`),c=require(`../../API/API.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../AccountActions/AccountActions.cjs`),d=require(`../../functions/pre-transaction/getFeeStructure.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/private-wallet/emporium.helpers.cjs`),m=require(`../../constants/addresses.constants.cjs`),h=require(`../../constants/bridging.constants.cjs`),g=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),_=require(`../../functions/utils/enclave-utxo-storage.cjs`),v=require(`../../functions/utils/bridge-arrival.utils.cjs`),y=require(`../../functions/utils/temp-wallet.utils.cjs`),b=require(`../../API/callNearIntentsAPI.cjs`),x=require(`../../functions/utils/nearIntents.utils.cjs`),S=require(`../../functions/web3/lifiAPI.cjs`),C=require(`../../functions/utils/bridge-claimable-utxo.utils.cjs`);var w=async(e,r,d,f,h,g,_,v)=>{let{chainId:b}=r,x=d.chainId,C=r.erc20TokenAddress,w=m.SWAP_ROUTER_ADDRESSES[o.ExternalActionId.Lifi][b];if(!w)throw Error(`LIFI not configured for chain ${b}`);let T=i.randomBigInt(6),{sourceSubAccount:E,destinationSubAccount:D}=y.deriveBridgeTempWallets(e,b,x,T),O=u.AccountActions.getAddressFromSubAccount(b,E),k=u.AccountActions.getAddressFromSubAccount(x,D);if(!O||!k)throw Error(`Missing temp wallet address for LIFI bridge`);let{lifiDataValue:A,outSwapAmountValue:j,extraNativeTokenFee:M}=await S.getLifiPrice(r,d,f,h,O,k),N={calldata:A,expectedAmount:j,nativeFee:M},P=i.getAmountInWei(r,f),F=Array.from(new Set([b,x])),I=a.hashEthereumAddress(await e.getEthereumAddress());await Promise.all(F.map(e=>c.API.addTemporaryWalletNonce(e,I,Number(T),s.TemporaryWalletRecoveryDestination.Confidential)));let L=n.caseInsensitiveEqual(C,t.zeroAddress),R=N.nativeFee>0n&&!L,z=L?P+N.nativeFee:P,B=[r],V=[-z];if(R){let e=await l.getErc20TokenFromAPI(b,t.zeroAddress);if(!e)throw Error(`Native token not found for bridge fee`);B.push(e),V.push(-N.nativeFee)}let H=p.createLifiBridgeOps(e,b,O,w,C,z,P,N),U=B.map((e,t)=>({token:e,amount:V[t]}));return{tempSubAccount:D,sourceTxHash:await e.actionPrivateWallet(b,B,V,V.map(()=>!1),H,U,E,g??C,_,void 0,!1,void 0,v,void 0),expectedAmount:N.expectedAmount}},T=async(e,t,n,r,o,l,d,f)=>{let p=n.chainId,m=i.randomBigInt(6),g=y.buildTempSubAccountForChain(e,p,m),_=u.AccountActions.getAddressFromSubAccount(p,g);if(!_)throw Error(`Missing temp wallet address for NEAR bridge`);let v=a.hashEthereumAddress(await e.getEthereumAddress());await c.API.addTemporaryWalletNonce(p,v,Number(m),s.TemporaryWalletRecoveryDestination.Confidential);let[S,C]=await Promise.all([x.resolveNearAssetId(t.chainId,t.erc20TokenAddress),x.resolveNearAssetId(p,n.erc20TokenAddress)]),w=i.getAmountInWei(t,r),T=new Date(Date.now()+h.NEAR_BRIDGE_QUOTE_DEADLINE_BUFFER_MS).toISOString(),{quote:E}=await b.getNearIntentsQuote({dry:!1,swapType:`EXACT_INPUT`,slippageTolerance:Math.round(o*1e4)||100,originAsset:S,depositType:`ORIGIN_CHAIN`,destinationAsset:C,amount:w.toString(),recipient:_,recipientType:`DESTINATION_CHAIN`,refundTo:e.userKeys.getNearIntentsAccountId(),refundType:`INTENTS`,deadline:T});if(!E.depositAddress)throw Error(`NEAR Intents quote returned no deposit address`);let D=await e.withdraw([t],[-w],E.depositAddress,!1,l??t.erc20TokenAddress,d,void 0,f);return{tempSubAccount:g,sourceTxHash:typeof D==`string`?D:D.hash,expectedAmount:BigInt(E.amountOut)}},E=async(n,i,a,s,c)=>{let l=i.chainId,m=i.erc20TokenAddress,h=u.AccountActions.getAddressFromSubAccount(l,a);if(!h)throw Error(`Missing temp wallet address for bridge shield`);let{recipientInfo:v,claimable:y}=C.resolveBridgeRecipient(n,c);if(y&&await _.storeClaimableKeyInEnclave(await n.getEthereumAddressByChain(l),y.ethAddress,y.keys.getShieldedPrivateKey(),l,y.signature,n.userKeys.getSignature()),e.isSolanaLike(l))return C.hinkalSolanaShieldBridged(n,i,a,s,v,t.HINKAL_SHIELD_VARIABLE_RATE);let b=p.createTransaferEmporiumOpsBatch(n,l,[m],[s]),x=await f.calculateModifiedFeeStructure(l,i,s,await d.getFeeStructure(l,m,[m],o.ExternalActionId.Emporium,b.map(e=>g.convertEmporiumOpToCallInfo(e,h,l)),t.HINKAL_PRIVATE_SEND_VARIABLE_RATE)),S=s-f.calculateTotalFee(s,x);if(S<=0n)throw Error(r.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);return{destTxHash:await n.proxyToPrivate([i],[S],a,v,x.feeToken,x),shieldedAmount:S}},D=async(t,n,r,i,a,o=h.DEFAULT_BRIDGING_SLIPPAGE_DECIMAL,s,c,l)=>{let{tempSubAccount:d,sourceTxHash:f,expectedAmount:p}=e.isNearIntentsBridgeSource(n.chainId)?await T(t,n,r,i,o,s,c,l):await w(t,n,r,i,o,s,c,l),m=u.AccountActions.getAddressFromSubAccount(r.chainId,d);if(!m)throw Error(`Missing temp wallet address for bridge`);let{destTxHash:g,shieldedAmount:_}=await E(t,r,d,await v.waitForBridgeArrival(r.chainId,m,r.erc20TokenAddress,p,o),a);return{sourceTxHash:f,destTxHash:g,destinationTokenAmount:_.toString()}};exports.hinkalBridgePrivateToPrivate=D;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../functions/utils/addresses.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/token.types.cjs`),c=require(`../../API/API.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../AccountActions/AccountActions.cjs`),d=require(`../../functions/pre-transaction/getFeeStructure.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/private-wallet/emporium.helpers.cjs`),m=require(`../../constants/addresses.constants.cjs`),h=require(`../../constants/bridging.constants.cjs`),g=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),_=require(`../../functions/utils/enclave-utxo-storage.cjs`),v=require(`../../functions/utils/bridge-arrival.utils.cjs`),y=require(`../../functions/utils/temp-wallet.utils.cjs`),b=require(`../../API/callNearIntentsAPI.cjs`),x=require(`../../functions/utils/nearIntents.utils.cjs`),S=require(`../../functions/web3/lifiAPI.cjs`),C=require(`../../functions/utils/bridge-claimable-utxo.utils.cjs`);var w=async(e,r,d,f,h,g,_,v)=>{let{chainId:b}=r,x=d.chainId,C=r.erc20TokenAddress,w=m.SWAP_ROUTER_ADDRESSES[o.ExternalActionId.Lifi][b];if(!w)throw Error(`LIFI not configured for chain ${b}`);let T=i.randomBigInt(6),{sourceSubAccount:E,destinationSubAccount:D}=y.deriveBridgeTempWallets(e,b,x,T),O=u.AccountActions.getAddressFromSubAccount(b,E),k=u.AccountActions.getAddressFromSubAccount(x,D);if(!O||!k)throw Error(`Missing temp wallet address for LIFI bridge`);let{lifiDataValue:A,outSwapAmountValue:j,extraNativeTokenFee:M}=await S.getLifiPrice(r,d,f,h,O,k),N={calldata:A,expectedAmount:j,nativeFee:M},P=i.getAmountInWei(r,f),F=Array.from(new Set([b,x])),I=a.hashEthereumAddress(await e.getEthereumAddress());await Promise.all(F.map(e=>c.API.addTemporaryWalletNonce(e,I,Number(T),s.TemporaryWalletRecoveryDestination.Confidential)));let L=n.caseInsensitiveEqual(C,t.zeroAddress),R=N.nativeFee>0n&&!L,z=L?P+N.nativeFee:P,B=[r],V=[-z];if(R){let e=await l.getErc20TokenFromAPI(b,t.zeroAddress);if(!e)throw Error(`Native token not found for bridge fee`);B.push(e),V.push(-N.nativeFee)}let H=p.createLifiBridgeOps(e,b,O,w,C,z,P,N),U=B.map((e,t)=>({token:e,amount:V[t]}));return{tempSubAccount:D,sourceTxHash:await e.actionPrivateWallet(b,B,V,V.map(()=>!1),H,U,E,g??C,_,void 0,!1,void 0,v,void 0,d),expectedAmount:N.expectedAmount}},T=async(e,t,n,r,o,l,d,f)=>{let p=n.chainId,m=i.randomBigInt(6),g=y.buildTempSubAccountForChain(e,p,m),_=u.AccountActions.getAddressFromSubAccount(p,g);if(!_)throw Error(`Missing temp wallet address for NEAR bridge`);let v=a.hashEthereumAddress(await e.getEthereumAddress());await c.API.addTemporaryWalletNonce(p,v,Number(m),s.TemporaryWalletRecoveryDestination.Confidential);let[S,C]=await Promise.all([x.resolveNearAssetId(t.chainId,t.erc20TokenAddress),x.resolveNearAssetId(p,n.erc20TokenAddress)]),w=i.getAmountInWei(t,r),T=new Date(Date.now()+h.NEAR_BRIDGE_QUOTE_DEADLINE_BUFFER_MS).toISOString(),{quote:E}=await b.getNearIntentsQuote({dry:!1,swapType:`EXACT_INPUT`,slippageTolerance:Math.round(o*1e4)||100,originAsset:S,depositType:`ORIGIN_CHAIN`,destinationAsset:C,amount:w.toString(),recipient:_,recipientType:`DESTINATION_CHAIN`,refundTo:e.userKeys.getNearIntentsAccountId(),refundType:`INTENTS`,deadline:T});if(!E.depositAddress)throw Error(`NEAR Intents quote returned no deposit address`);let D=await e.withdraw([t],[-w],E.depositAddress,!1,l??t.erc20TokenAddress,d,void 0,f);return{tempSubAccount:g,sourceTxHash:typeof D==`string`?D:D.hash,expectedAmount:BigInt(E.amountOut)}},E=async(n,i,a,s,c)=>{let l=i.chainId,m=i.erc20TokenAddress,h=u.AccountActions.getAddressFromSubAccount(l,a);if(!h)throw Error(`Missing temp wallet address for bridge shield`);let{recipientInfo:v,claimable:y}=C.resolveBridgeRecipient(n,c);if(y&&await _.storeClaimableKeyInEnclave(await n.getEthereumAddressByChain(l),y.ethAddress,y.keys.getShieldedPrivateKey(),l,y.signature,n.userKeys.getSignature()),e.isSolanaLike(l))return C.hinkalSolanaShieldBridged(n,i,a,s,v,t.HINKAL_SHIELD_VARIABLE_RATE);let b=p.createTransaferEmporiumOpsBatch(n,l,[m],[s]),x=await f.calculateModifiedFeeStructure(l,i,s,await d.getFeeStructure(l,m,[m],o.ExternalActionId.Emporium,b.map(e=>g.convertEmporiumOpToCallInfo(e,h,l)),t.HINKAL_PRIVATE_SEND_VARIABLE_RATE)),S=s-f.calculateTotalFee(s,x);if(S<=0n)throw Error(r.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);return{destTxHash:await n.proxyToPrivate([i],[S],a,v,x.feeToken,x),shieldedAmount:S}},D=async(t,n,r,i,a,o=h.DEFAULT_BRIDGING_SLIPPAGE_DECIMAL,s,c,l)=>{let{tempSubAccount:d,sourceTxHash:f,expectedAmount:p}=e.isNearIntentsBridgeSource(n.chainId)?await T(t,n,r,i,o,s,c,l):await w(t,n,r,i,o,s,c,l),m=u.AccountActions.getAddressFromSubAccount(r.chainId,d);if(!m)throw Error(`Missing temp wallet address for bridge`);let{destTxHash:g,shieldedAmount:_}=await E(t,r,d,await v.waitForBridgeArrival(r.chainId,m,r.erc20TokenAddress,p,o),a);return{sourceTxHash:f,destTxHash:g,destinationTokenAmount:_.toString()}};exports.hinkalBridgePrivateToPrivate=D;
@@ -46,7 +46,7 @@ var N = async (e, t, n, r, o, h, g, _) => {
46
46
  }));
47
47
  return {
48
48
  tempSubAccount: E,
49
- sourceTxHash: await e.actionPrivateWallet(y, V, H, H.map(() => !1), U, W, T, h ?? S, g, void 0, !1, void 0, _, void 0),
49
+ sourceTxHash: await e.actionPrivateWallet(y, V, H, H.map(() => !1), U, W, T, h ?? S, g, void 0, !1, void 0, _, void 0, n),
50
50
  expectedAmount: P.expectedAmount
51
51
  };
52
52
  }, P = async (e, t, n, r, i, a, o, u) => {