@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
@@ -0,0 +1,4 @@
1
+ import { AdminDimensions, AdminTransactionType } from '../../types/admin.types';
2
+ import { ERC20Token } from '../../types/token.types';
3
+ export declare const resolveAdminDimensions: (action: AdminTransactionType) => AdminDimensions | undefined;
4
+ export declare const resolveSwapPairTokens: (action: AdminTransactionType | undefined, tokens: ERC20Token[], bridgedToken?: ERC20Token) => ERC20Token[] | undefined;
@@ -0,0 +1,206 @@
1
+ import { AdminActivity as e, AdminPrivacyFlow as t, AdminProduct as n, AdminRoute as r, AdminTransactionType as i } from "../../types/admin.types.mjs";
2
+ //#region libs/shared/common/src/functions/utils/admin-dimensions.ts
3
+ var { Transfer: a, Swap: o, Other: s } = e, { PublicToPublic: c, PublicToPrivate: l, PrivateToPrivate: u, PrivateToPublic: d } = t, { SameChain: f, CrossChain: p } = r, { Wallet: m, Pay: h, Prime: g } = n, _ = {
4
+ [i.Shield]: {
5
+ product: m,
6
+ activity: a,
7
+ privacyFlow: l,
8
+ route: f
9
+ },
10
+ [i.PublicToPublicSend]: {
11
+ product: m,
12
+ activity: a,
13
+ privacyFlow: c,
14
+ route: f
15
+ },
16
+ [i.PublicToPrivateSend]: {
17
+ product: m,
18
+ activity: a,
19
+ privacyFlow: l,
20
+ route: f
21
+ },
22
+ [i.PublicToPublicBridgeSend]: {
23
+ product: m,
24
+ activity: a,
25
+ privacyFlow: c,
26
+ route: p
27
+ },
28
+ [i.PublicSwap]: {
29
+ product: m,
30
+ activity: o,
31
+ privacyFlow: c,
32
+ route: f
33
+ },
34
+ [i.PublicBridgeSwap]: {
35
+ product: m,
36
+ activity: o,
37
+ privacyFlow: c,
38
+ route: p
39
+ },
40
+ [i.Unshield]: {
41
+ product: m,
42
+ activity: a,
43
+ privacyFlow: d,
44
+ route: f
45
+ },
46
+ [i.PrivateSwap]: {
47
+ product: m,
48
+ activity: o,
49
+ privacyFlow: u,
50
+ route: f
51
+ },
52
+ [i.PrivateToPrivateSend]: {
53
+ product: m,
54
+ activity: a,
55
+ privacyFlow: u,
56
+ route: f
57
+ },
58
+ [i.PrivateToPublicSend]: {
59
+ product: m,
60
+ activity: a,
61
+ privacyFlow: d,
62
+ route: f
63
+ },
64
+ [i.AutoShield]: {
65
+ product: m,
66
+ activity: a,
67
+ privacyFlow: l,
68
+ route: f
69
+ },
70
+ [i.PaymentLink]: {
71
+ product: h,
72
+ activity: a,
73
+ privacyFlow: l,
74
+ route: f
75
+ },
76
+ [i.PublicDappTransaction]: {
77
+ product: m,
78
+ activity: s,
79
+ privacyFlow: c,
80
+ route: f
81
+ },
82
+ [i.PayShield]: {
83
+ product: h,
84
+ activity: a,
85
+ privacyFlow: l,
86
+ route: f
87
+ },
88
+ [i.PayPublicToPublicSend]: {
89
+ product: h,
90
+ activity: a,
91
+ privacyFlow: c,
92
+ route: f
93
+ },
94
+ [i.PayPublicToPrivateSend]: {
95
+ product: h,
96
+ activity: a,
97
+ privacyFlow: l,
98
+ route: f
99
+ },
100
+ [i.PayPublicToPublicBridgeSend]: {
101
+ product: h,
102
+ activity: a,
103
+ privacyFlow: c,
104
+ route: p
105
+ },
106
+ [i.PayPublicSwap]: {
107
+ product: h,
108
+ activity: o,
109
+ privacyFlow: c,
110
+ route: f
111
+ },
112
+ [i.PayPublicBridgeSwap]: {
113
+ product: h,
114
+ activity: o,
115
+ privacyFlow: c,
116
+ route: p
117
+ },
118
+ [i.PayUnshield]: {
119
+ product: h,
120
+ activity: a,
121
+ privacyFlow: d,
122
+ route: f
123
+ },
124
+ [i.PayPrivateToPrivateSend]: {
125
+ product: h,
126
+ activity: a,
127
+ privacyFlow: u,
128
+ route: f
129
+ },
130
+ [i.PayPrivateToPublicSend]: {
131
+ product: h,
132
+ activity: a,
133
+ privacyFlow: d,
134
+ route: f
135
+ },
136
+ [i.PayPrivateToPrivateBridgeSend]: {
137
+ product: h,
138
+ activity: a,
139
+ privacyFlow: u,
140
+ route: p
141
+ },
142
+ [i.PayPrivateSwap]: {
143
+ product: h,
144
+ activity: o,
145
+ privacyFlow: u,
146
+ route: f
147
+ },
148
+ [i.PayPrivateBridgeSwap]: {
149
+ product: h,
150
+ activity: o,
151
+ privacyFlow: u,
152
+ route: p
153
+ },
154
+ [i.PrimeShield]: {
155
+ product: g,
156
+ activity: a,
157
+ privacyFlow: l,
158
+ route: f
159
+ },
160
+ [i.PrimePublicToPrivateSend]: {
161
+ product: g,
162
+ activity: a,
163
+ privacyFlow: l,
164
+ route: f
165
+ },
166
+ [i.PrimePublicToPublicSend]: {
167
+ product: g,
168
+ activity: a,
169
+ privacyFlow: c,
170
+ route: f
171
+ },
172
+ [i.PrimePublicToPublicBridgeSend]: {
173
+ product: g,
174
+ activity: a,
175
+ privacyFlow: c,
176
+ route: p
177
+ },
178
+ [i.PrimeUnshield]: {
179
+ product: g,
180
+ activity: a,
181
+ privacyFlow: d,
182
+ route: f
183
+ },
184
+ [i.PrimePrivateToPrivateSend]: {
185
+ product: g,
186
+ activity: a,
187
+ privacyFlow: u,
188
+ route: f
189
+ },
190
+ [i.PrimePrivateToPublicSend]: {
191
+ product: g,
192
+ activity: a,
193
+ privacyFlow: d,
194
+ route: f
195
+ },
196
+ [i.PrimePrivateToPrivateBridgeSend]: {
197
+ product: g,
198
+ activity: a,
199
+ privacyFlow: u,
200
+ route: p
201
+ }
202
+ }, v = (e) => _[e], y = (e, t, n) => {
203
+ if (!(!e || v(e)?.activity !== o)) return n ? [t[0], n] : t;
204
+ };
205
+ //#endregion
206
+ export { v as resolveAdminDimensions, y as resolveSwapPairTokens };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../API/solana-rpc-fallback.cjs`),n=require(`../../API/evm-rpc-fallback.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=class extends r.JsonRpcProvider{isPaidRpc;constructor(e,t,n){super(t,n,{staticNetwork:!0}),this.chainId=e,this.isPaidRpc=t.includes(`.g.alchemy.com/`)}async _perform(t){if(this.isPaidRpc||e.isTempo(this.chainId))return super._perform(t);if(t.method===`getTransactionReceipt`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getTransactionReceipt`,[t.hash]);if(t.method===`getLogs`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getLogs`,[t.filter]);try{return await super._perform(t)}catch(e){let r=this.getRpcRequest(t);if(!r)throw e;return n.getEvmRpcResultFromServer(this.chainId,r.method,r.args)}}},o=t=>{let{rpcUrl:n}=e.networkRegistry[t];return new a(t,e.isTronLike(t)&&!n.includes(`.g.alchemy.com/`)?`${n}/jsonrpc`:n,e.getOnchainChainId(t))},s=(e,n=`confirmed`)=>{let r=new i.Connection(e,n),a=e.includes(`helius-rpc.com`),o=r._rpcRequest.bind(r),s=new Set([`getLatestBlockhash`,`getBlockHeight`,`getTokenAccountsByOwner`,`getBalance`,`getAccountInfo`,`getTokenAccountBalance`]);return r._rpcRequest=async(e,n)=>{if(a)return o(e,n);if(s.has(e))return t.getSolanaRpcResultFromServer(e,n);try{return await o(e,n)}catch{return t.getSolanaRpcResultFromServer(e,n)}},r};exports.createCustomSolanaConnection=s,exports.createJsonRpcProvider=o;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../API/solana-rpc-fallback.cjs`),n=require(`../../API/evm-rpc-fallback.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=class extends r.JsonRpcProvider{isPaidRpc;constructor(e,t,n){super(t,n,{staticNetwork:!0}),this.chainId=e,this.isPaidRpc=t.includes(`.g.alchemy.com/`)}async _perform(t){if(this.isPaidRpc||e.isTempo(this.chainId))return super._perform(t);if(t.method===`getTransactionReceipt`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getTransactionReceipt`,[t.hash]);if(t.method===`getLogs`)return n.getEvmRpcResultFromServer(this.chainId,`eth_getLogs`,[t.filter]);try{return await super._perform(t)}catch(e){let r=this.getRpcRequest(t);if(!r)throw e;return n.getEvmRpcResultFromServer(this.chainId,r.method,r.args)}}},o=t=>{let{rpcUrl:n}=e.networkRegistry[t];return new a(t,e.isTronLike(t)&&!n.includes(`.g.alchemy.com/`)?`${n}/jsonrpc`:n,e.getOnchainChainId(t))},s=(e,n=`confirmed`)=>{let r=new i.Connection(e,n),a=e.includes(`helius-rpc.com`)||e.includes(`devnet.solana.com`)||[`localhost`,`127.0.0.1`,`[::1]`].includes(new URL(e).hostname),o=r._rpcRequest.bind(r),s=new Set([`getLatestBlockhash`,`getBlockHeight`,`getTokenAccountsByOwner`,`getBalance`,`getAccountInfo`,`getTokenAccountBalance`]);return r._rpcRequest=async(e,n)=>{if(a)return o(e,n);if(s.has(e))return t.getSolanaRpcResultFromServer(e,n);try{return await o(e,n)}catch{return t.getSolanaRpcResultFromServer(e,n)}},r};exports.createCustomSolanaConnection=s,exports.createJsonRpcProvider=o;
@@ -25,7 +25,11 @@ var c = class extends o {
25
25
  let { rpcUrl: i } = r[t];
26
26
  return new c(t, n(t) && !i.includes(".g.alchemy.com/") ? `${i}/jsonrpc` : i, e(t));
27
27
  }, u = (e, t = "confirmed") => {
28
- let n = new s(e, t), r = e.includes("helius-rpc.com"), a = n._rpcRequest.bind(n), o = new Set([
28
+ let n = new s(e, t), r = e.includes("helius-rpc.com") || e.includes("devnet.solana.com") || [
29
+ "localhost",
30
+ "127.0.0.1",
31
+ "[::1]"
32
+ ].includes(new URL(e).hostname), a = n._rpcRequest.bind(n), o = new Set([
29
33
  "getLatestBlockhash",
30
34
  "getBlockHeight",
31
35
  "getTokenAccountsByOwner",
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../constants/fees.constants.cjs`),r=require(`./caseInsensitive.utils.cjs`),i=require(`../web3/etherFunctions.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`../../API/getTokenPrice.cjs`),s=require(`./erc20tokenFunctions.cjs`);var c=async r=>{if(!r)return n.EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS;let i=t.zeroAddress;e.isSolanaLike(r)&&(i=t.solanaNativeAddress),e.isTempo(r)&&(i=n.TEMPO_DEFAULT_GAS_TOKEN_ADDRESS);let a=(await s.getErc20TokenFromAPI(r,i))?.symbol;return e.isSolanaLike(r)&&a?[a]:a&&!n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r).includes(a)?[a,...n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r)]:n.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(r)},l=(e,t)=>{let r=e*t.variableRate/n.BPS_DENOMINATOR;return t.flatFee+r},u=async(e,t,c,u)=>{let d=await s.getErc20TokenFromAPI(e,u.feeToken),f;if(!d||r.caseInsensitiveEqual(u.feeToken,t.erc20TokenAddress)&&t.chainId===e||u.variableRate===0n)f=l(c,u);else{let r=0n;try{let[a,s]=t.chainId===e?(await o.getTokenPrices(e,[t.erc20TokenAddress,d.erc20TokenAddress])).prices:await Promise.all([(await o.getTokenPrices(t.chainId,[t.erc20TokenAddress])).prices[0],(await o.getTokenPrices(e,[d.erc20TokenAddress])).prices[0]]);if(!a||!s)throw Error(`failed to get token prices`);r=i.getAmountInWei(d,(Number(i.getAmountInToken(t,c))*a*Number(u.variableRate)/Number(n.BPS_DENOMINATOR)/s).toFixed(d.decimals))}catch(e){a.Logger.error(`error calculating modified fee structure`,e)}f=u.flatFee+r}return{feeToken:u.feeToken,flatFee:f,variableRate:0n}},d=async(e,t,n,r)=>{let i={...r,flatFee:0n},a=await Promise.all(t.map((t,r)=>u(e,t,n[r]??0n,i)));return{feeToken:r.feeToken,flatFee:a.reduce((e,{flatFee:t})=>e+t,r.flatFee),variableRate:0n}},f=(e,t)=>{let n=e/t;return e%t===0n?n:n+1n},p=(e,t)=>e<=0n||t<=0n?0n:f(e*t,n.BPS_DENOMINATOR);exports.calculateModifiedFeeStructure=u,exports.calculateModifiedFeeStructureForTokens=d,exports.calculateTotalFee=l,exports.calculateVariableFee=p,exports.getGasTokenSymbols=c;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/fees.constants.cjs`),n=require(`./caseInsensitive.utils.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../../API/getTokenPrice.cjs`),o=require(`./erc20tokenFunctions.cjs`),s=require(`./gas-token.utils.cjs`);var c=async n=>{if(!n)return t.EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS;let r=(await o.getErc20TokenFromAPI(n,s.getGasTokenAddress(n)))?.symbol;return e.isSolanaLike(n)&&r?[r]:r&&!t.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(n).includes(r)?[r,...t.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(n)]:t.NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS(n)},l=(e,n)=>{let r=e*n.variableRate/t.BPS_DENOMINATOR;return n.flatFee+r},u=async(e,s,c,u)=>{let d=await o.getErc20TokenFromAPI(e,u.feeToken),f;if(!d||n.caseInsensitiveEqual(u.feeToken,s.erc20TokenAddress)&&s.chainId===e||u.variableRate===0n)f=l(c,u);else{let n=0n;try{let[i,o]=s.chainId===e?(await a.getTokenPrices(e,[s.erc20TokenAddress,d.erc20TokenAddress])).prices:await Promise.all([(await a.getTokenPrices(s.chainId,[s.erc20TokenAddress])).prices[0],(await a.getTokenPrices(e,[d.erc20TokenAddress])).prices[0]]);if(!i||!o)throw Error(`failed to get token prices`);n=r.getAmountInWei(d,(Number(r.getAmountInToken(s,c))*i*Number(u.variableRate)/Number(t.BPS_DENOMINATOR)/o).toFixed(d.decimals))}catch(e){i.Logger.error(`error calculating modified fee structure`,e)}f=u.flatFee+n}return{feeToken:u.feeToken,flatFee:f,variableRate:0n}},d=async(e,t,n,r)=>{let i={...r,flatFee:0n},a=await Promise.all(t.map((t,r)=>u(e,t,n[r]??0n,i)));return{feeToken:r.feeToken,flatFee:a.reduce((e,{flatFee:t})=>e+t,r.flatFee),variableRate:0n}},f=(e,t)=>{let n=e/t;return e%t===0n?n:n+1n},p=(e,n)=>e<=0n||n<=0n?0n:f(e*n,t.BPS_DENOMINATOR),m=(e,n)=>e<=0n||n<=0n?0n:f(e*n,t.BPS_DENOMINATOR-n),h=(e,t)=>e.map(e=>e+m(e,t.variableRate)+t.flatFee);exports.calculateGrossUtxoAmounts=h,exports.calculateModifiedFeeStructure=u,exports.calculateModifiedFeeStructureForTokens=d,exports.calculateTotalFee=l,exports.calculateVariableFee=p,exports.calculateVariableFeeGrossUp=m,exports.getGasTokenSymbols=c;
@@ -7,3 +7,5 @@ export declare const calculateModifiedFeeStructureForTokens: (chainId: number, a
7
7
  export declare const calculateVariableFee: (amount: bigint, variableRate: bigint) => bigint;
8
8
  export declare const calculateWithdrawalAmount: (amountWithFee: bigint, feeStructure: FeeStructure) => bigint;
9
9
  export declare const calculateGrossAmountWithFee: (netAmount: bigint, feeStructure: FeeStructure) => bigint;
10
+ export declare const calculateVariableFeeGrossUp: (netAmount: bigint, variableRate: bigint) => bigint;
11
+ export declare const calculateGrossUtxoAmounts: (recipientAmounts: bigint[], feeStructure: FeeStructure) => bigint[];
@@ -1,53 +1,51 @@
1
- import { isSolanaLike as e, isTempo as t } from "../../constants/chains.constants.mjs";
2
- import { solanaNativeAddress as n, zeroAddress as r } from "../../constants/protocol.constants.mjs";
3
- import { BPS_DENOMINATOR as i, EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS as a, NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS as o, TEMPO_DEFAULT_GAS_TOKEN_ADDRESS as s } from "../../constants/fees.constants.mjs";
4
- import { caseInsensitiveEqual as c } from "./caseInsensitive.utils.mjs";
5
- import { getAmountInToken as l, getAmountInWei as u } from "../web3/etherFunctions.mjs";
6
- import { Logger as d } from "../../error-handling/logger.mjs";
7
- import { getTokenPrices as f } from "../../API/getTokenPrice.mjs";
8
- import { getErc20TokenFromAPI as p } from "./erc20tokenFunctions.mjs";
1
+ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
2
+ import { BPS_DENOMINATOR as t, EXTENDED_NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS as n, NON_NATIVE_GAS_COST_TOKEN_SYMBOL_OPTIONS as r } from "../../constants/fees.constants.mjs";
3
+ import { caseInsensitiveEqual as i } from "./caseInsensitive.utils.mjs";
4
+ import { getAmountInToken as a, getAmountInWei as o } from "../web3/etherFunctions.mjs";
5
+ import { Logger as s } from "../../error-handling/logger.mjs";
6
+ import { getTokenPrices as c } from "../../API/getTokenPrice.mjs";
7
+ import { getErc20TokenFromAPI as l } from "./erc20tokenFunctions.mjs";
8
+ import { getGasTokenAddress as u } from "./gas-token.utils.mjs";
9
9
  //#region libs/shared/common/src/functions/utils/fees.utils.ts
10
- var m = async (i) => {
11
- if (!i) return a;
12
- let c = r;
13
- e(i) && (c = n), t(i) && (c = s);
14
- let l = (await p(i, c))?.symbol;
15
- return e(i) && l ? [l] : l && !o(i).includes(l) ? [l, ...o(i)] : o(i);
16
- }, h = (e, t) => {
17
- let n = e * t.variableRate / i;
18
- return t.flatFee + n;
19
- }, g = async (e, t, n, r) => {
20
- let a = await p(e, r.feeToken), o;
21
- if (!a || c(r.feeToken, t.erc20TokenAddress) && t.chainId === e || r.variableRate === 0n) o = h(n, r);
10
+ var d = async (t) => {
11
+ if (!t) return n;
12
+ let i = (await l(t, u(t)))?.symbol;
13
+ return e(t) && i ? [i] : i && !r(t).includes(i) ? [i, ...r(t)] : r(t);
14
+ }, f = (e, n) => {
15
+ let r = e * n.variableRate / t;
16
+ return n.flatFee + r;
17
+ }, p = async (e, n, r, u) => {
18
+ let d = await l(e, u.feeToken), p;
19
+ if (!d || i(u.feeToken, n.erc20TokenAddress) && n.chainId === e || u.variableRate === 0n) p = f(r, u);
22
20
  else {
23
- let s = 0n;
21
+ let i = 0n;
24
22
  try {
25
- let [o, c] = t.chainId === e ? (await f(e, [t.erc20TokenAddress, a.erc20TokenAddress])).prices : await Promise.all([(await f(t.chainId, [t.erc20TokenAddress])).prices[0], (await f(e, [a.erc20TokenAddress])).prices[0]]);
26
- if (!o || !c) throw Error("failed to get token prices");
27
- s = u(a, (Number(l(t, n)) * o * Number(r.variableRate) / Number(i) / c).toFixed(a.decimals));
23
+ let [s, l] = n.chainId === e ? (await c(e, [n.erc20TokenAddress, d.erc20TokenAddress])).prices : await Promise.all([(await c(n.chainId, [n.erc20TokenAddress])).prices[0], (await c(e, [d.erc20TokenAddress])).prices[0]]);
24
+ if (!s || !l) throw Error("failed to get token prices");
25
+ i = o(d, (Number(a(n, r)) * s * Number(u.variableRate) / Number(t) / l).toFixed(d.decimals));
28
26
  } catch (e) {
29
- d.error("error calculating modified fee structure", e);
27
+ s.error("error calculating modified fee structure", e);
30
28
  }
31
- o = r.flatFee + s;
29
+ p = u.flatFee + i;
32
30
  }
33
31
  return {
34
- feeToken: r.feeToken,
35
- flatFee: o,
32
+ feeToken: u.feeToken,
33
+ flatFee: p,
36
34
  variableRate: 0n
37
35
  };
38
- }, _ = async (e, t, n, r) => {
36
+ }, m = async (e, t, n, r) => {
39
37
  let i = {
40
38
  ...r,
41
39
  flatFee: 0n
42
- }, a = await Promise.all(t.map((t, r) => g(e, t, n[r] ?? 0n, i)));
40
+ }, a = await Promise.all(t.map((t, r) => p(e, t, n[r] ?? 0n, i)));
43
41
  return {
44
42
  feeToken: r.feeToken,
45
43
  flatFee: a.reduce((e, { flatFee: t }) => e + t, r.flatFee),
46
44
  variableRate: 0n
47
45
  };
48
- }, v = (e, t) => {
46
+ }, h = (e, t) => {
49
47
  let n = e / t;
50
48
  return e % t === 0n ? n : n + 1n;
51
- }, y = (e, t) => e <= 0n || t <= 0n ? 0n : v(e * t, i);
49
+ }, g = (e, n) => e <= 0n || n <= 0n ? 0n : h(e * n, t), _ = (e, n) => e <= 0n || n <= 0n ? 0n : h(e * n, t - n), v = (e, t) => e.map((e) => e + _(e, t.variableRate) + t.flatFee);
52
50
  //#endregion
53
- export { g as calculateModifiedFeeStructure, _ as calculateModifiedFeeStructureForTokens, h as calculateTotalFee, y as calculateVariableFee, m as getGasTokenSymbols };
51
+ export { v as calculateGrossUtxoAmounts, p as calculateModifiedFeeStructure, m as calculateModifiedFeeStructureForTokens, f as calculateTotalFee, g as calculateVariableFee, _ as calculateVariableFeeGrossUp, d as getGasTokenSymbols };
@@ -0,0 +1 @@
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../constants/fees.constants.cjs`);var r=r=>e.isSolanaLike(r)?t.solanaNativeAddress:e.isTempo(r)?n.TEMPO_DEFAULT_GAS_TOKEN_ADDRESS:e.isArcTestnet(r)?t.ARC_TESTNET_USDC_ADDRESS:t.zeroAddress;exports.getGasTokenAddress=r;
@@ -0,0 +1,3 @@
1
+ import { ERC20Token } from '../../types/token.types';
2
+ export declare const getGasTokenAddress: (chainId: number) => string;
3
+ export declare const isGasToken: (token: ERC20Token | undefined) => boolean;
@@ -0,0 +1,7 @@
1
+ import { isArcTestnet as e, isSolanaLike as t, isTempo as n } from "../../constants/chains.constants.mjs";
2
+ import { ARC_TESTNET_USDC_ADDRESS as r, solanaNativeAddress as i, zeroAddress as a } from "../../constants/protocol.constants.mjs";
3
+ import { TEMPO_DEFAULT_GAS_TOKEN_ADDRESS as o } from "../../constants/fees.constants.mjs";
4
+ //#region libs/shared/common/src/functions/utils/gas-token.utils.ts
5
+ var s = (s) => t(s) ? i : n(s) ? o : e(s) ? r : a;
6
+ //#endregion
7
+ export { s as getGasTokenAddress };
@@ -1,7 +1,12 @@
1
- import { TransactionResponse, VersionedTransactionResponse } from '@solana/web3.js';
1
+ import { PublicKey, TransactionResponse, VersionedTransactionResponse } from '@solana/web3.js';
2
2
  import { Utxo } from '../../data-structures/utxo/Utxo';
3
- import { Program } from '@coral-xyz/anchor';
3
+ import { Idl } from '@coral-xyz/anchor';
4
4
  import { UserKeys } from '../../data-structures/crypto-keys/keys';
5
- export declare const getOnChainUtxosFromReceiptSolana: (tx: VersionedTransactionResponse | TransactionResponse, hinkalProgram: Program, userKeys: UserKeys, tokenAddress: string) => Utxo[];
6
- export declare const getUtxosFromReceiptSolana: (tx: VersionedTransactionResponse | TransactionResponse, hinkalProgram: Program, userKeys: UserKeys, tokenAddress: string) => Utxo[];
5
+ type SolanaProgramMetadata = {
6
+ programId: PublicKey;
7
+ idl: Idl;
8
+ };
9
+ export declare const getOnChainUtxosFromReceiptSolana: (tx: VersionedTransactionResponse | TransactionResponse, hinkalProgram: SolanaProgramMetadata, userKeys: UserKeys, tokenAddress: string) => Utxo[];
10
+ export declare const getUtxosFromReceiptSolana: (tx: VersionedTransactionResponse | TransactionResponse, hinkalProgram: SolanaProgramMetadata, userKeys: UserKeys, tokenAddress: string) => Utxo[];
7
11
  export declare const getOutputCommitmentsFromSolanaReceipt: (chainId: number, tx: VersionedTransactionResponse | TransactionResponse) => string[];
12
+ export {};
@@ -1 +1 @@
1
- require(`./abi.utils.cjs`),require(`./serialize.utils.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./amounts.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./cacheFunctions.cjs`),require(`./encodeTokenWithId.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./addresses.cjs`),require(`./legacyKeys.cjs`),require(`./auth.utils.cjs`),require(`./receive-vault.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./map.utils.cjs`),require(`./mutexes.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`./bytes32.utils.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`./fees.utils.cjs`),require(`../pre-transaction/getExternalSwapAddress.cjs`),require(`../pre-transaction/speculativeUtxo.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./solana-program.utils.cjs`),require(`./getContractAddress.cjs`),require(`./getSignerFromContract.cjs`),require(`./tronSimulation.utils.cjs`),require(`./resolve-domain-address.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./voidWallets.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./recovery-balance.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./formatter.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./bridge-arrival.utils.cjs`),require(`./bridge-flow.utils.cjs`),require(`./bridge-claimable.utils.cjs`),require(`./solana-sponsored.utils.cjs`),require(`./temp-wallet.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./temporary-wallet-recovery.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`),require(`./enclaveSessionSigning.cjs`),require(`./validateWalletAddress.cjs`),require(`./waasStamp.cjs`),require(`./sponsored-shield.utils.cjs`);
1
+ require(`./abi.utils.cjs`),require(`./serialize.utils.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./amounts.utils.cjs`),require(`./time.utils.cjs`),require(`./upToDateState.cjs`),require(`./cacheFunctions.cjs`),require(`./encodeTokenWithId.cjs`),require(`./enclaveHandshakeService.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./addresses.cjs`),require(`./legacyKeys.cjs`),require(`./auth.utils.cjs`),require(`./create-provider.cjs`),require(`./receive-vault-solana.utils.cjs`),require(`./receive-vault.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./map.utils.cjs`),require(`./mutexes.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`./bytes32.utils.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`./gas-token.utils.cjs`),require(`./fees.utils.cjs`),require(`../pre-transaction/getExternalSwapAddress.cjs`),require(`../pre-transaction/speculativeUtxo.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./solana-program.utils.cjs`),require(`./getContractAddress.cjs`),require(`./getSignerFromContract.cjs`),require(`./tronSimulation.utils.cjs`),require(`./resolve-domain-address.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./admin-dimensions.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./walletBalances.utils.cjs`),require(`./wallet-token-discovery.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./voidWallets.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./recovery-balance.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./formatter.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./bridge-arrival.utils.cjs`),require(`./bridge-flow.utils.cjs`),require(`./bridge-claimable.utils.cjs`),require(`./solana-sponsored.utils.cjs`),require(`./temp-wallet.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./temporary-wallet-recovery.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`),require(`./enclaveSessionSigning.cjs`),require(`./validateWalletAddress.cjs`),require(`./waasStamp.cjs`),require(`./sponsored-shield.utils.cjs`);
@@ -16,6 +16,7 @@ export * from './reloadPage';
16
16
  export * from './string.utils';
17
17
  export * from './nickname.utils';
18
18
  export * from './caseInsensitive.utils';
19
+ export * from './admin-dimensions';
19
20
  export * from './encodeTokenWithId';
20
21
  export * from './time.utils';
21
22
  export * from './cacheDevice.utils';
@@ -26,6 +27,7 @@ export * from './upToDateState';
26
27
  export * from './serialize.utils';
27
28
  export * from './convertEmporiumOpToCallInfo';
28
29
  export * from './getRecipientInfoFromUserKeys';
30
+ export * from './receive-vault-solana.utils';
29
31
  export * from './receive-vault.utils';
30
32
  export * from './publicBalance.utils';
31
33
  export * from './rpc-int-encode';
@@ -34,6 +36,7 @@ export * from './arraysMatch';
34
36
  export * from './addresses';
35
37
  export * from './trimFieldValues';
36
38
  export * from './walletBalances.utils';
39
+ export * from './wallet-token-discovery.utils';
37
40
  export * from './mutexes.utils';
38
41
  export * from './map.utils';
39
42
  export * from './nftTokenFunctions';
@@ -49,6 +52,7 @@ export * from './bytes32.utils';
49
52
  export * from './getUtxosFromReceipt.utils';
50
53
  export * from './getUtxosFromReceiptSolana';
51
54
  export * from './fees.utils';
55
+ export * from './gas-token.utils';
52
56
  export * from './recovery-balance.utils';
53
57
  export * from './proxyAvatar.utils';
54
58
  export * from './validateUsername';
@@ -15,6 +15,8 @@ import "./tron.utils.mjs";
15
15
  import "./addresses.mjs";
16
16
  import "./legacyKeys.mjs";
17
17
  import "./auth.utils.mjs";
18
+ import "./create-provider.mjs";
19
+ import "./receive-vault-solana.utils.mjs";
18
20
  import "./receive-vault.utils.mjs";
19
21
  import "./string.utils.mjs";
20
22
  import "./token-check.utils.mjs";
@@ -27,13 +29,13 @@ import "../pre-transaction/solana.mjs";
27
29
  import "../pre-transaction/process-gas-estimates.mjs";
28
30
  import "../pre-transaction/getVolatileTransferAmount.mjs";
29
31
  import "../pre-transaction/constructAdminData.mjs";
30
- import "./create-provider.mjs";
31
32
  import "../pre-transaction/calculateSolanaNullifierCount.mjs";
32
33
  import "../pre-transaction/convert-okx-instructions.mjs";
33
34
  import "./process.utils.mjs";
34
35
  import "../pre-transaction/sendV0Transaction.mjs";
35
36
  import "./bytes32.utils.mjs";
36
37
  import "../pre-transaction/getFeeStructure.mjs";
38
+ import "./gas-token.utils.mjs";
37
39
  import "./fees.utils.mjs";
38
40
  import "../pre-transaction/getExternalSwapAddress.mjs";
39
41
  import "../pre-transaction/speculativeUtxo.mjs";
@@ -48,6 +50,7 @@ import "./resolve-sync.utils.mjs";
48
50
  import "./convertIntegrationProviderToExternalActionId.mjs";
49
51
  import "./evmNetworkFunctions.mjs";
50
52
  import "./userAgent.mjs";
53
+ import "./admin-dimensions.mjs";
51
54
  import "./cacheDevice.utils.mjs";
52
55
  import "./getBlockExplorerUrl.mjs";
53
56
  import "./involves-permit2-op.mjs";
@@ -56,6 +59,7 @@ import "./getRecipientInfoFromUserKeys.mjs";
56
59
  import "./publicBalance.utils.mjs";
57
60
  import "./rpc-int-encode.mjs";
58
61
  import "./walletBalances.utils.mjs";
62
+ import "./wallet-token-discovery.utils.mjs";
59
63
  import "./nftTokenFunctions.mjs";
60
64
  import "./inLogicMetadata.mjs";
61
65
  import "./networks.utils.mjs";
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`./solanaMint.utils.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`./addresses.cjs`),a=require(`./erc20tokenFunctions.cjs`);require(`../../data-structures/token-price-fetcher/TokenChecker.cjs`);const o=require(`./create-provider.cjs`);require(`../../externalABIs/index.cjs`);const s=require(`../../externalABIs/swapAbi.cjs`);require(`../../data-structures/IndexedDB/key-val-store.cjs`);let c=require(`ethers`),l=require(`@solana/web3.js`);var u=async(e,n,r)=>{try{let i=r.erc20TokenAddress,a,o=new c.ethers.Contract(r.erc20TokenAddress,s.ERC20ABI,e);a=i===t.zeroAddress?await e.getBalance(n):await o?.balanceOf(n);let l=a;return l<=0n?null:{token:r,balance:l}}catch{return null}},d=async(e,t,r)=>{if(r.erc20TokenAddress===`11111111111111111111111111111111`)return BigInt(await e.getBalance(t));let i=await n.getSolanaAtaAddress(r,t);if(!await e.getAccountInfo(i))return 0n;let a=await e.getTokenAccountBalance(i);return BigInt(a.value.amount)},f=async(n,u,f)=>{try{if(e.isSolanaLike(n)){if(!i.isValidSolanaPublicKey(u))return null;let{rpcUrl:t}=e.networkRegistry[n],r=o.createCustomSolanaConnection(t),s=new l.PublicKey(u);if(f===`11111111111111111111111111111111`)return BigInt(await r.getBalance(s));let c=await a.getErc20TokenFromAPI(n,f);return c?d(r,s,c):null}let r=o.createJsonRpcProvider(n),p=new c.ethers.Contract(f,s.ERC20ABI,r),m;return m=f===t.zeroAddress?await r.getBalance(u):await p?.balanceOf(u),m}catch{return r.Logger.error(`Failed to fetch public balance for address ${u}`),null}};exports.getPublicBalance=u,exports.getPublicBalanceByTokenAddress=f;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`./solanaMint.utils.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`./addresses.cjs`);require(`../../externalABIs/index.cjs`);const a=require(`./create-provider.cjs`),o=require(`./erc20tokenFunctions.cjs`);require(`../../data-structures/token-price-fetcher/TokenChecker.cjs`);const s=require(`../../externalABIs/swapAbi.cjs`);require(`../../data-structures/IndexedDB/key-val-store.cjs`);let c=require(`ethers`),l=require(`@solana/web3.js`);var u=async(e,n,r)=>{try{let i=r.erc20TokenAddress,a,o=new c.ethers.Contract(r.erc20TokenAddress,s.ERC20ABI,e);a=i===t.zeroAddress?await e.getBalance(n):await o?.balanceOf(n);let l=a;return l<=0n?null:{token:r,balance:l}}catch{return null}},d=async(e,t,r)=>{if(r.erc20TokenAddress===`11111111111111111111111111111111`)return BigInt(await e.getBalance(t));let i=await n.getSolanaAtaAddress(r,t);if(!await e.getAccountInfo(i))return 0n;let a=await e.getTokenAccountBalance(i);return BigInt(a.value.amount)},f=async(n,u,f)=>{try{if(e.isSolanaLike(n)){if(!i.isValidSolanaPublicKey(u))return null;let{rpcUrl:t}=e.networkRegistry[n],r=a.createCustomSolanaConnection(t),s=new l.PublicKey(u);if(f===`11111111111111111111111111111111`)return BigInt(await r.getBalance(s));let c=await o.getErc20TokenFromAPI(n,f);return c?d(r,s,c):null}let r=a.createJsonRpcProvider(n),p=new c.ethers.Contract(f,s.ERC20ABI,r),m;return m=f===t.zeroAddress?await r.getBalance(u):await p?.balanceOf(u),m}catch{return r.Logger.error(`Failed to fetch public balance for address ${u}`),null}};exports.getPublicBalance=u,exports.getPublicBalanceByTokenAddress=f;
@@ -4,10 +4,10 @@ import "../../data-structures/http/index.mjs";
4
4
  import { getSolanaAtaAddress as r } from "./solanaMint.utils.mjs";
5
5
  import { Logger as i } from "../../error-handling/logger.mjs";
6
6
  import { isValidSolanaPublicKey as a } from "./addresses.mjs";
7
- import { getErc20TokenFromAPI as o } from "./erc20tokenFunctions.mjs";
8
- import "../../data-structures/token-price-fetcher/TokenChecker.mjs";
9
- import { createCustomSolanaConnection as s, createJsonRpcProvider as c } from "./create-provider.mjs";
10
7
  import "../../externalABIs/index.mjs";
8
+ import { createCustomSolanaConnection as o, createJsonRpcProvider as s } from "./create-provider.mjs";
9
+ import { getErc20TokenFromAPI as c } from "./erc20tokenFunctions.mjs";
10
+ import "../../data-structures/token-price-fetcher/TokenChecker.mjs";
11
11
  import { ERC20ABI as l } from "../../externalABIs/swapAbi.mjs";
12
12
  import "../../data-structures/IndexedDB/key-val-store.mjs";
13
13
  import { ethers as u } from "ethers";
@@ -35,12 +35,12 @@ var f = async (e, t, r) => {
35
35
  try {
36
36
  if (e(r)) {
37
37
  if (!a(f)) return null;
38
- let { rpcUrl: e } = t[r], n = s(e), i = new d(f);
38
+ let { rpcUrl: e } = t[r], n = o(e), i = new d(f);
39
39
  if (m === "11111111111111111111111111111111") return BigInt(await n.getBalance(i));
40
- let c = await o(r, m);
41
- return c ? p(n, i, c) : null;
40
+ let s = await c(r, m);
41
+ return s ? p(n, i, s) : null;
42
42
  }
43
- let i = c(r), h = new u.Contract(m, l, i), g;
43
+ let i = s(r), h = new u.Contract(m, l, i), g;
44
44
  return g = m === n ? await i.getBalance(f) : await h?.balanceOf(f), g;
45
45
  } catch {
46
46
  return i.error(`Failed to fetch public balance for address ${f}`), null;
@@ -1 +1 @@
1
- require(`../../constants/protocol.constants.cjs`);const e=require(`./caseInsensitive.utils.cjs`),t=require(`./receive-vault.utils.cjs`),n=require(`../../API/receiveVaultCalls.cjs`);var r=new Map,i=async r=>{let{records:i,blocks:a}=await n.fetchReceiveVaultAccount(await t.signReceiveVaultAccount(r,BigInt(Math.floor(Date.now()/1e3)+300)));return{records:i.filter(n=>{try{return e.caseInsensitiveEqual(t.buildReceiveVaultRecord(r,n).vaultAddress,n.vaultAddress)}catch{return!1}}),blocks:a}},a=e=>{let n=t.getReceiveVaultAccountKey(e),a=i(e).finally(()=>r.delete(n));return r.set(n,a),a},o=e=>r.get(t.getReceiveVaultAccountKey(e))??a(e);exports.getReceiveVaultAccountSnapshot=o;
1
+ require(`../../constants/protocol.constants.cjs`);const e=require(`./addresses.cjs`),t=require(`./receive-vault.utils.cjs`),n=require(`../../API/receiveVaultCalls.cjs`);var r=new Map,i=async r=>{let{records:i,blocks:a}=await n.fetchReceiveVaultAccount(await t.signReceiveVaultAccount(r,BigInt(Math.floor(Date.now()/1e3)+300)));return{records:(await Promise.all(i.map(async n=>{try{let i=await t.buildReceiveVaultRecord(r,n);return e.addressEqual(t.getReceiveVaultCanonicalChainId(n.network),i.vaultAddress,n.vaultAddress)?n:null}catch{return null}}))).filter(e=>e!==null),blocks:a}},a=e=>{let n=t.getReceiveVaultAccountKey(e),a=i(e).finally(()=>r.delete(n));return r.set(n,a),a},o=e=>r.get(t.getReceiveVaultAccountKey(e))??a(e),s=async(e,r)=>n.fetchReceiveVaultNextIndex(await t.signReceiveVaultAccount(e,BigInt(Math.floor(Date.now()/1e3)+300)),r);exports.getReceiveVaultAccountSnapshot=o,exports.getReceiveVaultNextIndex=s;
@@ -1,8 +1,9 @@
1
1
  import { UserKeys } from '../../data-structures/crypto-keys';
2
- import { ReceiveVaultBlock, ReceiveVaultRecord } from '../../types/receive-vault.types';
2
+ import { ReceiveVaultBlock, ReceiveVaultNetwork, ReceiveVaultRecord } from '../../types/receive-vault.types';
3
3
  type ReceiveVaultAccountSnapshot = {
4
4
  records: ReceiveVaultRecord[];
5
5
  blocks: ReceiveVaultBlock[];
6
6
  };
7
7
  export declare const getReceiveVaultAccountSnapshot: (userKeys: UserKeys) => Promise<ReceiveVaultAccountSnapshot>;
8
+ export declare const getReceiveVaultNextIndex: (userKeys: UserKeys, network: ReceiveVaultNetwork) => Promise<number>;
8
9
  export {};
@@ -1,23 +1,24 @@
1
1
  import "../../constants/protocol.constants.mjs";
2
- import { caseInsensitiveEqual as e } from "./caseInsensitive.utils.mjs";
3
- import { buildReceiveVaultRecord as t, getReceiveVaultAccountKey as n, signReceiveVaultAccount as r } from "./receive-vault.utils.mjs";
4
- import { fetchReceiveVaultAccount as i } from "../../API/receiveVaultCalls.mjs";
2
+ import { addressEqual as e } from "./addresses.mjs";
3
+ import { buildReceiveVaultRecord as t, getReceiveVaultAccountKey as n, getReceiveVaultCanonicalChainId as r, signReceiveVaultAccount as i } from "./receive-vault.utils.mjs";
4
+ import { fetchReceiveVaultAccount as a, fetchReceiveVaultNextIndex as o } from "../../API/receiveVaultCalls.mjs";
5
5
  //#region libs/shared/common/src/functions/utils/receive-vault-account.utils.ts
6
- var a = /* @__PURE__ */ new Map(), o = async (n) => {
7
- let { records: a, blocks: o } = await i(await r(n, BigInt(Math.floor(Date.now() / 1e3) + 300)));
6
+ var s = /* @__PURE__ */ new Map(), c = async (n) => {
7
+ let { records: o, blocks: s } = await a(await i(n, BigInt(Math.floor(Date.now() / 1e3) + 300)));
8
8
  return {
9
- records: a.filter((r) => {
9
+ records: (await Promise.all(o.map(async (i) => {
10
10
  try {
11
- return e(t(n, r).vaultAddress, r.vaultAddress);
11
+ let a = await t(n, i);
12
+ return e(r(i.network), a.vaultAddress, i.vaultAddress) ? i : null;
12
13
  } catch {
13
- return !1;
14
+ return null;
14
15
  }
15
- }),
16
- blocks: o
16
+ }))).filter((e) => e !== null),
17
+ blocks: s
17
18
  };
18
- }, s = (e) => {
19
- let t = n(e), r = o(e).finally(() => a.delete(t));
20
- return a.set(t, r), r;
21
- }, c = (e) => a.get(n(e)) ?? s(e);
19
+ }, l = (e) => {
20
+ let t = n(e), r = c(e).finally(() => s.delete(t));
21
+ return s.set(t, r), r;
22
+ }, u = (e) => s.get(n(e)) ?? l(e), d = async (e, t) => o(await i(e, BigInt(Math.floor(Date.now() / 1e3) + 300)), t);
22
23
  //#endregion
23
- export { c as getReceiveVaultAccountSnapshot };
24
+ export { u as getReceiveVaultAccountSnapshot, d as getReceiveVaultNextIndex };
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`./caseInsensitive.utils.cjs`),n=require(`../../error-handling/logger.cjs`),r=require(`./tron.utils.cjs`),i=require(`../../types/receive-vault.types.cjs`),a=require(`./receive-vault.utils.cjs`),o=require(`./erc20tokenFunctions.cjs`),s=require(`./publicBalance.utils.cjs`),c=require(`./wallet-token-discovery.utils.cjs`);var l=async(e,t,n)=>await s.getPublicBalanceByTokenAddress(t,r.addressToHexFormat(e),r.addressToHexFormat(n))??0n,u=t=>e.FRONT_END_SUPPORTED_CHAINS.filter(n=>a.isReceiveVaultSupported(n)&&e.isTronLike(n)===e.isTronLike(t.chainId)),d=async(t,r)=>{try{return await(e.isTronLike(t)?c.getTronWalletTokenAddresses(r,t):c.getEvmWalletTokenAddresses(t,r))}catch(e){return n.Logger.error(`receive-vault scan: token discovery failed for chain ${t}`,e),[]}},f=async(e,n)=>{let r=new Map,o=(e,t,n,i)=>r.set(`${t}:${e.vaultAddress}:${n}`.toLowerCase(),{record:e,chainId:t,token:n,reason:i});return await Promise.all(e.map(async e=>{let n=a.isReceiveVaultExpired(e),r=n?i.ReceiveVaultBlockReason.Expired:i.ReceiveVaultBlockReason.NotShieldable;await Promise.all(u(e).map(async a=>{(await d(a,e.vaultAddress)).forEach(s=>{if(a===e.chainId&&t.caseInsensitiveEqual(s,e.token)){n&&o(e,a,s,i.ReceiveVaultBlockReason.Expired);return}o(e,a,s,r)})}))})),n.forEach(n=>{let r=e.find(e=>t.caseInsensitiveEqual(e.vaultAddress,n.vaultAddress));r&&o(r,n.chainId,n.token,i.ReceiveVaultBlockReason.RiskySender)}),[...r.values()]},p=async(e,t)=>{try{return(await Promise.all((await f(e,t)).map(async e=>{try{let[t,n]=await Promise.all([o.getErc20TokenFromAPI(e.chainId,e.token),l(e.record.vaultAddress,e.chainId,e.token)]);return t&&!o.isArcNativeToken(t)&&n>0n?{record:e.record,token:t,amount:n,reason:e.reason}:void 0}catch(t){n.Logger.error(`receive-vault scan: balance lookup failed for chain ${e.chainId} token ${e.token}`,t);return}}))).filter(e=>!!e)}catch(e){return n.Logger.log(`Error fetching vault's blcoked balances`,e),[]}};exports.getReceiveVaultBlockedFunds=p;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`./addresses.cjs`),r=require(`../../types/receive-vault.types.cjs`),i=require(`./receive-vault.utils.cjs`),a=require(`./erc20tokenFunctions.cjs`),o=require(`./publicBalance.utils.cjs`),s=require(`./wallet-token-discovery.utils.cjs`);var c=async(e,t,r)=>await o.getPublicBalanceByTokenAddress(t,n.normalizeAddress(t,e),n.normalizeAddress(t,r))??0n,l=async(e,n)=>{try{return await s.getSolanaWalletTokenHoldings(e,n)}catch(n){return t.Logger.error(`receive-vault scan: token discovery failed for chain ${e}`,n),[]}},u=async(t,a)=>{let o=new Map,s=(e,t,r,i)=>{let a=`${t}:${n.normalizeAddress(t,e.vaultAddress)}:${n.normalizeAddress(t,r)}`;o.set(a,{record:e,chainId:t,token:r,reason:i})};return await Promise.all(t.map(async t=>{await Promise.all(i.receiveVaultChainsForNetwork(t.network).filter(e.isSolanaLike).map(async e=>{(await l(e,t.vaultAddress)).filter(({is2022Program:e})=>e).forEach(({token:n})=>s(t,e,n,r.ReceiveVaultBlockReason.NotShieldable))}))})),a.forEach(e=>{let i=t.find(t=>n.addressEqual(e.chainId,t.vaultAddress,e.vaultAddress));i&&s(i,e.chainId,e.token,r.ReceiveVaultBlockReason.RiskySender)}),[...o.values()]},d=async(e,n)=>{try{return(await Promise.all((await u(e,n)).map(async e=>{try{let[t,n]=await Promise.all([a.getErc20TokenFromAPI(e.chainId,e.token),c(e.record.vaultAddress,e.chainId,e.token)]);return t&&!a.isArcNativeToken(t)&&n>0n?{record:e.record,token:t,amount:n,reason:e.reason}:void 0}catch(n){t.Logger.error(`receive-vault scan: balance lookup failed for chain ${e.chainId} token ${e.token}`,n);return}}))).filter(e=>!!e)}catch(e){return t.Logger.log(`Error fetching vault's blocked balances`,e),[]}};exports.getReceiveVaultBlockedFunds=d;