@hinkal/common 0.2.19 → 0.2.21
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.
- package/API/API.cjs +1 -1
- package/API/API.d.ts +6 -1
- package/API/API.mjs +48 -41
- package/API/enclaveCalls.cjs +1 -1
- package/API/enclaveCalls.mjs +5 -4
- package/API/index.d.ts +1 -0
- package/API/proxyAccountsCalls.cjs +1 -1
- package/API/proxyAccountsCalls.d.ts +7 -2
- package/API/proxyAccountsCalls.mjs +26 -20
- package/API/temporaryWalletCalls.cjs +1 -0
- package/API/temporaryWalletCalls.d.ts +13 -0
- package/API/temporaryWalletCalls.mjs +20 -0
- package/API/unspent-utxos-calls.cjs +1 -1
- package/API/unspent-utxos-calls.d.ts +1 -1
- package/API/unspent-utxos-calls.mjs +16 -14
- package/README.md +36 -13
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +1 -1
- package/constants/chains.constants.mjs +69 -51
- package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-solana.json.mjs +28 -2
- package/constants/kyc.constants.cjs +1 -1
- package/constants/kyc.constants.mjs +39 -40
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +1 -0
- package/constants/mediaUrls.constants.mjs +2 -1
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +6 -1
- package/constants/server.constants.mjs +37 -32
- package/constants/token-data/polygonRegistry.json.cjs +1 -1
- package/constants/token-data/polygonRegistry.json.mjs +4 -4
- package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
- package/constants/token-data/polygonRegistryFixed.json.mjs +4 -4
- package/data-structures/AccountActions/AccountActions.cjs +1 -0
- package/data-structures/AccountActions/AccountActions.d.ts +18 -0
- package/data-structures/AccountActions/AccountActions.mjs +78 -0
- package/data-structures/AccountActions/index.d.ts +1 -0
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +68 -71
- package/data-structures/BlockchainEvent/BlockchainEvent.cjs +1 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +14 -0
- package/data-structures/BlockchainEvent/BlockchainEvent.mjs +41 -0
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +14 -8
- package/data-structures/Hinkal/Hinkal.mjs +215 -179
- package/data-structures/Hinkal/IHinkal.d.ts +9 -6
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +47 -48
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionReceive.mjs +25 -22
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +12 -12
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.mjs +63 -63
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +60 -147
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -0
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -0
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +103 -0
- package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -0
- package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +4 -0
- package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +214 -0
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +4 -4
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +103 -99
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxySwap.mjs +44 -41
- package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +31 -28
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +16 -13
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +34 -34
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +67 -65
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +35 -32
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +59 -56
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +35 -32
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +10 -10
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +25 -25
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +34 -30
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +43 -39
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +47 -43
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +50 -46
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +36 -34
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.d.ts +1 -0
- package/data-structures/IndexedDB/activity-db.mjs +86 -70
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +33 -30
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +9 -6
- package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +1 -0
- package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +20 -0
- package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +124 -0
- package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +1 -0
- package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +15 -0
- package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +64 -0
- package/data-structures/PublicBalance/index.d.ts +2 -0
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +77 -78
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +0 -11
- package/data-structures/crypto-keys/keys.mjs +47 -107
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractEventService.d.ts +3 -2
- package/data-structures/event-service/evm/AbstractEventService.mjs +16 -19
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +3 -3
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +6 -5
- package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +7 -4
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +35 -34
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +11 -0
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +21 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +6 -0
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +16 -0
- package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -0
- package/data-structures/event-service/helpers/ClientEventHelper.d.ts +11 -0
- package/data-structures/event-service/helpers/ClientEventHelper.mjs +26 -0
- package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -0
- package/data-structures/event-service/helpers/PollingEventHelper.d.ts +5 -0
- package/data-structures/event-service/helpers/PollingEventHelper.mjs +14 -0
- package/data-structures/event-service/index.d.ts +4 -0
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +3 -2
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +4 -3
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
- package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +3 -10
- package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +5 -5
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +3 -2
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +1 -1
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +11 -0
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +22 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +6 -0
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +16 -0
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +8 -14
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +68 -67
- package/data-structures/index.d.ts +3 -0
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +5 -2
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +5 -2
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +5 -2
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +5 -2
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +5 -2
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +5 -2
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +5 -2
- package/data-structures/utxo/Utxo.cjs +1 -1
- package/data-structures/utxo/Utxo.d.ts +1 -0
- package/data-structures/utxo/Utxo.mjs +18 -4
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.mjs +2 -2
- package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/functions/pre-transaction/getSolanaCalldataHash.mjs +22 -22
- package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
- package/functions/pre-transaction/sendV0Transaction.mjs +53 -50
- package/functions/pre-transaction/solana.cjs +1 -1
- package/functions/pre-transaction/solana.mjs +93 -93
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +3 -2
- package/functions/private-wallet/emporium.helpers.mjs +118 -93
- package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/functions/snarkjs/constructEmporiumProof.d.ts +1 -2
- package/functions/snarkjs/constructEmporiumProof.mjs +89 -89
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.mjs +6 -2
- package/functions/utils/bytes32.utils.cjs +1 -1
- package/functions/utils/bytes32.utils.mjs +8 -7
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +1 -1
- package/functions/utils/create-provider.mjs +13 -9
- package/functions/utils/index.d.ts +0 -1
- package/functions/utils/prepareHinkal.cjs +1 -1
- package/functions/utils/prepareHinkal.d.ts +6 -7
- package/functions/utils/prepareHinkal.mjs +45 -53
- package/functions/utils/publicBalance.utils.cjs +1 -1
- package/functions/utils/publicBalance.utils.mjs +49 -54
- package/functions/utils/socket.utils.cjs +1 -0
- package/functions/utils/socket.utils.d.ts +1 -0
- package/functions/utils/socket.utils.mjs +12 -0
- package/functions/utils/string.utils.cjs +1 -1
- package/functions/utils/string.utils.d.ts +1 -0
- package/functions/utils/string.utils.mjs +18 -14
- package/functions/utils/walletBalances.utils.cjs +1 -1
- package/functions/utils/walletBalances.utils.d.ts +1 -1
- package/functions/utils/walletBalances.utils.mjs +4 -4
- package/functions/web3/crypto.cjs +1 -0
- package/functions/web3/crypto.d.ts +1 -0
- package/functions/web3/crypto.mjs +7 -0
- package/functions/web3/events/getApprovedBalance.cjs +1 -1
- package/functions/web3/events/getApprovedBalance.mjs +14 -14
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.mjs +61 -59
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.mjs +32 -32
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +6 -3
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +17 -17
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.mjs +16 -16
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.mjs +13 -11
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.mjs +17 -22
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +20 -20
- package/functions/web3/index.d.ts +1 -0
- package/index.cjs +1 -1
- package/index.mjs +913 -890
- package/package.json +3 -2
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.mjs +2 -5
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +11 -4
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +11 -4
- package/types/activities.types.d.ts +2 -0
- package/types/bridging-tx.types.d.ts +17 -0
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +5 -1
- package/types/cache.types.mjs +1 -1
- package/types/ethereum-network.types.d.ts +1 -0
- package/types/events.types.cjs +1 -0
- package/types/events.types.d.ts +9 -0
- package/types/events.types.mjs +5 -0
- package/types/index.d.ts +2 -0
- package/types/proxy.types.d.ts +11 -4
- package/types/sandbox.types.d.ts +2 -0
- package/types/solana.types.d.ts +8 -0
- package/types/token.types.d.ts +5 -0
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/functions/kyc/authentoHelper.cjs +0 -1
- package/functions/kyc/authentoHelper.d.ts +0 -12
- package/functions/kyc/authentoHelper.mjs +0 -30
- package/functions/utils/get-hinkal-approvals.cjs +0 -1
- package/functions/utils/get-hinkal-approvals.d.ts +0 -3
- package/functions/utils/get-hinkal-approvals.mjs +0 -38
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { BN as
|
|
2
|
-
import { ethers as
|
|
1
|
+
import { BN as e } from "@coral-xyz/anchor";
|
|
2
|
+
import { ethers as B } from "ethers";
|
|
3
3
|
import { CIRCOM_P as I } from "../../constants/protocol.constants.mjs";
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
(n,
|
|
4
|
+
const x = (o, r, a, s, c, d, u, y) => {
|
|
5
|
+
const l = new e(c.toString()), b = new e(d.toString()), i = s.reduce(
|
|
6
|
+
(n, t) => [...n, ...new e(t.length).toArray("be", 8), ...t],
|
|
7
7
|
[]
|
|
8
|
-
),
|
|
9
|
-
const
|
|
10
|
-
...new t
|
|
11
|
-
...new t
|
|
12
|
-
...
|
|
13
|
-
...new t
|
|
14
|
-
...
|
|
8
|
+
), m = u.reduce((n, t) => {
|
|
9
|
+
const A = [
|
|
10
|
+
...new e(t.programIndex).toArray("be", 1),
|
|
11
|
+
...new e(t.accountIndexes.length).toArray("be", 8),
|
|
12
|
+
...t.accountIndexes,
|
|
13
|
+
...new e(t.data.length).toArray("be", 8),
|
|
14
|
+
...t.data
|
|
15
15
|
];
|
|
16
|
-
return [...n, ...
|
|
17
|
-
}, []),
|
|
18
|
-
(n,
|
|
16
|
+
return [...n, ...A];
|
|
17
|
+
}, []), g = y.reduce(
|
|
18
|
+
(n, t) => [...n, t.isWritable ? 1 : 0, ...t.pubkey.toBytes()],
|
|
19
19
|
[]
|
|
20
|
-
),
|
|
20
|
+
), p = [
|
|
21
21
|
o.tokenNumber,
|
|
22
22
|
o.nullifierAmount,
|
|
23
23
|
o.outputAmount,
|
|
24
24
|
...r.toBytes(),
|
|
25
25
|
...a.toBytes(),
|
|
26
|
-
...b,
|
|
27
|
-
...B.toBuffer("be", 8),
|
|
28
|
-
...l.toBuffer("be", 8),
|
|
29
26
|
...i,
|
|
30
|
-
...
|
|
27
|
+
...l.toArray("be", 8),
|
|
28
|
+
...b.toArray("be", 8),
|
|
29
|
+
...m,
|
|
30
|
+
...g
|
|
31
31
|
];
|
|
32
|
-
return BigInt(
|
|
32
|
+
return BigInt(B.utils.sha256(p)) % I;
|
|
33
33
|
};
|
|
34
34
|
export {
|
|
35
|
-
|
|
35
|
+
x as getSolanaCalldataHash
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@solana/spl-token"),r=require("@solana/web3.js"),T=require("../../constants/protocol.constants.cjs"),U=require("../utils/ethers-formatter.utils.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@solana/spl-token"),r=require("@solana/web3.js"),T=require("../../constants/protocol.constants.cjs"),U=require("../utils/ethers-formatter.utils.cjs"),M=require("../../data-structures/AccountActions/AccountActions.cjs"),_=async(t,s,e,a)=>{try{const{blockhash:n}=await t.getLatestBlockhash(),o=[r.ComputeBudgetProgram.setComputeUnitLimit({units:T.MAX_COMPUTE_UNIT_LIMIT}),...e],i=new r.TransactionMessage({payerKey:s,recentBlockhash:n,instructions:o}).compileToV0Message(a),c=new r.VersionedTransaction(i),u=await t.simulateTransaction(c,{sigVerify:!1,replaceRecentBlockhash:!0}),{unitsConsumed:m}=u.value;if(!m)return T.MAX_COMPUTE_UNIT_LIMIT;const l=Math.ceil(m*(1+T.COMPUTE_UNIT_PADDING_PERCENTAGE));return Math.max(T.MIN_COMPUTE_UNIT_LIMIT,Math.min(l,T.MAX_COMPUTE_UNIT_LIMIT))}catch{return T.MAX_COMPUTE_UNIT_LIMIT}},I=async(t,s,e,a)=>{const n=e.filter(u=>!u.programId.equals(r.ComputeBudgetProgram.programId)),o=await _(t,s,n,a),i=r.ComputeBudgetProgram.setComputeUnitLimit({units:o}),c=r.ComputeBudgetProgram.setComputeUnitPrice({microLamports:T.MICRO_LAMPORTS_PER_CU});return[i,c,...n]},A=async(t,s,e,a,n)=>{if(s.length===0)return"";const{blockhash:o,lastValidBlockHeight:i}=await t.getLatestBlockhash("confirmed"),c=await I(t,e.publicKey,s,n),u=new r.TransactionMessage({payerKey:e.publicKey,instructions:c,recentBlockhash:o}).compileToV0Message(n),m=new r.VersionedTransaction(u);m.sign(a);const l=await t.sendTransaction(m);return await t.confirmTransaction({signature:l,blockhash:o,lastValidBlockHeight:i},"confirmed"),l},V=async(t,s,e,a)=>{if(!e)return null;const n=await d.getAssociatedTokenAddress(e,a,!0,d.TOKEN_PROGRAM_ID,d.ASSOCIATED_TOKEN_PROGRAM_ID);if(!await t.getAccountInfo(n)){const i=d.createAssociatedTokenAccountInstruction(s.publicKey,n,a,e,d.TOKEN_PROGRAM_ID,d.ASSOCIATED_TOKEN_PROGRAM_ID);await A(t,[i],s,[s])}return n},y=async({connection:t,chainId:s,subAccount:e,payerPublicKey:a,instructions:n,lookupTableAccounts:o,convertParams:i})=>{const{blockhash:c,lastValidBlockHeight:u}=await t.getLatestBlockhash(),m=await I(t,a,n,o),l=new r.TransactionMessage({payerKey:a,recentBlockhash:c,instructions:m}).compileToV0Message(o),p=new r.VersionedTransaction(l),h=M.AccountActions.getPrivateKeyFromSubAccount(s,e);if(!h)throw Error("Private key is not available");const g=await M.AccountActions.sendAndSignTransactionFromPrivateKey(s,h,p);await t.confirmTransaction({signature:g,blockhash:c,lastValidBlockHeight:u},"confirmed");const f=await t.getTransaction(g,{commitment:"confirmed",maxSupportedTransactionVersion:0}),{fromAddress:w,toAddress:P,programAddress:C}=i;return U.convertSolanaTransactionToRelayer(g,f,w,P,C)},E=async(t,s,e,a)=>{const{blockhash:n}=await t.getLatestBlockhash(),o=await I(t,s,e,a),i=new r.TransactionMessage({payerKey:s,recentBlockhash:n,instructions:o}).compileToV0Message(a),c=new r.VersionedTransaction(i);return Buffer.from(c.serialize()).toString("base64")};exports.ensureAtaExists=V;exports.estimateComputeUnitLimit=_;exports.sendProxyV0Transaction=y;exports.sendV0Transaction=A;exports.serializeProxyV0Transaction=E;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { getAssociatedTokenAddress as
|
|
1
|
+
import { getAssociatedTokenAddress as B, TOKEN_PROGRAM_ID as I, ASSOCIATED_TOKEN_PROGRAM_ID as w, createAssociatedTokenAccountInstruction as C } from "@solana/spl-token";
|
|
2
2
|
import { ComputeBudgetProgram as d, TransactionMessage as h, VersionedTransaction as g } from "@solana/web3.js";
|
|
3
|
-
import { MAX_COMPUTE_UNIT_LIMIT as l, COMPUTE_UNIT_PADDING_PERCENTAGE as
|
|
4
|
-
import { convertSolanaTransactionToRelayer as
|
|
5
|
-
import {
|
|
6
|
-
const
|
|
3
|
+
import { MAX_COMPUTE_UNIT_LIMIT as l, COMPUTE_UNIT_PADDING_PERCENTAGE as k, MIN_COMPUTE_UNIT_LIMIT as L, MICRO_LAMPORTS_PER_CU as P } from "../../constants/protocol.constants.mjs";
|
|
4
|
+
import { convertSolanaTransactionToRelayer as E } from "../utils/ethers-formatter.utils.mjs";
|
|
5
|
+
import { AccountActions as A } from "../../data-structures/AccountActions/AccountActions.mjs";
|
|
6
|
+
const R = async (t, s, n, e) => {
|
|
7
7
|
try {
|
|
8
|
-
const { blockhash:
|
|
8
|
+
const { blockhash: a } = await t.getLatestBlockhash(), o = [
|
|
9
9
|
d.setComputeUnitLimit({ units: l }),
|
|
10
10
|
...n
|
|
11
11
|
], i = new h({
|
|
12
|
-
payerKey:
|
|
13
|
-
recentBlockhash:
|
|
12
|
+
payerKey: s,
|
|
13
|
+
recentBlockhash: a,
|
|
14
14
|
instructions: o
|
|
15
15
|
}).compileToV0Message(e), r = new g(i), c = await t.simulateTransaction(r, {
|
|
16
16
|
sigVerify: !1,
|
|
@@ -18,104 +18,107 @@ const P = async (t, a, n, e) => {
|
|
|
18
18
|
}), { unitsConsumed: m } = c.value;
|
|
19
19
|
if (!m)
|
|
20
20
|
return l;
|
|
21
|
-
const u = Math.ceil(m * (1 +
|
|
22
|
-
return Math.max(
|
|
21
|
+
const u = Math.ceil(m * (1 + k));
|
|
22
|
+
return Math.max(L, Math.min(u, l));
|
|
23
23
|
} catch {
|
|
24
24
|
return l;
|
|
25
25
|
}
|
|
26
|
-
},
|
|
27
|
-
const
|
|
26
|
+
}, T = async (t, s, n, e) => {
|
|
27
|
+
const a = n.filter(
|
|
28
28
|
(c) => !c.programId.equals(d.programId)
|
|
29
|
-
), o = await
|
|
29
|
+
), o = await R(
|
|
30
30
|
t,
|
|
31
|
-
a,
|
|
32
31
|
s,
|
|
32
|
+
a,
|
|
33
33
|
e
|
|
34
34
|
), i = d.setComputeUnitLimit({ units: o }), r = d.setComputeUnitPrice({
|
|
35
|
-
microLamports:
|
|
35
|
+
microLamports: P
|
|
36
36
|
});
|
|
37
|
-
return [i, r, ...
|
|
38
|
-
},
|
|
39
|
-
if (
|
|
37
|
+
return [i, r, ...a];
|
|
38
|
+
}, O = async (t, s, n, e, a) => {
|
|
39
|
+
if (s.length === 0)
|
|
40
40
|
return "";
|
|
41
|
-
const { blockhash: o, lastValidBlockHeight: i } = await t.getLatestBlockhash("confirmed"), r = await
|
|
41
|
+
const { blockhash: o, lastValidBlockHeight: i } = await t.getLatestBlockhash("confirmed"), r = await T(
|
|
42
42
|
t,
|
|
43
43
|
n.publicKey,
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
s,
|
|
45
|
+
a
|
|
46
46
|
), c = new h({
|
|
47
47
|
payerKey: n.publicKey,
|
|
48
48
|
instructions: r,
|
|
49
49
|
recentBlockhash: o
|
|
50
|
-
}).compileToV0Message(
|
|
50
|
+
}).compileToV0Message(a), m = new g(c);
|
|
51
51
|
m.sign(e);
|
|
52
52
|
const u = await t.sendTransaction(m);
|
|
53
53
|
return await t.confirmTransaction({ signature: u, blockhash: o, lastValidBlockHeight: i }, "confirmed"), u;
|
|
54
|
-
}, D = async (t,
|
|
54
|
+
}, D = async (t, s, n, e) => {
|
|
55
55
|
if (!n)
|
|
56
56
|
return null;
|
|
57
|
-
const
|
|
58
|
-
if (!await t.getAccountInfo(
|
|
59
|
-
const i =
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
const a = await B(n, e, !0, I, w);
|
|
58
|
+
if (!await t.getAccountInfo(a)) {
|
|
59
|
+
const i = C(
|
|
60
|
+
s.publicKey,
|
|
61
|
+
a,
|
|
62
62
|
e,
|
|
63
63
|
n,
|
|
64
64
|
I,
|
|
65
|
-
|
|
65
|
+
w
|
|
66
66
|
);
|
|
67
|
-
await
|
|
67
|
+
await O(t, [i], s, [s]);
|
|
68
68
|
}
|
|
69
|
-
return
|
|
70
|
-
},
|
|
69
|
+
return a;
|
|
70
|
+
}, G = async ({
|
|
71
71
|
connection: t,
|
|
72
|
-
chainId:
|
|
72
|
+
chainId: s,
|
|
73
73
|
subAccount: n,
|
|
74
74
|
payerPublicKey: e,
|
|
75
|
-
instructions:
|
|
75
|
+
instructions: a,
|
|
76
76
|
lookupTableAccounts: o,
|
|
77
77
|
convertParams: i
|
|
78
78
|
}) => {
|
|
79
|
-
const { blockhash: r, lastValidBlockHeight: c } = await t.getLatestBlockhash(), m = await
|
|
79
|
+
const { blockhash: r, lastValidBlockHeight: c } = await t.getLatestBlockhash(), m = await T(
|
|
80
80
|
t,
|
|
81
81
|
e,
|
|
82
|
-
|
|
82
|
+
a,
|
|
83
83
|
o
|
|
84
84
|
), u = new h({
|
|
85
85
|
payerKey: e,
|
|
86
86
|
recentBlockhash: r,
|
|
87
87
|
instructions: m
|
|
88
|
-
}).compileToV0Message(o),
|
|
88
|
+
}).compileToV0Message(o), M = new g(u), p = A.getPrivateKeyFromSubAccount(s, n);
|
|
89
|
+
if (!p)
|
|
90
|
+
throw Error("Private key is not available");
|
|
91
|
+
const f = await A.sendAndSignTransactionFromPrivateKey(s, p, M);
|
|
89
92
|
await t.confirmTransaction(
|
|
90
93
|
{
|
|
91
|
-
signature:
|
|
94
|
+
signature: f,
|
|
92
95
|
blockhash: r,
|
|
93
96
|
lastValidBlockHeight: c
|
|
94
97
|
},
|
|
95
98
|
"confirmed"
|
|
96
99
|
);
|
|
97
|
-
const
|
|
100
|
+
const _ = await t.getTransaction(f, {
|
|
98
101
|
commitment: "confirmed",
|
|
99
102
|
maxSupportedTransactionVersion: 0
|
|
100
|
-
}), { fromAddress:
|
|
101
|
-
return
|
|
102
|
-
},
|
|
103
|
-
const { blockhash:
|
|
103
|
+
}), { fromAddress: V, toAddress: y, programAddress: U } = i;
|
|
104
|
+
return E(f, _, V, y, U);
|
|
105
|
+
}, b = async (t, s, n, e) => {
|
|
106
|
+
const { blockhash: a } = await t.getLatestBlockhash(), o = await T(
|
|
104
107
|
t,
|
|
105
|
-
|
|
108
|
+
s,
|
|
106
109
|
n,
|
|
107
110
|
e
|
|
108
111
|
), i = new h({
|
|
109
|
-
payerKey:
|
|
110
|
-
recentBlockhash:
|
|
112
|
+
payerKey: s,
|
|
113
|
+
recentBlockhash: a,
|
|
111
114
|
instructions: o
|
|
112
115
|
}).compileToV0Message(e), r = new g(i);
|
|
113
116
|
return Buffer.from(r.serialize()).toString("base64");
|
|
114
117
|
};
|
|
115
118
|
export {
|
|
116
119
|
D as ensureAtaExists,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
R as estimateComputeUnitLimit,
|
|
121
|
+
G as sendProxyV0Transaction,
|
|
122
|
+
O as sendV0Transaction,
|
|
123
|
+
b as serializeProxyV0Transaction
|
|
121
124
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@coral-xyz/anchor"),r=require("@solana/web3.js"),l=require("../../crypto/poseidon.cjs"),s=e=>new TextEncoder().encode(e),i=e=>{const t=[];let c=e;for(;c>0n;)t.unshift(Number(c%256n)),c/=256n;for(;t.length<32;)t.unshift(0);return t},d=e=>({extraRandomization:i(e.extraRandomization),stealthAddress:i(e.stealthAddress),h0:i(e.H0),h1:i(e.H1)}),A=(e,t,c)=>{const n=i(e),o=[s("hinkal_nullifier"),t.toBytes(),new Uint8Array(n)],[u]=r.PublicKey.findProgramAddressSync(o,c);return u},g=(e,t)=>{const c=[s("hinkal"),t.toBytes()],[n]=r.PublicKey.findProgramAddressSync(c,e);return n},P=(e,t)=>{const c=[s("hinkal_merkle"),t.toBytes()],[n]=r.PublicKey.findProgramAddressSync(c,e);return n},b=(e,t)=>{const c=[s("hinkal_merkle_access_token"),t.toBytes()],[n]=r.PublicKey.findProgramAddressSync(c,e);return n},K=(e,t)=>{const c=[s("hinkal_access_token"),t.toBytes()],[n]=r.PublicKey.findProgramAddressSync(c,e);return n},a=(e,t,c)=>{const n=[s("hinkal_swapper"),t.toBytes(),new Uint8Array(new y.BN(c.toString()).toArray("be",32))],[o]=r.PublicKey.findProgramAddressSync(n,e);return o},S=(e,t,c)=>{const n=l.poseidonFunction(c);return a(e,t,n)},k=(e,t)=>{const c=[s("hinkal_vault"),t.toBytes()],[n]=r.PublicKey.findProgramAddressSync(c,e);return n},f=(e,t,c)=>{const n=i(e),o=[s("hinkal_access_keys"),c.toBytes(),new Uint8Array(n)],[u]=r.PublicKey.findProgramAddressSync(o,t);return u},p=(e,t,c,n)=>{const o=[s("hinkal_proof_part1"),t.toBytes(),c.toBytes(),new Uint8Array(new y.BN(n.toString()).toArray("be",4))],[u]=r.PublicKey.findProgramAddressSync(o,e);return u},h=(e,t,c,n)=>{const o=[s("hinkal_proof_part2"),t.toBytes(),c.toBytes(),new Uint8Array(new y.BN(n.toString()).toArray("be",4))],[u]=r.PublicKey.findProgramAddressSync(o,e);return u},B=(e,t,c,n)=>{const o=[s("hinkal_encrypted_outputs"),t.toBytes(),c.toBytes(),new Uint8Array(new y.BN(n.toString()).toArray("be",4))],[u]=r.PublicKey.findProgramAddressSync(o,e);return u},m=(e,t,c)=>{const n=[s("hinkal_token_limit"),t.toBytes(),c.toBytes()],[o]=r.PublicKey.findProgramAddressSync(n,e);return o},w=(e,t,c,n)=>{const o=[s("hinkal_instructions"),t.toBytes(),c.toBytes(),new Uint8Array(new y.BN(n.toString()).toArray("be",4))],[u]=r.PublicKey.findProgramAddressSync(o,e);return u};exports.buildAnchorStealthAddressStructure=d;exports.encodeToByte32Array=i;exports.getAccessTokenAccountPublicKey=f;exports.getAccessTokenMerkleAccountPublicKey=b;exports.getAccessTokenStorageAccountPublicKey=K;exports.getEncryptedOutputsAccountPublicKey=B;exports.getInstructionsAccountPublicKey=w;exports.getMerkleAccountPublicKey=P;exports.getNullifierAccount=A;exports.getProofAccountPart1PublicKey=p;exports.getProofAccountPart2PublicKey=h;exports.getStorageAccountPublicKey=g;exports.getStorageVaultPublicKey=k;exports.getSwapperAccountPublicKey=a;exports.getSwapperAccountPublicKeyFromSalt=S;exports.getTokenLimitStorageAccountPublicKey=m;
|
|
@@ -1,105 +1,105 @@
|
|
|
1
1
|
import { BN as u } from "@coral-xyz/anchor";
|
|
2
|
-
import { PublicKey as
|
|
3
|
-
import { poseidonFunction as
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
let
|
|
7
|
-
for (;
|
|
8
|
-
|
|
9
|
-
for (;
|
|
10
|
-
|
|
11
|
-
return
|
|
12
|
-
},
|
|
13
|
-
extraRandomization:
|
|
14
|
-
stealthAddress:
|
|
15
|
-
h0:
|
|
16
|
-
h1:
|
|
17
|
-
}),
|
|
18
|
-
const
|
|
2
|
+
import { PublicKey as r } from "@solana/web3.js";
|
|
3
|
+
import { poseidonFunction as d } from "../../crypto/poseidon.mjs";
|
|
4
|
+
const c = (t) => new TextEncoder().encode(t), a = (t) => {
|
|
5
|
+
const e = [];
|
|
6
|
+
let n = t;
|
|
7
|
+
for (; n > 0n; )
|
|
8
|
+
e.unshift(Number(n % 256n)), n /= 256n;
|
|
9
|
+
for (; e.length < 32; )
|
|
10
|
+
e.unshift(0);
|
|
11
|
+
return e;
|
|
12
|
+
}, P = (t) => ({
|
|
13
|
+
extraRandomization: a(t.extraRandomization),
|
|
14
|
+
stealthAddress: a(t.stealthAddress),
|
|
15
|
+
h0: a(t.H0),
|
|
16
|
+
h1: a(t.H1)
|
|
17
|
+
}), k = (t, e, n) => {
|
|
18
|
+
const o = a(t), s = [c("hinkal_nullifier"), e.toBytes(), new Uint8Array(o)], [i] = r.findProgramAddressSync(s, n);
|
|
19
|
+
return i;
|
|
20
|
+
}, S = (t, e) => {
|
|
21
|
+
const n = [c("hinkal"), e.toBytes()], [o] = r.findProgramAddressSync(n, t);
|
|
22
|
+
return o;
|
|
23
|
+
}, f = (t, e) => {
|
|
24
|
+
const n = [c("hinkal_merkle"), e.toBytes()], [o] = r.findProgramAddressSync(n, t);
|
|
25
|
+
return o;
|
|
26
|
+
}, m = (t, e) => {
|
|
27
|
+
const n = [c("hinkal_merkle_access_token"), e.toBytes()], [o] = r.findProgramAddressSync(n, t);
|
|
28
|
+
return o;
|
|
29
|
+
}, p = (t, e) => {
|
|
30
|
+
const n = [c("hinkal_access_token"), e.toBytes()], [o] = r.findProgramAddressSync(n, t);
|
|
31
|
+
return o;
|
|
32
|
+
}, y = (t, e, n) => {
|
|
33
|
+
const o = [
|
|
34
|
+
c("hinkal_swapper"),
|
|
35
|
+
e.toBytes(),
|
|
36
|
+
new Uint8Array(new u(n.toString()).toArray("be", 32))
|
|
37
|
+
], [s] = r.findProgramAddressSync(o, t);
|
|
19
38
|
return s;
|
|
20
|
-
},
|
|
21
|
-
const o =
|
|
22
|
-
return
|
|
23
|
-
},
|
|
24
|
-
const
|
|
25
|
-
return
|
|
26
|
-
},
|
|
27
|
-
const o = [
|
|
28
|
-
return
|
|
29
|
-
},
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
t.toBytes(),
|
|
36
|
-
new u(o.toString()).toBuffer("be", 32)
|
|
37
|
-
], [n] = c.findProgramAddressSync(r, e);
|
|
38
|
-
return n;
|
|
39
|
-
}, S = (e, t, o) => {
|
|
40
|
-
const r = i(o);
|
|
41
|
-
return d(e, t, r);
|
|
42
|
-
}, p = (e, t) => {
|
|
43
|
-
const o = [Buffer.from("hinkal_vault"), t.toBuffer()], [r] = c.findProgramAddressSync(o, e);
|
|
44
|
-
return r;
|
|
45
|
-
}, h = (e, t, o) => {
|
|
46
|
-
const r = f(e), n = [Buffer.from("hinkal_access_keys"), o.toBuffer(), Buffer.from(r)], [s] = c.findProgramAddressSync(n, t);
|
|
47
|
-
return s;
|
|
48
|
-
}, b = (e, t, o, r) => {
|
|
49
|
-
const n = [
|
|
50
|
-
Buffer.from("hinkal_proof_part1"),
|
|
51
|
-
t.toBuffer(),
|
|
52
|
-
o.toBuffer(),
|
|
53
|
-
new u(r.toString()).toBuffer("be", 4)
|
|
39
|
+
}, h = (t, e, n) => {
|
|
40
|
+
const o = d(n);
|
|
41
|
+
return y(t, e, o);
|
|
42
|
+
}, B = (t, e) => {
|
|
43
|
+
const n = [c("hinkal_vault"), e.toBytes()], [o] = r.findProgramAddressSync(n, t);
|
|
44
|
+
return o;
|
|
45
|
+
}, b = (t, e, n) => {
|
|
46
|
+
const o = a(t), s = [c("hinkal_access_keys"), n.toBytes(), new Uint8Array(o)], [i] = r.findProgramAddressSync(s, e);
|
|
47
|
+
return i;
|
|
48
|
+
}, w = (t, e, n, o) => {
|
|
49
|
+
const s = [
|
|
50
|
+
c("hinkal_proof_part1"),
|
|
51
|
+
e.toBytes(),
|
|
52
|
+
n.toBytes(),
|
|
53
|
+
new Uint8Array(new u(o.toString()).toArray("be", 4))
|
|
54
54
|
// 4 here because type of id is u32
|
|
55
|
-
], [
|
|
56
|
-
return
|
|
57
|
-
}, _ = (e,
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
new u(
|
|
55
|
+
], [i] = r.findProgramAddressSync(s, t);
|
|
56
|
+
return i;
|
|
57
|
+
}, _ = (t, e, n, o) => {
|
|
58
|
+
const s = [
|
|
59
|
+
c("hinkal_proof_part2"),
|
|
60
|
+
e.toBytes(),
|
|
61
|
+
n.toBytes(),
|
|
62
|
+
new Uint8Array(new u(o.toString()).toArray("be", 4))
|
|
63
63
|
// 4 here because type of id is u32
|
|
64
|
-
], [
|
|
65
|
-
return
|
|
66
|
-
}, K = (e,
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
new u(
|
|
64
|
+
], [i] = r.findProgramAddressSync(s, t);
|
|
65
|
+
return i;
|
|
66
|
+
}, K = (t, e, n, o) => {
|
|
67
|
+
const s = [
|
|
68
|
+
c("hinkal_encrypted_outputs"),
|
|
69
|
+
e.toBytes(),
|
|
70
|
+
n.toBytes(),
|
|
71
|
+
new Uint8Array(new u(o.toString()).toArray("be", 4))
|
|
72
72
|
// 4 here because type of id is u32
|
|
73
|
-
], [
|
|
73
|
+
], [i] = r.findProgramAddressSync(s, t);
|
|
74
|
+
return i;
|
|
75
|
+
}, T = (t, e, n) => {
|
|
76
|
+
const o = [c("hinkal_token_limit"), e.toBytes(), n.toBytes()], [s] = r.findProgramAddressSync(o, t);
|
|
74
77
|
return s;
|
|
75
|
-
},
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
t.toBuffer(),
|
|
82
|
-
o.toBuffer(),
|
|
83
|
-
new u(r.toString()).toBuffer("be", 4)
|
|
78
|
+
}, U = (t, e, n, o) => {
|
|
79
|
+
const s = [
|
|
80
|
+
c("hinkal_instructions"),
|
|
81
|
+
e.toBytes(),
|
|
82
|
+
n.toBytes(),
|
|
83
|
+
new Uint8Array(new u(o.toString()).toArray("be", 4))
|
|
84
84
|
// 4 here because type of id is u32
|
|
85
|
-
], [
|
|
86
|
-
return
|
|
85
|
+
], [i] = r.findProgramAddressSync(s, t);
|
|
86
|
+
return i;
|
|
87
87
|
};
|
|
88
88
|
export {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
P as buildAnchorStealthAddressStructure,
|
|
90
|
+
a as encodeToByte32Array,
|
|
91
|
+
b as getAccessTokenAccountPublicKey,
|
|
92
|
+
m as getAccessTokenMerkleAccountPublicKey,
|
|
93
|
+
p as getAccessTokenStorageAccountPublicKey,
|
|
94
94
|
K as getEncryptedOutputsAccountPublicKey,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
U as getInstructionsAccountPublicKey,
|
|
96
|
+
f as getMerkleAccountPublicKey,
|
|
97
|
+
k as getNullifierAccount,
|
|
98
|
+
w as getProofAccountPart1PublicKey,
|
|
99
99
|
_ as getProofAccountPart2PublicKey,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
S as getStorageAccountPublicKey,
|
|
101
|
+
B as getStorageVaultPublicKey,
|
|
102
|
+
y as getSwapperAccountPublicKey,
|
|
103
|
+
h as getSwapperAccountPublicKeyFromSalt,
|
|
104
|
+
T as getTokenLimitStorageAccountPublicKey
|
|
105
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("ethers"),p=require("../../constants/protocol.constants.cjs"),q=require("../../types/ethereum-network.types.cjs");require("idb-keyval");const A=require("../../constants/chains.constants.cjs"),F=require("../utils/create-provider.cjs");require("../../constants/token-data/index.cjs");require("../../error-handling/error-codes.constants.cjs");require("../utils/convertIntegrationProviderToExternalActionId.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("circomlibjs-hinkal-fork");require("../../data-structures/crypto-keys/keys.cjs");require("../../constants/server.constants.cjs");require("../../API/getServerURL.cjs");require("../../data-structures/http/HttpClient.cjs");require("axios");require("../../constants/vite.constants.cjs");const g=require("../utils/caseInsensitive.utils.cjs"),I=require("../../error-handling/logger.cjs");require("@solana/web3.js");require("@coral-xyz/anchor");require("@solana/spl-token");const v=require("../../data-structures/AccountActions/AccountActions.cjs");require("buffer");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../utils/userAgent.cjs");require("libsodium-wrappers");require("multiformats");require("../../API/enclaveCalls.cjs");require("async-mutex");require("process");require("../../providers/EthersProviderAdapter.cjs");const z=require("ethers-v6h"),m=({contract:e,func:t,args:n,callDataString:r,invokeWallet:s,value:o})=>{let i=new Uint8Array,a=r?u.utils.arrayify(r):new Uint8Array;if(typeof e=="object"&&"address"in e){if(i=u.utils.arrayify(e.address),r?.length&&r?.length>0)throw Error("If function and args are providedm no calldata is needed");t&&n&&!r&&(a=u.utils.arrayify(e.interface.encodeFunctionData(t,n)))}else i=u.utils.arrayify(e);const d=u.utils.arrayify([s?1:0]),c=u.utils.zeroPad(u.utils.arrayify(u.BigNumber.from(o??0n)),16),l=u.utils.concat([i,d,c,a]);return u.utils.hexlify(l)},W=async(e,t,n,r,s,o)=>{const i=n?await v.AccountActions.signTypedDataFromPrivateKey(e,n,{name:"Emporium",version:"1.0.0",chainId:e,verifyingContract:t},{EmporiumSignature:[{name:"message",type:"uint256"}]},{message:s}):void 0,{v:a,r:d,s:c}=i?u.utils.splitSignature(i):{v:0,r:u.ethers.constants.HashZero,s:u.ethers.constants.HashZero};return u.utils.defaultAbiCoder.encode(["tuple(uint8 v,bytes32 r, bytes32 s, uint256 message, address signerAddress, bytes[] ops)"],[{v:a,r:d,s:c,message:s??0n,signerAddress:o??p.zeroAddress,ops:r}])},y=(e,t,n,r)=>m(e?{contract:e,func:"transfer",args:[t,n],invokeWallet:r}:{contract:t,value:n,invokeWallet:r}),B=(e,t,n,r,s)=>{const o=e.getContractWithFetcher(t,q.ContractType.HinkalContract);return n.map((i,a)=>{const d=g.caseInsensitiveEqual(i,p.zeroAddress)?void 0:e.getContractWithFetcher(t,q.ContractType.ERC20Contract,i);return y(d,s??o.address,r[a],!0)})},E=(e,t,n,r)=>m({contract:e,func:"approve",args:[t,n],invokeWallet:r}),C=(e,t,n,r,s,o,i,a)=>{const d=[];for(let c=0;c<n.length;c+=1){const l=n[c],h=g.caseInsensitiveEqual(l,p.zeroAddress)?void 0:e.getContractWithFetcher(t,q.ContractType.ERC20Contract,l);d.push(y(h,i,r[c],!1))}if(a)for(let c=0;c<s.length;c+=1){const l=s[c];if(!g.caseInsensitiveEqual(l,p.zeroAddress)){const h=e.getContractWithFetcher(t,q.ContractType.ERC20Contract,l);d.push(E(h,a,o[c],!0))}}return d},T=(e,t,n,r,s,o,i,a)=>{const d=[],c=[s],l=[o];a.nativeFee>0n&&!g.caseInsensitiveEqual(s,p.zeroAddress)&&(c.push(p.zeroAddress),l.push(a.nativeFee));const w=C(e,t,c,l,[s],[i],n,r);d.push(...w);let f=a.nativeFee;return g.caseInsensitiveEqual(s,p.zeroAddress)&&(f+=i),d.push(m({contract:r,callDataString:a.calldata,value:f>0n?f:void 0,invokeWallet:!0})),d},k="0xef0100",O=async(e,t)=>{try{const n=F.createCustomRpcProvider(e),r=await n.getCode(t);if(r==="0x"||!r)return{delegated:!1,implementation:void 0,nonce:void 0};if(r.toLowerCase().startsWith(k)&&r.length===48){const s=`0x${r.slice(8)}`,o=await n.getTransactionCount(t);return{delegated:!0,implementation:u.utils.getAddress(s),nonce:o}}else throw Error("checkEOAWithDelegation: It is a contract")}catch(n){throw I.Logger.error("checkEOAWithDelegation error",{error:n}),n}},D=e=>{const{hinkalWalletAddress:t}=A.networkRegistry[e].contractData;if(!t||g.caseInsensitiveEqual(t,p.zeroAddress))throw Error("Hinkal Wallet Address is not set");return t},b=async(e,t)=>{if(e===A.chainIds.localhost||!t)return;const n=v.AccountActions.getSignerAddressFromPrivateKey(e,t),{delegated:r,implementation:s}=await O(e,n),o=D(e);if(!r||!g.caseInsensitiveEqual(s,o)){const i=await v.AccountActions.authorizeDelegation(e,t,o);return{v:i.signature.v.toString(),r:i.signature.r,s:i.signature.s,nonce:i.nonce.toString(),address:o,chainId:String(e)}}},P=e=>{if(!e)return;const{v:t,r:n,s:r,nonce:s,chainId:o,address:i}=e;return{signature:z.ethers.Signature.from({v:t,r:n,s:r}),nonce:BigInt(s),chainId:BigInt(o),address:i}};exports.checkEOAWithDelegation=O;exports.createApproveEmporiumOp=E;exports.createLifiBridgeOps=T;exports.createTransaferEmporiumOpsBatch=B;exports.createTransferToEmporiumOp=y;exports.emporiumOp=m;exports.encodeEmporiumMetadata=W;exports.generateFundAndApproveOps=C;exports.getAuthorizationDataIfNeeded=b;exports.recoverAuthorizationData=P;
|
|
@@ -2,6 +2,7 @@ import { Contract, ContractTransaction, ethers } from 'ethers';
|
|
|
2
2
|
import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
|
|
3
3
|
import { type AuthorizationData } from '../../types/hinkal.types';
|
|
4
4
|
import { ethers as ethersV6 } from 'ethers-v6h';
|
|
5
|
+
import { BridgeQuote } from '../../types/bridging-tx.types';
|
|
5
6
|
export declare const emporiumOp: <ContractInstance extends Contract, ContractFunctions extends ContractInstance["functions"], ExactFunction extends { [K in keyof ContractFunctions]: ReturnType<ContractFunctions[K]> extends Promise<ContractTransaction> ? K : never; }[keyof ContractFunctions], FunctionArguments extends Parameters<ContractFunctions[ExactFunction]>>({ contract, func, args, callDataString, invokeWallet, value, }: {
|
|
6
7
|
contract: ContractInstance | string;
|
|
7
8
|
func?: ExactFunction | undefined;
|
|
@@ -14,8 +15,8 @@ export declare const encodeEmporiumMetadata: (chainId: number, emporiumAddress:
|
|
|
14
15
|
export declare const createTransferToEmporiumOp: (tokenContract: ethers.Contract | undefined, to: string, amount: bigint, invokeWallet: boolean) => string;
|
|
15
16
|
export declare const createTransaferEmporiumOpsBatch: (hinkal: IHinkal, chainId: number, erc20TokenAddresses: string[], amounts: bigint[], to?: string) => string[];
|
|
16
17
|
export declare const createApproveEmporiumOp: (tokenContract: ethers.Contract, to: string, amount: bigint, invokeWallet: boolean) => string;
|
|
17
|
-
export declare const
|
|
18
|
-
export declare const
|
|
18
|
+
export declare const generateFundAndApproveOps: (hinkal: IHinkal, chainId: number, erc20AddressesToFund: string[], fundAmounts: bigint[], approveTokenAddresses: string[], approveAmounts: bigint[], walletAddress: string, spenderAddress: string | undefined) => string[];
|
|
19
|
+
export declare const createLifiBridgeOps: (hinkal: IHinkal, chainId: number, fromAddress: string, lifiRouterAddress: string, tokenAddress: string, fundAmount: bigint, bridgeAmount: bigint, quote: BridgeQuote) => string[];
|
|
19
20
|
export declare const checkEOAWithDelegation: (chainId: number, eoaAddress: string) => Promise<{
|
|
20
21
|
delegated: boolean;
|
|
21
22
|
implementation: undefined;
|