@hinkal/common 0.3.11 → 0.3.13

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 (200) hide show
  1. package/README.md +13 -13
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +3 -0
  4. package/common/src/API/API.mjs +5 -2
  5. package/common/src/API/evm-token-assets.cjs +1 -0
  6. package/common/src/API/evm-token-assets.mjs +14 -0
  7. package/common/src/API/index.cjs +1 -1
  8. package/common/src/API/index.d.ts +1 -0
  9. package/common/src/API/index.mjs +1 -0
  10. package/common/src/API/receiveVaultCalls.cjs +1 -0
  11. package/common/src/API/receiveVaultCalls.d.ts +10 -0
  12. package/common/src/API/receiveVaultCalls.mjs +32 -0
  13. package/common/src/constants/contracts.constants.cjs +1 -1
  14. package/common/src/constants/contracts.constants.mjs +5 -1
  15. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  16. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
  17. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  18. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +2 -1
  19. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  20. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
  21. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  22. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
  23. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  24. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
  25. package/common/src/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  26. package/common/src/constants/deploy-data/deploy-data-localhost.json.mjs +2 -1
  27. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  28. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
  29. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  30. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +2 -1
  31. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  32. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
  33. package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -1
  34. package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +2 -1
  35. package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
  36. package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +2 -1
  37. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +2 -1
  39. package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  40. package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +2 -1
  41. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  42. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +2 -1
  43. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  44. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +3 -2
  45. package/common/src/constants/events.constants.d.ts +1 -0
  46. package/common/src/constants/protocol.constants.cjs +1 -1
  47. package/common/src/constants/protocol.constants.d.ts +6 -0
  48. package/common/src/constants/protocol.constants.mjs +2 -2
  49. package/common/src/constants/server.constants.cjs +1 -1
  50. package/common/src/constants/server.constants.d.ts +5 -0
  51. package/common/src/constants/server.constants.mjs +5 -0
  52. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  53. package/common/src/data-structures/Hinkal/Hinkal.d.ts +6 -2
  54. package/common/src/data-structures/Hinkal/Hinkal.mjs +62 -50
  55. package/common/src/data-structures/Hinkal/IHinkal.d.ts +6 -2
  56. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  57. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +10 -10
  58. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  59. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +4 -4
  60. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  61. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +24 -24
  62. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  63. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +33 -33
  64. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  65. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +8 -8
  66. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  67. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +1 -1
  68. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +22 -22
  69. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  70. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +8 -8
  71. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  72. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +5 -5
  73. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  74. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
  75. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.cjs +1 -0
  76. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.d.ts +3 -0
  77. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.mjs +20 -0
  78. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.cjs +1 -0
  79. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.d.ts +3 -0
  80. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.mjs +33 -0
  81. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.cjs +1 -0
  82. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.d.ts +5 -0
  83. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.mjs +59 -0
  84. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.cjs +1 -0
  85. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.d.ts +6 -0
  86. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.mjs +8 -0
  87. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +2 -2
  89. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +61 -49
  90. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +7 -7
  92. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +8 -8
  94. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  96. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +55 -40
  97. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  98. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  99. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +1 -1
  101. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +7 -6
  103. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
  105. package/common/src/data-structures/Hinkal/index.d.ts +4 -0
  106. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.d.ts +0 -3
  107. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +0 -1
  108. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +0 -2
  109. package/common/src/data-structures/crypto-keys/index.cjs +1 -1
  110. package/common/src/data-structures/crypto-keys/index.mjs +1 -1
  111. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  112. package/common/src/error-handling/error-codes.constants.d.ts +4 -0
  113. package/common/src/error-handling/error-codes.constants.mjs +5 -2
  114. package/common/src/error-handling/get-error.message.cjs +1 -1
  115. package/common/src/error-handling/get-error.message.mjs +50 -49
  116. package/common/src/functions/index.cjs +1 -1
  117. package/common/src/functions/index.mjs +2 -1
  118. package/common/src/functions/pre-transaction/build-proofless-deposit-fee.cjs +1 -0
  119. package/common/src/functions/pre-transaction/build-proofless-deposit-fee.d.ts +4 -0
  120. package/common/src/functions/pre-transaction/build-proofless-deposit-fee.mjs +3 -0
  121. package/common/src/functions/pre-transaction/index.cjs +1 -1
  122. package/common/src/functions/pre-transaction/index.d.ts +1 -0
  123. package/common/src/functions/pre-transaction/index.mjs +1 -0
  124. package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -1
  125. package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +2 -1
  126. package/common/src/functions/utils/abi.utils.cjs +1 -1
  127. package/common/src/functions/utils/abi.utils.mjs +4 -1
  128. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  129. package/common/src/functions/utils/encryptInputForEnclave.d.ts +2 -1
  130. package/common/src/functions/utils/encryptInputForEnclave.mjs +1 -1
  131. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  132. package/common/src/functions/utils/erc20tokenFunctions.mjs +11 -11
  133. package/common/src/functions/utils/fees.utils.cjs +1 -1
  134. package/common/src/functions/utils/fees.utils.mjs +1 -1
  135. package/common/src/functions/utils/getSignerFromContract.cjs +1 -1
  136. package/common/src/functions/utils/getSignerFromContract.d.ts +1 -1
  137. package/common/src/functions/utils/getSignerFromContract.mjs +2 -2
  138. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  139. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +1 -1
  140. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  141. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +1 -1
  142. package/common/src/functions/utils/index.cjs +1 -1
  143. package/common/src/functions/utils/index.d.ts +1 -0
  144. package/common/src/functions/utils/index.mjs +2 -1
  145. package/common/src/functions/utils/isSigner.cjs +1 -0
  146. package/common/src/functions/utils/isSigner.d.ts +2 -0
  147. package/common/src/functions/utils/isSigner.mjs +7 -0
  148. package/common/src/functions/utils/receive-vault-account.utils.cjs +1 -0
  149. package/common/src/functions/utils/receive-vault-account.utils.d.ts +8 -0
  150. package/common/src/functions/utils/receive-vault-account.utils.mjs +23 -0
  151. package/common/src/functions/utils/receive-vault-scan.utils.cjs +1 -0
  152. package/common/src/functions/utils/receive-vault-scan.utils.d.ts +2 -0
  153. package/common/src/functions/utils/receive-vault-scan.utils.mjs +60 -0
  154. package/common/src/functions/utils/receive-vault.utils.cjs +2 -0
  155. package/common/src/functions/utils/receive-vault.utils.d.ts +29 -0
  156. package/common/src/functions/utils/receive-vault.utils.mjs +151 -0
  157. package/common/src/functions/utils/string.utils.cjs +1 -1
  158. package/common/src/functions/utils/string.utils.mjs +12 -4
  159. package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -1
  160. package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +1 -1
  161. package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
  162. package/common/src/functions/utils/transfer-claimable.utils.mjs +1 -1
  163. package/common/src/functions/utils/wallet-token-discovery.utils.cjs +1 -0
  164. package/common/src/functions/utils/wallet-token-discovery.utils.d.ts +4 -0
  165. package/common/src/functions/utils/wallet-token-discovery.utils.mjs +36 -0
  166. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  167. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +11 -11
  168. package/common/src/types/ethereum-network.types.cjs +1 -1
  169. package/common/src/types/ethereum-network.types.d.ts +4 -1
  170. package/common/src/types/ethereum-network.types.mjs +1 -1
  171. package/common/src/types/external-action.types.cjs +1 -1
  172. package/common/src/types/external-action.types.d.ts +2 -1
  173. package/common/src/types/external-action.types.mjs +1 -1
  174. package/common/src/types/index.cjs +1 -1
  175. package/common/src/types/index.d.ts +1 -0
  176. package/common/src/types/index.mjs +1 -0
  177. package/common/src/types/receive-vault.types.cjs +1 -0
  178. package/common/src/types/receive-vault.types.d.ts +68 -0
  179. package/common/src/types/receive-vault.types.mjs +6 -0
  180. package/common/src/types/remote-tx-build.types.d.ts +5 -0
  181. package/common/src/webworker/{logError-cvFNxc-0.js → logError-BeXPKuv9.js} +1 -1
  182. package/common/src/webworker/package.json +10 -1
  183. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  184. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  185. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  186. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  187. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  188. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  189. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  190. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  191. package/common/src/webworker/workerProxy-DF35H7vU.js +1 -0
  192. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  193. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  194. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  195. package/package.json +10 -1
  196. package/services/Hinkal.cjs +1 -1
  197. package/services/Hinkal.d.ts +1 -1
  198. package/services/Hinkal.mjs +2 -2
  199. package/types/IHinkal.d.ts +1 -1
  200. package/common/src/webworker/workerProxy-BHzCZ9HT.js +0 -1
@@ -1,2 +1,2 @@
1
1
  var e=`0x${`00`.repeat(20)}`,t=`11111111111111111111111111111111`,n=1e9,r=`0x566de53cee38c8e4e87636e137b206b4799ae79b87d563f416008946bdf14427`,i=`0x655C3Aa937530E06A336458D1CF168d297B597A2`,a=21888242871839275222246405745257275088548364400416034343698204186575808495617n,o=a/2n,s=2n**250n,c=200n,l=function(e){return e.ERC20=`ERC20`,e.ERC721=`ERC721`,e.ERC1155=`ERC1155`,e.MetaplexNFT=`Metaplex NFT`,e.Token2022NFT=`Token-2022 NFT`,e.CompressedNFT=`Compressed NFT`,e}({}),u=35n,d=25n,f=25n,p=25n,m=15e5,h=14e5,g=256*1024,_=2e5,v=.2,y=`v1x1`,b=`BjNVy3aJw55TpQApJZ2v9pxkmeXr5KcwzEvcJ1e1E8hY`,x=394466828,S=`Sign to deterministically derive your Hinkal shielded account keys.
2
- WARNING: Only sign this on official Hinkal domains. Signing it anywhere else can expose your funds to theft.`,C=`Sign to deterministically derive your Hinkal shielded account keys.`;exports.CIRCOM_P=a,exports.CIRCOM_P_HALF=o,exports.COMPUTE_UNIT_PADDING_PERCENTAGE=v,exports.DAPP_SIGNING_MESSAGE=S,exports.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH=b,exports.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT=x,exports.ENCLAVE_PUBKEY=r,exports.ENCLAVE_SIGNER_ADDRESS=i,exports.HINKAL_PRIVATE_SEND_VARIABLE_RATE=d,exports.HINKAL_SHIELD_VARIABLE_RATE=f,exports.HINKAL_SWAP_VARIABLE_RATE=u,exports.MAX_COMPUTE_UNIT_LIMIT=h,exports.MAX_MICRO_LAMPORTS_PER_CU=m,exports.MAX_SOLANA_HEAP_FRAME_BYTES=g,exports.MERKLE_LEVELS=c,exports.MIN_COMPUTE_UNIT_LIMIT=_,exports.NULLIFYING_PRIVATE_KEY_MOD=s,exports.PAY_SEND_VARIABLE_RATE=p,exports.SDK_SIGNING_MESSAGE=C,exports.SIGNATURE_FROM_MNEMONIC_VERSION=y,exports.TRON_DEFAULT_FEE_LIMIT_SUN=n,exports.TokenType=l,exports.solanaNativeAddress=t,exports.zeroAddress=e;
2
+ WARNING: Only sign this on official Hinkal domains. Signing it anywhere else can expose your funds to theft.`,C=`Sign to deterministically derive your Hinkal shielded account keys.`,w=1440*60,T=f,E=3n;exports.CIRCOM_P=a,exports.CIRCOM_P_HALF=o,exports.COMPUTE_UNIT_PADDING_PERCENTAGE=v,exports.DAPP_SIGNING_MESSAGE=S,exports.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH=b,exports.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT=x,exports.ENCLAVE_PUBKEY=r,exports.ENCLAVE_SIGNER_ADDRESS=i,exports.HINKAL_PRIVATE_SEND_VARIABLE_RATE=d,exports.HINKAL_SHIELD_VARIABLE_RATE=f,exports.HINKAL_SWAP_VARIABLE_RATE=u,exports.MAX_COMPUTE_UNIT_LIMIT=h,exports.MAX_MICRO_LAMPORTS_PER_CU=m,exports.MAX_SOLANA_HEAP_FRAME_BYTES=g,exports.MERKLE_LEVELS=c,exports.MIN_COMPUTE_UNIT_LIMIT=_,exports.NULLIFYING_PRIVATE_KEY_MOD=s,exports.PAY_SEND_VARIABLE_RATE=p,exports.RECEIVE_VAULT_EXPIRY_SECONDS=w,exports.RECEIVE_VAULT_FEE_CEILING_MULTIPLIER=E,exports.RECEIVE_VAULT_VARIABLE_RATE=T,exports.SDK_SIGNING_MESSAGE=C,exports.SIGNATURE_FROM_MNEMONIC_VERSION=y,exports.TRON_DEFAULT_FEE_LIMIT_SUN=n,exports.TokenType=l,exports.solanaNativeAddress=t,exports.zeroAddress=e;
@@ -40,6 +40,7 @@ export declare enum TokenType {
40
40
  CompressedNFT = "Compressed NFT"
41
41
  }
42
42
  export declare const ARC_TESTNET_USDC_ADDRESS = "0x3600000000000000000000000000000000000000";
43
+ export declare const ARC_TESTNET_NATIVE_LOG_ADDRESS = "0xffffFFFfFFffffffffffffffFfFFFfffFFFfFFfE";
43
44
  export declare const HINKAL_SWAP_VARIABLE_RATE = 35n;
44
45
  export declare const HINKAL_PRIVATE_SEND_VARIABLE_RATE = 25n;
45
46
  export declare const HINKAL_SHIELD_VARIABLE_RATE = 25n;
@@ -72,3 +73,8 @@ export declare const DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH = "BjNVy3aJw55TpQApJZ
72
73
  export declare const DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT = 394466828;
73
74
  export declare const DAPP_SIGNING_MESSAGE = "Sign to deterministically derive your Hinkal shielded account keys. \nWARNING: Only sign this on official Hinkal domains. Signing it anywhere else can expose your funds to theft.";
74
75
  export declare const SDK_SIGNING_MESSAGE = "Sign to deterministically derive your Hinkal shielded account keys.";
76
+ export declare const RECEIVE_VAULT_SETTLE_REQUEST_TTL_SECONDS: number;
77
+ export declare const RECEIVE_VAULT_RECOVERY_TTL_SECONDS: number;
78
+ export declare const RECEIVE_VAULT_EXPIRY_SECONDS: number;
79
+ export declare const RECEIVE_VAULT_VARIABLE_RATE = 25n;
80
+ export declare const RECEIVE_VAULT_FEE_CEILING_MULTIPLIER = 3n;
@@ -1,6 +1,6 @@
1
1
  //#region libs/shared/common/src/constants/protocol.constants.ts
2
2
  var e = `0x${"00".repeat(20)}`, t = "11111111111111111111111111111111", n = 1e9, r = "0x566de53cee38c8e4e87636e137b206b4799ae79b87d563f416008946bdf14427", i = "0x655C3Aa937530E06A336458D1CF168d297B597A2", a = 21888242871839275222246405745257275088548364400416034343698204186575808495617n, o = a / 2n, s = 2n ** 250n, c = 200n, l = /* @__PURE__ */ function(e) {
3
3
  return e.ERC20 = "ERC20", e.ERC721 = "ERC721", e.ERC1155 = "ERC1155", e.MetaplexNFT = "Metaplex NFT", e.Token2022NFT = "Token-2022 NFT", e.CompressedNFT = "Compressed NFT", e;
4
- }({}), u = 35n, d = 25n, f = 25n, p = 25n, m = 15e5, h = 14e5, g = 256 * 1024, _ = 2e5, v = .2, y = "v1x1", b = "BjNVy3aJw55TpQApJZ2v9pxkmeXr5KcwzEvcJ1e1E8hY", x = 394466828, S = "Sign to deterministically derive your Hinkal shielded account keys. \nWARNING: Only sign this on official Hinkal domains. Signing it anywhere else can expose your funds to theft.", C = "Sign to deterministically derive your Hinkal shielded account keys.";
4
+ }({}), u = 35n, d = 25n, f = 25n, p = 25n, m = 15e5, h = 14e5, g = 256 * 1024, _ = 2e5, v = .2, y = "v1x1", b = "BjNVy3aJw55TpQApJZ2v9pxkmeXr5KcwzEvcJ1e1E8hY", x = 394466828, S = "Sign to deterministically derive your Hinkal shielded account keys. \nWARNING: Only sign this on official Hinkal domains. Signing it anywhere else can expose your funds to theft.", C = "Sign to deterministically derive your Hinkal shielded account keys.", w = 1440 * 60, T = f, E = 3n;
5
5
  //#endregion
6
- export { a as CIRCOM_P, o as CIRCOM_P_HALF, v as COMPUTE_UNIT_PADDING_PERCENTAGE, S as DAPP_SIGNING_MESSAGE, b as DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH, x as DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT, r as ENCLAVE_PUBKEY, i as ENCLAVE_SIGNER_ADDRESS, d as HINKAL_PRIVATE_SEND_VARIABLE_RATE, f as HINKAL_SHIELD_VARIABLE_RATE, u as HINKAL_SWAP_VARIABLE_RATE, h as MAX_COMPUTE_UNIT_LIMIT, m as MAX_MICRO_LAMPORTS_PER_CU, g as MAX_SOLANA_HEAP_FRAME_BYTES, c as MERKLE_LEVELS, _ as MIN_COMPUTE_UNIT_LIMIT, s as NULLIFYING_PRIVATE_KEY_MOD, p as PAY_SEND_VARIABLE_RATE, C as SDK_SIGNING_MESSAGE, y as SIGNATURE_FROM_MNEMONIC_VERSION, n as TRON_DEFAULT_FEE_LIMIT_SUN, l as TokenType, t as solanaNativeAddress, e as zeroAddress };
6
+ export { a as CIRCOM_P, o as CIRCOM_P_HALF, v as COMPUTE_UNIT_PADDING_PERCENTAGE, S as DAPP_SIGNING_MESSAGE, b as DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH, x as DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT, r as ENCLAVE_PUBKEY, i as ENCLAVE_SIGNER_ADDRESS, d as HINKAL_PRIVATE_SEND_VARIABLE_RATE, f as HINKAL_SHIELD_VARIABLE_RATE, u as HINKAL_SWAP_VARIABLE_RATE, h as MAX_COMPUTE_UNIT_LIMIT, m as MAX_MICRO_LAMPORTS_PER_CU, g as MAX_SOLANA_HEAP_FRAME_BYTES, c as MERKLE_LEVELS, _ as MIN_COMPUTE_UNIT_LIMIT, s as NULLIFYING_PRIVATE_KEY_MOD, p as PAY_SEND_VARIABLE_RATE, w as RECEIVE_VAULT_EXPIRY_SECONDS, E as RECEIVE_VAULT_FEE_CEILING_MULTIPLIER, T as RECEIVE_VAULT_VARIABLE_RATE, C as SDK_SIGNING_MESSAGE, y as SIGNATURE_FROM_MNEMONIC_VERSION, n as TRON_DEFAULT_FEE_LIMIT_SUN, l as TokenType, t as solanaNativeAddress, e as zeroAddress };
@@ -1 +1 @@
1
- const e=require(`./vite.constants.cjs`);var t={ROUTES:{getSnapshots:e=>`/snapshots/${e}`,getMerkleTreeSiblings:`/merkle-tree-siblings`,getTronInsertionSiblings:`/tron-insertion-siblings`,getSnapshotServerEvents:`/events`,callLifiAPI:`/LifiBridgeData`,callOkxAPI:`/OkxSwapData`,callNearIntentsQuote:`/near-intents/quote`,callNearIntentsTokens:`/near-intents/tokens`,getOdosPriceForToken:(e,t)=>`/getOdosPriceForToken/${e}/${t}`,monitor:`/monitor`,monitorBatch:`/monitor/batch`,checkRisk:e=>`/check-risk/${e}`,simulateTransaction:`/simulate-transaction`,simulateBatchTx:`/simulate-batch-tx`,simulateVolatileTokenTransfer:`/simulate-volatile-token-transfer`,getTokensInfo:`/get-tokens-info`,getTokensForChain:`/get-tokens-for-chain`,getTokensBySymbols:`/get-tokens-by-symbols`,getTokenData:e=>`/get-token-data/${e}`,getProxyAccounts:e=>`/get-proxy-accounts/${e}`,updateProxyAccounts:`/update-proxy-accounts`,getTemporaryWalletNonces:(e,t)=>`/temporary-wallets/nonces/${e}/${t}`,addTemporaryWalletNonce:`/temporary-wallets/add-nonce`,encodeMoonPayBuyUrl:`/moonpay-buy-url`,getMoonPayQuote:`/moonpay-quote`,privateSendNonceSync:`/private-send-nonce/sync`,privateSendNonceReserve:`/private-send-nonce/reserve`,getDashboardAccount:`/get-dashboard-account`,updateDashboardAccount:`/update-dashboard-account`,deleteDashboardAccount:`/delete-dashboard-account`,updateUserProfile:`/update-user-profile`,addDashboardContact:`/add-dashboard-contact`,deleteDashboardContact:`/delete-dashboard-contact`,updateDashboardContact:`/update-dashboard-contact`,getDashboardContacts:`/get-dashboard-contacts`,sendDashboardInvitationEmail:`/send-dashboard-invitation-email`,resolveInviteRequest:`/resolve-invite-request`,deleteInviteRequest:`/delete-invite-request`,removeMember:`/remove-member`,editMember:`/edit-member`,createDashboardPayout:`/create-dashboard-payout`,getDashboardPayouts:`/get-dashboard-payouts`,syncDashboardBalances:`/sync-dashboard-balances`,getDashboardBalances:`/get-dashboard-balances`,changePayoutStatus:`/change-payout-status`,getPayoutNotifications:`/get-payout-notifications`,markPayoutNotificationsRead:`/mark-payout-notifications-read`,dismissPayoutNotification:`/dismiss-payout-notification`,getDashboardTransactions:`/get-dashboard-transactions`,createDashboardTransactions:`/create-dashboard-transactions`,getDashboardScheduledTransactions:`/get-dashboard-scheduled-transactions`,tronSubsidyEligibility:`/tron-subsidy/eligibility`,tronSubsidyRecord:`/tron-subsidy/record`,solanaPriorityFee:`/solana-priority-fee`,solanaNftAssets:`/solana-nft-assets`,routeConfig:`/rc`,evmTokenBalances:`/evm-token-balances`,evmNftAssets:`/evm-nft-assets`}},n={getGasEstimate:(e,t,n,r)=>`/gas-estimation/${e}/${n}/${t}/${r}`,getTokenPrices:`/get-token-prices`,TRANSACT:`/general-transact`,TRANSACT_BATCH:`/general-transact-batch`,SOLANA_TRANSACT:`/solana-transact`,SOLANA_TRANSACT_BATCH:`/solana-transact-batch`,SOLANA_SPONSORED_BUILD:`/solana-sponsored-build`,SOLANA_SPONSORED_SUBMIT:`/solana-sponsored-submit`,getIdleRelay:`/get-idle-relay`,emitTxPublicData:`/emit-tx-public-data`,emitReferralTx:`/emit-referral-tx`,getScheduledTransactionById:e=>`/scheduled-transactions/${e}`,getScheduledTransactionsNullifierIndexes:`/scheduled-transactions/nullifier-indexes`,getTokenPriceChartData:`/get-token-price-chart-data`,getTokenPreviousDayPrices:`/get-token-previous-day-prices`,getPrivateTransactionsRatio:e=>`/get-private-transactions-ratio/${e}`,savePrivacyScoreAndGetPrivacyRank:`/save-privacy-score-and-get-privacy-rank`},r={createPresaleReferral:`/create-presale-referral`,updatePresaleReferralList:`/update-presale-referral-list`,getUserAnalytics:`/get-user-analytics`,updateRewardsUser:`/update-rewards-user`,getRewardsUser:e=>`/get-rewards-user/${e}`,checkUsernameAvailability:e=>`/check-username/${encodeURIComponent(e)}`,seedlessInit:`/seedless/init`,seedlessBackup:`/seedless/backup`,seedlessCheckPassword:`/seedless/check-password`,seedlessStatus:`/seedless/status`,seedlessSalt:`/seedless/salt`,sendPrivateSendEmailNotifications:`/private-send-email-notifications`,webflowBlogPosts:`/webflow-blog-posts`,brevoSubscribe:`/brevo-subscribe`,versionChecker:e=>`/version-checker/${e}`};e.isNotProduction?e.deploymentMode:`${e.deploymentMode}`;var i=`https://wallet-playground.hinkal.io`,a=`https://wallet-staging-v2.hinkal.io`,o=`https://wallet-prodv12.hinkal.io`,s=`/server`,c=`/relayer`,l=`/snapshot-server`,u=`/data-server`,d=`/compliance-server`,f=`https://api-staging.hinkal.io`,p=`https://api.hinkal.io`;exports.API_CONFIG=t,exports.DATA_SERVER_CONFIG=r,exports.DATA_SERVER_URL_ENDPOINT=u,exports.ENCLAVE_API_PRODUCTION_URL=p,exports.ENCLAVE_API_STAGING_URL=f,exports.FUND_COMPLIANCE_URL_ENDPOINT=d,exports.PLAYGROUND_URL=i,exports.PRODUCTION_URL=o,exports.RELAYER_CONFIG=n,exports.RELAYER_URL_ENDPOINT=c,exports.SERVER_URL_ENDPOINT=s,exports.SNAPSHOT_SERVER_URL_ENDPOINT=l,exports.STAGING_URL=a;
1
+ const e=require(`./vite.constants.cjs`);var t={ROUTES:{getSnapshots:e=>`/snapshots/${e}`,getMerkleTreeSiblings:`/merkle-tree-siblings`,getTronInsertionSiblings:`/tron-insertion-siblings`,getSnapshotServerEvents:`/events`,callLifiAPI:`/LifiBridgeData`,callOkxAPI:`/OkxSwapData`,callNearIntentsQuote:`/near-intents/quote`,callNearIntentsTokens:`/near-intents/tokens`,getOdosPriceForToken:(e,t)=>`/getOdosPriceForToken/${e}/${t}`,monitor:`/monitor`,monitorBatch:`/monitor/batch`,checkRisk:e=>`/check-risk/${e}`,simulateTransaction:`/simulate-transaction`,simulateBatchTx:`/simulate-batch-tx`,simulateVolatileTokenTransfer:`/simulate-volatile-token-transfer`,getTokensInfo:`/get-tokens-info`,getTokensForChain:`/get-tokens-for-chain`,getTokensBySymbols:`/get-tokens-by-symbols`,getTokenData:e=>`/get-token-data/${e}`,getProxyAccounts:e=>`/get-proxy-accounts/${e}`,updateProxyAccounts:`/update-proxy-accounts`,getTemporaryWalletNonces:(e,t)=>`/temporary-wallets/nonces/${e}/${t}`,addTemporaryWalletNonce:`/temporary-wallets/add-nonce`,registerReceiveVault:`/receive-vault/register`,receiveVaultAccount:`/receive-vault/account`,listReceiveVaults:`/receive-vault/list`,markReceiveVaultBlocked:`/receive-vault/blocked`,markReceiveVaultSettled:`/receive-vault/settled`,encodeMoonPayBuyUrl:`/moonpay-buy-url`,getMoonPayQuote:`/moonpay-quote`,privateSendNonceSync:`/private-send-nonce/sync`,privateSendNonceReserve:`/private-send-nonce/reserve`,getDashboardAccount:`/get-dashboard-account`,updateDashboardAccount:`/update-dashboard-account`,deleteDashboardAccount:`/delete-dashboard-account`,updateUserProfile:`/update-user-profile`,addDashboardContact:`/add-dashboard-contact`,deleteDashboardContact:`/delete-dashboard-contact`,updateDashboardContact:`/update-dashboard-contact`,getDashboardContacts:`/get-dashboard-contacts`,sendDashboardInvitationEmail:`/send-dashboard-invitation-email`,resolveInviteRequest:`/resolve-invite-request`,deleteInviteRequest:`/delete-invite-request`,removeMember:`/remove-member`,editMember:`/edit-member`,createDashboardPayout:`/create-dashboard-payout`,getDashboardPayouts:`/get-dashboard-payouts`,syncDashboardBalances:`/sync-dashboard-balances`,getDashboardBalances:`/get-dashboard-balances`,changePayoutStatus:`/change-payout-status`,getPayoutNotifications:`/get-payout-notifications`,markPayoutNotificationsRead:`/mark-payout-notifications-read`,dismissPayoutNotification:`/dismiss-payout-notification`,getDashboardTransactions:`/get-dashboard-transactions`,createDashboardTransactions:`/create-dashboard-transactions`,getDashboardScheduledTransactions:`/get-dashboard-scheduled-transactions`,tronSubsidyEligibility:`/tron-subsidy/eligibility`,tronSubsidyRecord:`/tron-subsidy/record`,solanaPriorityFee:`/solana-priority-fee`,solanaNftAssets:`/solana-nft-assets`,routeConfig:`/rc`,evmTokenBalances:`/evm-token-balances`,evmNftAssets:`/evm-nft-assets`}},n={getGasEstimate:(e,t,n,r)=>`/gas-estimation/${e}/${n}/${t}/${r}`,getTokenPrices:`/get-token-prices`,TRANSACT:`/general-transact`,TRANSACT_BATCH:`/general-transact-batch`,SOLANA_TRANSACT:`/solana-transact`,SOLANA_TRANSACT_BATCH:`/solana-transact-batch`,SOLANA_SPONSORED_BUILD:`/solana-sponsored-build`,SOLANA_SPONSORED_SUBMIT:`/solana-sponsored-submit`,getIdleRelay:`/get-idle-relay`,emitTxPublicData:`/emit-tx-public-data`,emitReferralTx:`/emit-referral-tx`,getScheduledTransactionById:e=>`/scheduled-transactions/${e}`,getScheduledTransactionsNullifierIndexes:`/scheduled-transactions/nullifier-indexes`,getTokenPriceChartData:`/get-token-price-chart-data`,getTokenPreviousDayPrices:`/get-token-previous-day-prices`,getPrivateTransactionsRatio:e=>`/get-private-transactions-ratio/${e}`,savePrivacyScoreAndGetPrivacyRank:`/save-privacy-score-and-get-privacy-rank`},r={createPresaleReferral:`/create-presale-referral`,updatePresaleReferralList:`/update-presale-referral-list`,getUserAnalytics:`/get-user-analytics`,updateRewardsUser:`/update-rewards-user`,getRewardsUser:e=>`/get-rewards-user/${e}`,checkUsernameAvailability:e=>`/check-username/${encodeURIComponent(e)}`,seedlessInit:`/seedless/init`,seedlessBackup:`/seedless/backup`,seedlessCheckPassword:`/seedless/check-password`,seedlessStatus:`/seedless/status`,seedlessSalt:`/seedless/salt`,sendPrivateSendEmailNotifications:`/private-send-email-notifications`,webflowBlogPosts:`/webflow-blog-posts`,brevoSubscribe:`/brevo-subscribe`,versionChecker:e=>`/version-checker/${e}`};e.isNotProduction?e.deploymentMode:`${e.deploymentMode}`;var i=`https://wallet-playground.hinkal.io`,a=`https://wallet-staging-v2.hinkal.io`,o=`https://wallet-prodv12.hinkal.io`,s=`/server`,c=`/relayer`,l=`/snapshot-server`,u=`/data-server`,d=`/compliance-server`,f=`https://api-staging.hinkal.io`,p=`https://api.hinkal.io`;exports.API_CONFIG=t,exports.DATA_SERVER_CONFIG=r,exports.DATA_SERVER_URL_ENDPOINT=u,exports.ENCLAVE_API_PRODUCTION_URL=p,exports.ENCLAVE_API_STAGING_URL=f,exports.FUND_COMPLIANCE_URL_ENDPOINT=d,exports.PLAYGROUND_URL=i,exports.PRODUCTION_URL=o,exports.RELAYER_CONFIG=n,exports.RELAYER_URL_ENDPOINT=c,exports.SERVER_URL_ENDPOINT=s,exports.SNAPSHOT_SERVER_URL_ENDPOINT=l,exports.STAGING_URL=a;
@@ -23,6 +23,11 @@ export declare const API_CONFIG: {
23
23
  updateProxyAccounts: string;
24
24
  getTemporaryWalletNonces: (hashedEthereumAddress: string, chainId: number) => string;
25
25
  addTemporaryWalletNonce: string;
26
+ registerReceiveVault: string;
27
+ receiveVaultAccount: string;
28
+ listReceiveVaults: string;
29
+ markReceiveVaultBlocked: string;
30
+ markReceiveVaultSettled: string;
26
31
  encodeMoonPayBuyUrl: string;
27
32
  getMoonPayQuote: string;
28
33
  privateSendNonceSync: string;
@@ -24,6 +24,11 @@ var n = { ROUTES: {
24
24
  updateProxyAccounts: "/update-proxy-accounts",
25
25
  getTemporaryWalletNonces: (e, t) => `/temporary-wallets/nonces/${e}/${t}`,
26
26
  addTemporaryWalletNonce: "/temporary-wallets/add-nonce",
27
+ registerReceiveVault: "/receive-vault/register",
28
+ receiveVaultAccount: "/receive-vault/account",
29
+ listReceiveVaults: "/receive-vault/list",
30
+ markReceiveVaultBlocked: "/receive-vault/blocked",
31
+ markReceiveVaultSettled: "/receive-vault/settled",
27
32
  encodeMoonPayBuyUrl: "/moonpay-buy-url",
28
33
  getMoonPayQuote: "/moonpay-quote",
29
34
  privateSendNonceSync: "/private-send-nonce/sync",
@@ -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(`./hinkalGetRecipientInfo.cjs`),D=require(`./hinkalSignSubAccount.cjs`),O=require(`./hinkalActionReceive.cjs`),k=require(`./hinkalProoflessDeposit.cjs`),A=require(`./hinkalProxySwap.cjs`),j=require(`./hinkalTransfer.cjs`),M=require(`./hinkalProxyToPrivate.cjs`),N=require(`../../providers/TronProviderAdapter.cjs`),P=require(`./hinkalSolanaDepositAndWithdraw.cjs`),F=require(`./hinkalSolanaWithdraw.cjs`),I=require(`./hinkalSolanaTransfer.cjs`),L=require(`./hinkalSolanaSwap.cjs`),R=require(`./hinkalSolanaProxySwap.cjs`),z=require(`./hinkalSolanaProxyShield.cjs`),B=require(`./hinkalDepositAndBridge.cjs`),V=require(`./hinkalBridgePrivateToPrivate.cjs`),H=require(`./hinkalNearDepositAndBridge.cjs`),U=require(`./hinkalClaimUtxo.cjs`),W=require(`./hinkalSolanaProoflessDeposit.cjs`),G=require(`./hinkalSolanaClaimUtxo.cjs`),K=require(`./hinkalWithdrawStuckUtxos.cjs`),q=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);const J=require(`./hinkalProxySend.cjs`);let Y=require(`@solana/web3.js`);var X=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new q.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 N.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 Y.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 N.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 D.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 E.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){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),y.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,n,r,i,a,o,s,c,u=!0){return t.isSolanaLike(l.validateAndGetChainId([e]))?P.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]))?G.hinkalSolanaClaimUtxo(this,e,n,r,i):U.hinkalClaimUtxo(this,e,n,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return B.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]),V.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]),H.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){return t.isSolanaLike(l.validateAndGetChainId(e))?W.hinkalSolanaProoflessDeposit(this,e,n,i,a,o,u,d):k.hinkalProoflessDeposit(this,e,n,i,a,o,s,c,u,d)}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))?I.hinkalSolanaTransfer(this,e,n,r,i,a,o):j.hinkalTransfer(this,e,n,r,i,a,o)}async withdraw(e,n,r,i,a,o,s,c){return t.isSolanaLike(l.validateAndGetChainId(e))?F.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 K.hinkalWithdrawStuckUtxos(this,e,t)}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 L.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))?z.hinkalSolanaProxyShield(this,e[0],n[0],a,void 0,!1,i?.variableRate,o):O.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))?R.hinkalSolanaProxySwap(this,e,n,i,o,r,a,s,c,m):A.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]),z.hinkalSolanaProxyShield(this,e[0],n[0],r,i,!1,o?.variableRate,s)):M.hinkalProxyToPrivate(this,e,n,i,a,o,r,s)}async proxySend(e,t,n,r,i,a,o){return J.hinkalProxySend(this,e,t,n,r,i,a,o)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=X;
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=$;
@@ -11,6 +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
15
  import { ICacheDevice } from '../../types/ICacheDevice';
15
16
  import { StealthAddressStructure, TypedData } from '../../types/circom-data.types';
16
17
  import { SubAccount } from '../../types/proxy.types';
@@ -95,19 +96,22 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
95
96
  deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
96
97
  depositSolana(amount: bigint, token: ERC20Token, returnTxData?: boolean): Promise<string>;
97
98
  depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientInfo: string, preEstimateGas?: boolean, returnTxData?: boolean, action?: AdminTransactionType): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
98
- depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, action?: AdminTransactionType): Promise<string>;
99
+ depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, variableRate?: bigint, action?: AdminTransactionType): Promise<string>;
99
100
  depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
100
101
  claimUtxo(erc20Token: ERC20Token, utxo: Utxo, claimableSignature: string, feeStructureOverride?: FeeStructure): Promise<string>;
101
102
  depositAndBridge(erc20Token: ERC20Token, recipientBridges: PublicBridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
102
103
  bridgePrivateToPrivate(sourceToken: ERC20Token, destToken: ERC20Token, amount: string, recipient: PrivateBridgeRecipient, slippage?: number, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<PrivateBridgeResult>;
103
104
  checkSendTransactionStatus(scheduleId: string): Promise<ScheduledTransactionByIdResponse>;
104
105
  nearDepositAndBridge(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], params: NearBridgeParams, txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string): Promise<NearBridgeResult>;
105
- prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
106
+ prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, skipDuplicateCheck?: boolean, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
106
107
  getSolanaProgram(idl: Idl): Program;
107
108
  getSolanaPublicKey(): PublicKey;
108
109
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
109
110
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, variableRateOverride?: bigint, action?: AdminTransactionType): Promise<ethers.TransactionResponse | string>;
110
111
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<string[]>;
112
+ createReceiveAddress(chainId: number, token: string, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
113
+ getReceiveVaultAccount(): Promise<ReceiveVaultAccount>;
114
+ recoverReceiveVault(record: ReceiveVaultRecord, token: string, chainId: number, to: string, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
111
115
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, slippagePercentage?: number, action?: AdminTransactionType): Promise<string>;
112
116
  swapSolana(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
113
117
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeToken?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType): Promise<string>;
@@ -25,34 +25,37 @@ import "../merkle-tree/index.mjs";
25
25
  import { resetMerkleTrees as L } from "./resetMerkleTrees.mjs";
26
26
  import "../../API/index.mjs";
27
27
  import { MultiThreadedUtxoUtils as R } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
28
- import { hinkalPrivateWallet as ne } from "./hinkalPrivateWallet.mjs";
29
- import { getRecipientInfo as z } from "./hinkalGetRecipientInfo.mjs";
30
- import { hinkalSignSubAccount as B } from "./hinkalSignSubAccount.mjs";
31
- import { hinkalActionReceive as V } from "./hinkalActionReceive.mjs";
32
- import { hinkalProoflessDeposit as H } from "./hinkalProoflessDeposit.mjs";
33
- import { hinkalProxySwap as U } from "./hinkalProxySwap.mjs";
34
- import { hinkalTransfer as W } from "./hinkalTransfer.mjs";
35
- import { hinkalProxyToPrivate as G } from "./hinkalProxyToPrivate.mjs";
36
- import { TronProviderAdapter as K } from "../../providers/TronProviderAdapter.mjs";
37
- import { hinkalSolanaDepositAndWithdraw as q } from "./hinkalSolanaDepositAndWithdraw.mjs";
38
- import { hinkalSolanaWithdraw as J } from "./hinkalSolanaWithdraw.mjs";
39
- import { hinkalSolanaTransfer as Y } from "./hinkalSolanaTransfer.mjs";
40
- import { hinkalSolanaSwap as X } from "./hinkalSolanaSwap.mjs";
41
- import { hinkalSolanaProxySwap as Z } from "./hinkalSolanaProxySwap.mjs";
28
+ import { hinkalPrivateWallet as z } from "./hinkalPrivateWallet.mjs";
29
+ import { hinkalGetReceiveVaultAccount as B } from "./hinkalReceiveVaultAccount.mjs";
30
+ import { hinkalReceiveVaultCreate as V } from "./hinkalReceiveVaultCreate.mjs";
31
+ import { hinkalReceiveVaultRecover as H } from "./hinkalReceiveVaultRecover.mjs";
32
+ import { getRecipientInfo as ne } from "./hinkalGetRecipientInfo.mjs";
33
+ import { hinkalSignSubAccount as U } from "./hinkalSignSubAccount.mjs";
34
+ import { hinkalActionReceive as W } from "./hinkalActionReceive.mjs";
35
+ import { hinkalProoflessDeposit as G } from "./hinkalProoflessDeposit.mjs";
36
+ import { hinkalProxySwap as K } from "./hinkalProxySwap.mjs";
37
+ import { hinkalTransfer as q } from "./hinkalTransfer.mjs";
38
+ import { hinkalProxyToPrivate as J } from "./hinkalProxyToPrivate.mjs";
39
+ import { TronProviderAdapter as Y } from "../../providers/TronProviderAdapter.mjs";
40
+ import { hinkalSolanaDepositAndWithdraw as X } from "./hinkalSolanaDepositAndWithdraw.mjs";
41
+ import { hinkalSolanaWithdraw as Z } from "./hinkalSolanaWithdraw.mjs";
42
+ import { hinkalSolanaTransfer as re } from "./hinkalSolanaTransfer.mjs";
43
+ import { hinkalSolanaSwap as ie } from "./hinkalSolanaSwap.mjs";
44
+ import { hinkalSolanaProxySwap as ae } from "./hinkalSolanaProxySwap.mjs";
42
45
  import { hinkalSolanaProxyShield as Q } from "./hinkalSolanaProxyShield.mjs";
43
- import { hinkalDepositAndBridge as re } from "./hinkalDepositAndBridge.mjs";
44
- import { hinkalBridgePrivateToPrivate as ie } from "./hinkalBridgePrivateToPrivate.mjs";
45
- import { hinkalNearDepositAndBridge as ae } from "./hinkalNearDepositAndBridge.mjs";
46
- import { hinkalClaimUtxo as oe } from "./hinkalClaimUtxo.mjs";
47
- import { hinkalSolanaProoflessDeposit as $ } from "./hinkalSolanaProoflessDeposit.mjs";
48
- import { hinkalSolanaClaimUtxo as se } from "./hinkalSolanaClaimUtxo.mjs";
49
- import { hinkalWithdrawStuckUtxos as ce } from "./hinkalWithdrawStuckUtxos.mjs";
50
- import { HinkalPrivateBalanceController as le } from "../private-balances/HinkalPrivateBalanceController.mjs";
46
+ import { hinkalDepositAndBridge as oe } from "./hinkalDepositAndBridge.mjs";
47
+ import { hinkalBridgePrivateToPrivate as $ } from "./hinkalBridgePrivateToPrivate.mjs";
48
+ import { hinkalNearDepositAndBridge as se } from "./hinkalNearDepositAndBridge.mjs";
49
+ import { hinkalClaimUtxo as ce } from "./hinkalClaimUtxo.mjs";
50
+ import { hinkalSolanaProoflessDeposit as le } from "./hinkalSolanaProoflessDeposit.mjs";
51
+ import { hinkalSolanaClaimUtxo as ue } from "./hinkalSolanaClaimUtxo.mjs";
52
+ import { hinkalWithdrawStuckUtxos as de } from "./hinkalWithdrawStuckUtxos.mjs";
53
+ import { HinkalPrivateBalanceController as fe } from "../private-balances/HinkalPrivateBalanceController.mjs";
51
54
  import "../private-balances/index.mjs";
52
- import { hinkalProxySend as ue } from "./hinkalProxySend.mjs";
53
- import { Transaction as de } from "@solana/web3.js";
55
+ import { hinkalProxySend as pe } from "./hinkalProxySend.mjs";
56
+ import { Transaction as me } from "@solana/web3.js";
54
57
  //#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
55
- var fe = class {
58
+ var he = class {
56
59
  ethereumProviderAdapter;
57
60
  solanaProviderAdapter;
58
61
  tronProviderAdapter;
@@ -63,7 +66,7 @@ var fe = class {
63
66
  encryptedOutputsByChain = {};
64
67
  commitmentsSnapshotServiceByChain = {};
65
68
  nullifierSnapshotServiceByChain = {};
66
- privateBalances = new le(this);
69
+ privateBalances = new fe(this);
67
70
  utxoUtils;
68
71
  lastCallState = /* @__PURE__ */ new Map();
69
72
  cacheDevice;
@@ -93,7 +96,7 @@ var fe = class {
93
96
  }
94
97
  async initProviderAdapter(e, t) {
95
98
  let n = r.ethMainnet;
96
- t instanceof O ? n = i : t instanceof K && (n = a), await this.updateProviderAdapter(n, t), t.initConnector(e);
99
+ t instanceof O ? n = i : t instanceof Y && (n = a), await this.updateProviderAdapter(n, t), t.initConnector(e);
97
100
  let o = await t.connectAndPatchProvider(e);
98
101
  await t.init(o), await this.setListeners();
99
102
  }
@@ -109,7 +112,7 @@ var fe = class {
109
112
  return this.getProviderAdapter().signMessage(t);
110
113
  }
111
114
  async signSolanaLedgerMessage() {
112
- let e = new de({
115
+ let e = new me({
113
116
  blockhash: f,
114
117
  lastValidBlockHeight: p,
115
118
  feePayer: this.getSolanaPublicKey()
@@ -146,7 +149,7 @@ var fe = class {
146
149
  getTronWeb() {
147
150
  let e = this.tronProviderAdapter;
148
151
  if (!e) throw Error("Tron provider adapter not initialized");
149
- if (!(e instanceof K)) throw Error("Tron provider adapter is not a TronProviderAdapter");
152
+ if (!(e instanceof Y)) throw Error("Tron provider adapter is not a TronProviderAdapter");
150
153
  let t = e.getTronWeb();
151
154
  if (!t) throw Error("TronWeb not available");
152
155
  return t;
@@ -170,7 +173,7 @@ var fe = class {
170
173
  return await this.getProviderAdapter().signTypedData(e, t, n);
171
174
  }
172
175
  async signWithSubAccount(e, t, n, r) {
173
- return B(e, t, n, r);
176
+ return U(e, t, n, r);
174
177
  }
175
178
  getContractWithSigner(e, t, n = "") {
176
179
  return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
@@ -296,7 +299,7 @@ var fe = class {
296
299
  this.snapshotsClearInterval(), this.privateBalances.dispose(), await this.resetProviderAdapters();
297
300
  }
298
301
  getRecipientInfo() {
299
- return z(this);
302
+ return ne(this);
300
303
  }
301
304
  async deposit(e, t, n = !0, r = !1) {
302
305
  return T(this, e, t, n, r);
@@ -311,28 +314,28 @@ var fe = class {
311
314
  n
312
315
  ]), E(this, e, t, n, r, i, a);
313
316
  }
314
- async depositSolanaForOther(e, t, n, r = !1, i) {
317
+ async depositSolanaForOther(e, t, n, r = !1, i = 0n, a) {
315
318
  return this.enforceRateLimit(this.depositSolanaForOther.name, [
316
319
  e,
317
320
  t,
318
321
  n
319
- ]), N(this, e, t, n, r, i);
322
+ ]), N(this, e, t, n, r, i, a);
320
323
  }
321
324
  async depositAndWithdraw(e, t, n, r, i, a, o, c, l = !0) {
322
- return s(x([e])) ? q(this, e, t, n, r, i, a, o, c) : j(this, e, t, n, r, i, a, o, c, l);
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);
323
326
  }
324
327
  async claimUtxo(e, t, n, r) {
325
- return s(x([e])) ? se(this, e, t, n, r) : oe(this, e, t, n, r);
328
+ return s(x([e])) ? ue(this, e, t, n, r) : ce(this, e, t, n, r);
326
329
  }
327
330
  async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
328
- return re(this, e, t, n, r, i, a, o, s);
331
+ return oe(this, e, t, n, r, i, a, o, s);
329
332
  }
330
333
  async bridgePrivateToPrivate(e, t, n, r, i, a, o, s) {
331
334
  return this.enforceRateLimit(this.bridgePrivateToPrivate.name, [
332
335
  e,
333
336
  t,
334
337
  n
335
- ]), ie(this, e, t, n, r, i, a, o, s);
338
+ ]), $(this, e, t, n, r, i, a, o, s);
336
339
  }
337
340
  async checkSendTransactionStatus(e) {
338
341
  return y(e);
@@ -343,10 +346,10 @@ var fe = class {
343
346
  t,
344
347
  n,
345
348
  r
346
- ]), ae(this, e, t, n, r, i, a, o, s, c);
349
+ ]), se(this, e, t, n, r, i, a, o, s, c);
347
350
  }
348
- async prooflessDeposit(e, t, n, r, i = !1, a = g, o = "", c, l = !1) {
349
- return s(x(e)) ? $(this, e, t, n, r, i, c, l) : H(this, e, t, n, r, i, a, o, c, l);
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);
350
353
  }
351
354
  getSolanaProgram(e) {
352
355
  if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
@@ -363,24 +366,33 @@ var fe = class {
363
366
  e,
364
367
  t,
365
368
  n
366
- ]), s(x(e)) ? Y(this, e, t, n, r, i, a) : W(this, e, t, n, r, i, a);
369
+ ]), s(x(e)) ? re(this, e, t, n, r, i, a) : q(this, e, t, n, r, i, a);
367
370
  }
368
371
  async withdraw(e, t, n, r, i, a, o, c) {
369
- return s(x(e)) ? J(this, e, t, n, i, a, o, c) : F(this, 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);
370
373
  }
371
374
  async withdrawStuckUtxos(e, t) {
372
- return ce(this, e, t);
375
+ return de(this, e, t);
376
+ }
377
+ async createReceiveAddress(e, t, n = !1) {
378
+ return V(this, e, t, n);
379
+ }
380
+ async getReceiveVaultAccount() {
381
+ return B(this);
382
+ }
383
+ async recoverReceiveVault(e, t, n, r, i = !1) {
384
+ return H(this, e, t, n, r, i);
373
385
  }
374
386
  async swap(e, t, n, r, i, a, o, c) {
375
387
  return s(x(e)) ? this.swapSolana(e, t, r, i, a, c) : P(this, e, t, n, r, i, a, o, c);
376
388
  }
377
389
  async swapSolana(e, t, n, r, i, a) {
378
390
  let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
379
- return X(this, e, t, s, c, l, r, i, a);
391
+ return ie(this, e, t, s, c, l, r, i, a);
380
392
  }
381
393
  async actionReceive(e, t, n, r, i, a) {
382
394
  if (!i) throw Error("subAccount is required");
383
- return s(x(e)) ? Q(this, e[0], t[0], i, void 0, !1, r?.variableRate, a) : V(this, e, t, n, r, i, a);
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);
384
396
  }
385
397
  async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
386
398
  return this.enforceRateLimit(this.actionPrivateWallet.name, [
@@ -394,10 +406,10 @@ var fe = class {
394
406
  s,
395
407
  c,
396
408
  p
397
- ]), ne(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);
398
410
  }
399
411
  async proxySwap(e, t, n, r, i, a, o, c, l = !1, u, d, f, p) {
400
- return s(x(e)) ? Z(this, e, t, r, a, n, i, o, c, p) : U(this, e, t, n, r, i, a, o, c, l, u, p, d, f);
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);
401
413
  }
402
414
  async proxyToPrivate(e, t, n, r, i, a, o) {
403
415
  return s(x(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
@@ -405,10 +417,10 @@ var fe = class {
405
417
  t[0],
406
418
  n,
407
419
  r
408
- ]), Q(this, e[0], t[0], n, r, !1, a?.variableRate, o)) : G(this, e, t, r, i, a, n, o);
420
+ ]), Q(this, e[0], t[0], n, r, !1, a?.variableRate, o)) : J(this, e, t, r, i, a, n, o);
409
421
  }
410
422
  async proxySend(e, t, n, r, i, a, o) {
411
- return ue(this, e, t, n, r, i, a, o);
423
+ return pe(this, e, t, n, r, i, a, o);
412
424
  }
413
425
  areMerkleTreeUpdatesDisabled() {
414
426
  return this.disableMerkleTreeUpdates;
@@ -418,4 +430,4 @@ var fe = class {
418
430
  }
419
431
  };
420
432
  //#endregion
421
- export { fe as Hinkal };
433
+ export { he as Hinkal };
@@ -20,6 +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
24
  import { Utxo } from '../utxo/Utxo';
24
25
  import { ScheduledTransactionByIdResponse } from '../../API/scheduled-transactions-calls';
25
26
  import { DepositAndSendExtendedResult } from '../../types/scheduled-transactions.types';
@@ -61,14 +62,17 @@ export interface IHinkal<ConnectorType = unknown> {
61
62
  bridgePrivateToPrivate(sourceToken: ERC20Token, destToken: ERC20Token, amount: string, recipient: PrivateBridgeRecipient, slippage?: number, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<PrivateBridgeResult>;
62
63
  checkSendTransactionStatus(scheduleId: string): Promise<ScheduledTransactionByIdResponse>;
63
64
  nearDepositAndBridge(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], params: NearBridgeParams, txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string): Promise<NearBridgeResult>;
64
- prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
65
+ prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, skipDuplicateCheck?: boolean, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
65
66
  getSolanaProgram(idl: Idl): Program;
66
67
  getSolanaPublicKey(): PublicKey;
67
68
  depositSolana(amount: bigint, token: ERC20Token): Promise<string>;
68
- depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, action?: AdminTransactionType): Promise<string>;
69
+ depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, variableRate?: bigint, action?: AdminTransactionType): Promise<string>;
69
70
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
70
71
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, variableRateOverride?: bigint, action?: AdminTransactionType): Promise<ethers.TransactionResponse | string>;
71
72
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<string[]>;
73
+ createReceiveAddress(chainId: number, token: string, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
74
+ getReceiveVaultAccount(): Promise<ReceiveVaultAccount>;
75
+ recoverReceiveVault(record: ReceiveVaultRecord, token: string, chainId: number, to: string, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
72
76
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, slippagePercentage?: number, action?: AdminTransactionType): Promise<string>;
73
77
  getProviderAdapter(chainId?: number): IProviderAdapter;
74
78
  getTronWeb(): TronWeb;
@@ -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/private-wallet/emporium.helpers.cjs`),y=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),b=require(`../../functions/utils/postToOffscreen.cjs`),x=require(`../../functions/utils/fees.utils.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){b.postToOffscreen(f.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let d=(await p.getErc20TokensBySymbolsFromAPI(await x.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=v.createTransaferEmporiumOpsBatch(k,A,V,await h.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await _.getFeeStructure(A,N,V,s.ExternalActionId.Emporium,H.map(e=>y.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){b.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($),b.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),b.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),b.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(`../../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;
@@ -19,10 +19,10 @@ import "../../error-handling/index.mjs";
19
19
  import { modifyVolatileTokenAmountChanges as te } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
20
20
  import { createJsonRpcProvider as v } from "../../functions/utils/create-provider.mjs";
21
21
  import { getFeeStructure as y } from "../../functions/pre-transaction/getFeeStructure.mjs";
22
- import { createTransaferEmporiumOpsBatch as b } from "../../functions/private-wallet/emporium.helpers.mjs";
23
- import { convertEmporiumOpToCallInfo as x } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
24
- import { postToOffscreen as S } from "../../functions/utils/postToOffscreen.mjs";
25
- import { getGasTokenSymbols as C } from "../../functions/utils/fees.utils.mjs";
22
+ import { getGasTokenSymbols as b } from "../../functions/utils/fees.utils.mjs";
23
+ import { createTransaferEmporiumOpsBatch as x } from "../../functions/private-wallet/emporium.helpers.mjs";
24
+ import { convertEmporiumOpToCallInfo as S } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
25
+ import { postToOffscreen as C } from "../../functions/utils/postToOffscreen.mjs";
26
26
  import { getTokensToDepositBack as w } from "../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs";
27
27
  import { getGasTokenRecords as T } from "../../functions/auto-deposit-back-helpers/get-gas-token-records.mjs";
28
28
  import { selectGasToken as E } from "../../functions/auto-deposit-back-helpers/select-gas-token.mjs";
@@ -39,16 +39,16 @@ var k = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
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
- S(p.AutoShieldTxStatus, { message: i.AUTO_SHIELD_SKIPPED });
42
+ C(p.AutoShieldTxStatus, { message: i.AUTO_SHIELD_SKIPPED });
43
43
  return;
44
44
  }
45
- let f = (await g(await C(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 = b(A, j, H, await te(j, B, V, M)), W = await y(j, P, H, c.Emporium, U.map((e) => x(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 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);
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;
49
49
  let { feeToken: X, feeStructure: Z } = Y ?? {};
50
50
  if (F && Number(F) < J) {
51
- S(p.AutoShieldTxStatus, { message: r.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT });
51
+ C(p.AutoShieldTxStatus, { message: r.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT });
52
52
  return;
53
53
  }
54
54
  let Q = B.findIndex((e) => n(e.erc20TokenAddress, X));
@@ -64,14 +64,14 @@ var k = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
64
64
  token: e
65
65
  }))
66
66
  };
67
- if (R = await O.saveTxRequest($), S(p.AutoShieldTxStatus, { status: l.Loading }), L) D(j, A, L.inputNullifiers?.flat(), L.outCommitments?.flat(), L.encryptedOutputs?.flat());
67
+ if (R = await O.saveTxRequest($), C(p.AutoShieldTxStatus, { status: l.Loading }), L) D(j, A, L.inputNullifiers?.flat(), L.outCommitments?.flat(), L.encryptedOutputs?.flat());
68
68
  else if (!A.generateProofRemotely) throw Error("Circomdata should be passed if tx is done locally");
69
69
  let ie = {
70
70
  id: 0,
71
71
  success: !0,
72
72
  txHash: await A.actionReceive(B, V, X, Z, N, u.AutoShield)
73
73
  };
74
- await O.updatePendingTransactions(ie, R), S(p.AutoShieldTxStatus, {
74
+ await O.updatePendingTransactions(ie, R), C(p.AutoShieldTxStatus, {
75
75
  status: l.Confirmed,
76
76
  activityRequest: $
77
77
  });
@@ -84,7 +84,7 @@ var k = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
84
84
  success: !1,
85
85
  ...t ? { erroredTx: t } : {}
86
86
  };
87
- R && await O.updatePendingTransactions(n, R), S(p.AutoShieldTxStatus, {
87
+ R && await O.updatePendingTransactions(n, R), C(p.AutoShieldTxStatus, {
88
88
  status: l.Failed,
89
89
  error: _(e, f.ReceiveFromShieldedAccount)
90
90
  }), s.error("Error in auto deposit back:", e);
@@ -1 +1 @@
1
- require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/external-action.types.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),r=require(`../AccountActions/AccountActions.cjs`),i=require(`../../functions/pre-transaction/getFeeStructure.cjs`),a=require(`../../functions/private-wallet/emporium.helpers.cjs`),o=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),s=require(`../../functions/utils/fees.utils.cjs`);var c=async(c,l,u,d,f,p,m)=>{if(!p)throw Error(`hinkalActionReceive: subAccount should be provided`);if(!d)throw Error(`Fee token is required in hinkalActionReceive`);let h=t.validateAndGetChainId(l),g=r.AccountActions.getAddressFromSubAccount(h,p);if(!g)throw Error(`Public account address is not available`);let _=l.map(e=>e.erc20TokenAddress),v=await n.modifyVolatileTokenAmountChanges(h,l,u,g),y=a.createTransaferEmporiumOpsBatch(c,h,_,v),b=await s.calculateModifiedFeeStructureForTokens(h,l,v,f??await i.getFeeStructure(h,d,_,e.ExternalActionId.Emporium,y.map(e=>o.convertEmporiumOpToCallInfo(e,g,h)),25n)),x=l.map((e,t)=>({token:e,amount:-1n*v[t]}));return c.actionPrivateWallet(h,l,v,v.map(()=>!1),y,x,p,d,b,void 0,void 0,void 0,m,void 0)};exports.hinkalActionReceive=c;
1
+ require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/external-action.types.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),r=require(`../AccountActions/AccountActions.cjs`),i=require(`../../functions/pre-transaction/getFeeStructure.cjs`),a=require(`../../functions/utils/fees.utils.cjs`),o=require(`../../functions/private-wallet/emporium.helpers.cjs`),s=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`);var c=async(c,l,u,d,f,p,m)=>{if(!p)throw Error(`hinkalActionReceive: subAccount should be provided`);if(!d)throw Error(`Fee token is required in hinkalActionReceive`);let h=t.validateAndGetChainId(l),g=r.AccountActions.getAddressFromSubAccount(h,p);if(!g)throw Error(`Public account address is not available`);let _=l.map(e=>e.erc20TokenAddress),v=await n.modifyVolatileTokenAmountChanges(h,l,u,g),y=o.createTransaferEmporiumOpsBatch(c,h,_,v),b=await a.calculateModifiedFeeStructureForTokens(h,l,v,f??await i.getFeeStructure(h,d,_,e.ExternalActionId.Emporium,y.map(e=>s.convertEmporiumOpToCallInfo(e,g,h)),25n)),x=l.map((e,t)=>({token:e,amount:-1n*v[t]}));return c.actionPrivateWallet(h,l,v,v.map(()=>!1),y,x,p,d,b,void 0,void 0,void 0,m,void 0)};exports.hinkalActionReceive=c;
@@ -4,16 +4,16 @@ import { validateAndGetChainId as t } from "../../functions/utils/token-check.ut
4
4
  import { modifyVolatileTokenAmountChanges as n } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
5
5
  import { AccountActions as r } from "../AccountActions/AccountActions.mjs";
6
6
  import { getFeeStructure as i } from "../../functions/pre-transaction/getFeeStructure.mjs";
7
- import { createTransaferEmporiumOpsBatch as a } from "../../functions/private-wallet/emporium.helpers.mjs";
8
- import { convertEmporiumOpToCallInfo as o } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
9
- import { calculateModifiedFeeStructureForTokens as s } from "../../functions/utils/fees.utils.mjs";
7
+ import { calculateModifiedFeeStructureForTokens as a } from "../../functions/utils/fees.utils.mjs";
8
+ import { createTransaferEmporiumOpsBatch as o } from "../../functions/private-wallet/emporium.helpers.mjs";
9
+ import { convertEmporiumOpToCallInfo as s } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
10
10
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalActionReceive.ts
11
11
  var c = async (c, l, u, d, f, p, m) => {
12
12
  if (!p) throw Error("hinkalActionReceive: subAccount should be provided");
13
13
  if (!d) throw Error("Fee token is required in hinkalActionReceive");
14
14
  let h = t(l), g = r.getAddressFromSubAccount(h, p);
15
15
  if (!g) throw Error("Public account address is not available");
16
- let _ = l.map((e) => e.erc20TokenAddress), v = await n(h, l, u, g), y = a(c, h, _, v), b = await s(h, l, v, f ?? await i(h, d, _, e.Emporium, y.map((e) => o(e, g, h)), 25n)), x = l.map((e, t) => ({
16
+ let _ = l.map((e) => e.erc20TokenAddress), v = await n(h, l, u, g), y = o(c, h, _, v), b = await a(h, l, v, f ?? await i(h, d, _, e.Emporium, y.map((e) => s(e, g, h)), 25n)), x = l.map((e, t) => ({
17
17
  token: e,
18
18
  amount: -1n * v[t]
19
19
  }));