@hinkal/common 0.2.22 → 0.2.23
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/proxyAccountsCalls.cjs +1 -1
- package/API/proxyAccountsCalls.mjs +13 -13
- package/README.md +63 -267
- package/constants/activity.constants.cjs +1 -1
- package/constants/activity.constants.mjs +0 -1
- package/constants/addresses.constants.cjs +1 -1
- package/constants/addresses.constants.mjs +9 -10
- package/constants/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.d.ts +3 -3
- package/constants/contracts.constants.mjs +29 -29
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.mjs +28 -29
- package/constants/tasks.constants.cjs +1 -1
- package/constants/tasks.constants.mjs +4 -5
- package/crypto/poseidon.cjs +1 -1
- package/crypto/poseidon.mjs +10 -10
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +24 -24
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.mjs +4 -5
- package/data-structures/Hinkal/IHinkal.d.ts +2 -2
- package/data-structures/Hinkal/hinkalApprove.cjs +1 -1
- package/data-structures/Hinkal/hinkalApprove.mjs +40 -40
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +7 -8
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.mjs +4 -5
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +2 -3
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +18 -19
- package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +3 -4
- package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -1
- package/data-structures/Hinkal/hinkalInsideTransact.mjs +14 -13
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +2 -3
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +27 -26
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +38 -39
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +16 -17
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +24 -25
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +15 -16
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +2 -3
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +2 -3
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +9 -10
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +8 -9
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +10 -10
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.mjs +39 -41
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +8 -9
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +21 -23
- package/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/data-structures/IndexedDB/signatures-db.mjs +2 -3
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +34 -36
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.mjs +45 -45
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +28 -27
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +2 -3
- package/data-structures/crypto-keys/keys.mjs +56 -57
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractEventService.mjs +14 -14
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +2 -3
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +5 -4
- package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.mjs +6 -3
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +22 -18
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +2 -2
- package/data-structures/presale/PresaleContractWrapper.cjs +1 -1
- package/data-structures/presale/PresaleContractWrapper.d.ts +3 -3
- package/data-structures/presale/PresaleContractWrapper.mjs +10 -10
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +7 -7
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +16 -14
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +7 -5
- package/error-handling/get-error.message.cjs +1 -1
- package/error-handling/get-error.message.mjs +2 -3
- package/functions/kyc/zkMeHelper.cjs +1 -1
- package/functions/kyc/zkMeHelper.mjs +3 -3
- package/functions/pre-transaction/getFlatFees.cjs +1 -1
- package/functions/pre-transaction/getFlatFees.mjs +2 -3
- package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/functions/pre-transaction/getSolanaCalldataHash.mjs +21 -21
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +2 -3
- package/functions/pre-transaction/interaction-to-action.cjs +1 -1
- package/functions/pre-transaction/interaction-to-action.mjs +2 -3
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +6 -7
- package/functions/private-wallet/emporium.helpers.mjs +104 -105
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.swap.helpers.mjs +44 -43
- package/functions/private-wallet/opProducer.cjs +1 -1
- package/functions/private-wallet/opProducer.mjs +1 -1
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.mjs +21 -18
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.mjs +11 -12
- package/functions/utils/addresses.cjs +1 -1
- package/functions/utils/addresses.mjs +6 -6
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.d.ts +1 -1
- package/functions/utils/cacheFunctions.mjs +55 -54
- package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
- package/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -5
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +2 -2
- package/functions/utils/create-provider.mjs +5 -5
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +9 -9
- package/functions/utils/ethers-formatter.utils.d.ts +1 -1
- package/functions/utils/external-action.utils.cjs +1 -1
- package/functions/utils/external-action.utils.mjs +2 -2
- package/functions/utils/getContractAddress.cjs +1 -0
- package/functions/utils/getContractAddress.d.ts +2 -0
- package/functions/utils/getContractAddress.mjs +9 -0
- package/functions/utils/getDataFromTransaction.cjs +1 -1
- package/functions/utils/getDataFromTransaction.d.ts +0 -11
- package/functions/utils/getDataFromTransaction.mjs +26 -50
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
- package/functions/utils/getSignerFromContract.cjs +1 -0
- package/functions/utils/getSignerFromContract.d.ts +3 -0
- package/functions/utils/getSignerFromContract.mjs +16 -0
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.mjs +15 -16
- package/functions/utils/inLogicMetadata.cjs +1 -1
- package/functions/utils/inLogicMetadata.mjs +2 -2
- package/functions/utils/nftTokenFunctions.cjs +1 -1
- package/functions/utils/nftTokenFunctions.mjs +2 -3
- package/functions/utils/publicBalance.utils.cjs +1 -1
- package/functions/utils/publicBalance.utils.d.ts +1 -1
- package/functions/utils/publicBalance.utils.mjs +42 -42
- package/functions/utils/rpc-int-encode.cjs +1 -1
- package/functions/utils/rpc-int-encode.d.ts +1 -2
- package/functions/utils/rpc-int-encode.mjs +3 -6
- package/functions/utils/solanaMint.utils.cjs +1 -1
- package/functions/utils/solanaMint.utils.mjs +6 -6
- package/functions/web3/EIP-712.cjs +1 -1
- package/functions/web3/EIP-712.d.ts +4 -4
- package/functions/web3/EIP-712.mjs +1 -1
- package/functions/web3/etherFunctions.cjs +1 -1
- package/functions/web3/etherFunctions.mjs +32 -29
- package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedCustomHandler.mjs +4 -5
- package/functions/web3/events/balanceChangedHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedHandler.mjs +2 -3
- package/functions/web3/events/getApprovedBalance.cjs +1 -1
- package/functions/web3/events/getApprovedBalance.mjs +1 -1
- package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/functions/web3/events/getInputUtxosEnclave.mjs +20 -20
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.d.ts +3 -3
- package/functions/web3/events/getTransactionLogEvents.mjs +6 -5
- package/functions/web3/events/index.d.ts +0 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +1 -2
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +4 -5
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.mjs +10 -11
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +61 -58
- package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
- package/functions/web3/functionCalls/constructBatchCall.mjs +10 -9
- package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
- package/functions/web3/functionCalls/estimateGasRelayer.mjs +1 -1
- package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -1
- package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +18 -21
- package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.mjs +38 -34
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.mjs +8 -10
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.d.ts +1 -1
- package/functions/web3/getContractMetadata.mjs +25 -25
- package/functions/web3/getPublicAddressBalance.cjs +1 -1
- package/functions/web3/getPublicAddressBalance.mjs +7 -6
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +16 -15
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.mjs +6 -7
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +2 -3
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.d.ts +6 -5
- package/functions/web3/runContractFunction.mjs +41 -45
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.d.ts +2 -2
- package/functions/web3/uniswapAPI.mjs +23 -24
- package/index.cjs +1 -1
- package/index.mjs +336 -340
- package/package.json +3 -4
- package/providers/CustomEthersProvider.d.ts +1 -1
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +7 -7
- package/providers/EthersProviderAdapter.mjs +46 -44
- package/providers/SolanaProviderAdapter.d.ts +1 -1
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +5 -5
- package/providers/WagmiProviderAdapter.mjs +37 -33
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.d.ts +2 -2
- package/providers/prepareEthersHinkal.mjs +3 -5
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +3 -5
- package/types/activities.types.d.ts +2 -3
- package/types/big-intable.types.d.ts +3 -2
- package/types/ethereum-network.types.d.ts +10 -10
- package/types/transactions.types.cjs +1 -1
- package/types/transactions.types.d.ts +2 -3
- package/types/transactions.types.mjs +6 -7
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.mjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/functions/web3/events/web3RetrieveEvents.cjs +0 -1
- package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
- package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hinkal/common",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"homepage": "hinkal.io",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Hinkal Protocol"
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"buffer": "6.0.3",
|
|
63
63
|
"circomlibjs-hinkal-fork": "^0.0.3",
|
|
64
64
|
"dotenv": "^16.4.5",
|
|
65
|
-
"ethers
|
|
65
|
+
"ethers": "^6.15.0",
|
|
66
66
|
"idb-keyval": "6.2.1",
|
|
67
67
|
"multiformats": "^9.4.2",
|
|
68
68
|
"snarkjs": "0.7.5",
|
|
69
|
-
"libsodium-wrappers": "^0.
|
|
69
|
+
"libsodium-wrappers": "^0.8.2",
|
|
70
70
|
"tweetnacl": "^1.0.3",
|
|
71
71
|
"process": "0.11.10",
|
|
72
72
|
"ua-parser-js": "^1.0.37",
|
|
@@ -75,7 +75,6 @@
|
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"wagmi": "2.13.3",
|
|
78
|
-
"ethers": "5.x",
|
|
79
78
|
"@walletconnect/utils": "^2.17.2"
|
|
80
79
|
},
|
|
81
80
|
"peerDependenciesMeta": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
export declare class CustomEthersProvider implements ethers.
|
|
2
|
+
export declare class CustomEthersProvider implements ethers.Eip1193Provider {
|
|
3
3
|
private rpcUrl;
|
|
4
4
|
private nextId;
|
|
5
5
|
constructor(rpcUrl: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../constants/chains.constants.cjs"),n=require("../error-handling/error-codes.constants.cjs"),h=require("ethers"),o=require("../functions/web3/getContractMetadata.cjs"),d=require("../functions/utils/create-provider.cjs");class s{signer;chainId;originalProvider;fetchProvider;chainEventListener;initConnector(){}initSigner(r){this.signer=r}requireSigner(){if(!this.signer)throw Error("No Connector In Provider Adapter")}async init(r){this.requireSigner(),r&&(this.chainId=r);const e=this.signer.provider,t=this.createFetchProvider();t?(this.originalProvider=t,this.fetchProvider=t):(this.originalProvider=e??void 0,this.fetchProvider=t??e??void 0),this.fetchProvider===e&&console.warn("fetchProvider not available, falling back to signer provider")}async disconnectFromConnector(){}async connectToConnector(){return 0}async waitForTransaction(r,e){if((await this.fetchProvider?.waitForTransaction(r,e))?.status)return!0;throw Error(n.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(r){this.requireSigner();const e=await this.signer.signMessage(r);if(!e)throw new Error(n.transactionErrorCodes.SIGNING_FAILED);if(e.includes("error"))throw new Error(n.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return e}async signTypedData(r,e,t){return this.signer.signTypedData(r,e,t)}getSelectedNetwork=()=>{if(!this.chainId)throw new Error("Illegal state: no chaindId");return i.networkRegistry[this.chainId]};async switchNetwork(r){if(this.originalProvider=this.createFetchProvider(r)??this.originalProvider,!this.originalProvider)throw new Error("switchNetwork illegal state: no provider");this.signer=this.signer?.connect(this.originalProvider),this.chainEventListener?.onChainChanged(r.chainId)}async switchAccount(r){const e=this.createFetchProvider();if(!e)throw new Error("can't create new fetch provider");this.signer=r.connect(e),await this.onAccountChanged(),this.chainEventListener?.onAccountChanged()}createFetchProvider(r){try{const t=(r??i.networkRegistry[this.chainId])?.fetchRpcUrl;return t?d.createCustomRpcProvider(t):void 0}catch(e){console.log("create Fetch Provider error",e);return}}async getAddress(){this.requireSigner();const r=await this.signer.getAddress();if(!r)throw new Error("IllegalState");return h.ethers.getAddress(r)}setChainEventListener(r){this.chainEventListener=r}onAccountChanged(){return this.init()}onChainChanged(r){return this.init(r)}release(){this.removeListeners()}removeListeners(){this.chainEventListener=void 0}parseChainIdParam(r){const e=r??this.chainId;if(!e)throw new Error("No chainId provided in context");return e}getContractMetadata(r,e){const t=this.parseChainIdParam(e);return o.getContractMetadata(r,t)}getContract(r,e=void 0,t,a){const c=this.parseChainIdParam(t);return o.getContract(r,c,e,a)}getContractWithSigner(r,e=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(r,e,void 0,this.signer)}getContractWithFetcher(r,e=void 0){if(!this.fetchProvider)throw new Error("fetchProvider not initialized");return this.getContract(r,e,void 0,this.fetchProvider)}getContractWithFetcherForEthereum(r,e=void 0){const t=this.chainId===i.chainIds.localhost&&i.localhostNetwork===i.chainIds.ethMainnet?i.chainIds.localhost:i.chainIds.ethMainnet;return o.getContractWithFetcherByChainId(t,r,e)}async sendTransaction(r){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(r)}async connectAndPatchProvider(){this.requireSigner();const{chainId:r}=await this.signer.provider.getNetwork();return Number(r)}isPermitterAvailable(){return!1}async getGasPrice(){const r=(await this.fetchProvider?.getFeeData())?.gasPrice;if(!r)throw Error("Could not fetch gas price in getGasPrice");return r}}const g=new s,v=()=>new s;exports.EthersProviderAdapter=s;exports.default=v;exports.ethersProvierAdapter=g;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ChainEventListener, IProviderAdapter } from '../data-structures/provider-adapter/IProviderAdapter';
|
|
2
2
|
import { ContractMetadata, ContractType, EthereumNetwork } from '../types/ethereum-network.types';
|
|
3
|
-
import { ethers
|
|
4
|
-
export declare class EthersProviderAdapter implements IProviderAdapter<Signer> {
|
|
5
|
-
signer: Signer | undefined;
|
|
3
|
+
import { ethers } from 'ethers';
|
|
4
|
+
export declare class EthersProviderAdapter implements IProviderAdapter<ethers.Signer> {
|
|
5
|
+
signer: ethers.Signer | undefined;
|
|
6
6
|
chainId: number | undefined;
|
|
7
7
|
private originalProvider;
|
|
8
8
|
private fetchProvider;
|
|
9
9
|
protected chainEventListener?: ChainEventListener;
|
|
10
10
|
initConnector(): void;
|
|
11
|
-
initSigner(signer: Signer): void;
|
|
11
|
+
initSigner(signer: ethers.Signer): void;
|
|
12
12
|
requireSigner(): void;
|
|
13
13
|
init(chainId?: number): Promise<void>;
|
|
14
14
|
disconnectFromConnector(): Promise<void>;
|
|
@@ -18,7 +18,7 @@ export declare class EthersProviderAdapter implements IProviderAdapter<Signer> {
|
|
|
18
18
|
signTypedData(domain: ethers.TypedDataDomain, types: Record<string, ethers.TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
|
|
19
19
|
getSelectedNetwork: () => EthereumNetwork | undefined;
|
|
20
20
|
switchNetwork(network: EthereumNetwork): Promise<void>;
|
|
21
|
-
switchAccount(newSigner: Signer): Promise<void>;
|
|
21
|
+
switchAccount(newSigner: ethers.Signer): Promise<void>;
|
|
22
22
|
private createFetchProvider;
|
|
23
23
|
getAddress(): Promise<string>;
|
|
24
24
|
setChainEventListener(chainEventListener: ChainEventListener): void;
|
|
@@ -28,11 +28,11 @@ export declare class EthersProviderAdapter implements IProviderAdapter<Signer> {
|
|
|
28
28
|
private removeListeners;
|
|
29
29
|
private parseChainIdParam;
|
|
30
30
|
getContractMetadata(contractType: ContractType, chainId?: number): ContractMetadata;
|
|
31
|
-
getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number): ethers.Contract;
|
|
31
|
+
getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number, runner?: ethers.ContractRunner): ethers.Contract;
|
|
32
32
|
getContractWithSigner(contract: ContractType, contractAddress?: undefined): ethers.Contract;
|
|
33
33
|
getContractWithFetcher(contract: ContractType, contractAddress?: undefined): ethers.Contract;
|
|
34
34
|
getContractWithFetcherForEthereum(contract: ContractType, contractAddress?: undefined): ethers.Contract;
|
|
35
|
-
sendTransaction(tx: ethers.
|
|
35
|
+
sendTransaction(tx: ethers.TransactionRequest): Promise<ethers.TransactionResponse>;
|
|
36
36
|
connectAndPatchProvider(): Promise<number>;
|
|
37
37
|
isPermitterAvailable(): boolean;
|
|
38
38
|
getGasPrice(): Promise<bigint>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { networkRegistry as o, chainIds as i, localhostNetwork as
|
|
1
|
+
import { networkRegistry as o, chainIds as i, localhostNetwork as h } from "../constants/chains.constants.mjs";
|
|
2
2
|
import { transactionErrorCodes as n } from "../error-handling/error-codes.constants.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { getContractMetadata as
|
|
5
|
-
import { createCustomRpcProvider as
|
|
3
|
+
import { ethers as d } from "ethers";
|
|
4
|
+
import { getContractMetadata as g, getContract as v, getContractWithFetcherByChainId as l } from "../functions/web3/getContractMetadata.mjs";
|
|
5
|
+
import { createCustomRpcProvider as w } from "../functions/utils/create-provider.mjs";
|
|
6
6
|
class s {
|
|
7
7
|
signer;
|
|
8
8
|
chainId;
|
|
@@ -20,30 +20,30 @@ class s {
|
|
|
20
20
|
}
|
|
21
21
|
async init(r) {
|
|
22
22
|
this.requireSigner(), r && (this.chainId = r);
|
|
23
|
-
const
|
|
24
|
-
|
|
23
|
+
const e = this.signer.provider, t = this.createFetchProvider();
|
|
24
|
+
t ? (this.originalProvider = t, this.fetchProvider = t) : (this.originalProvider = e ?? void 0, this.fetchProvider = t ?? e ?? void 0), this.fetchProvider === e && console.warn("fetchProvider not available, falling back to signer provider");
|
|
25
25
|
}
|
|
26
26
|
async disconnectFromConnector() {
|
|
27
27
|
}
|
|
28
28
|
async connectToConnector() {
|
|
29
29
|
return 0;
|
|
30
30
|
}
|
|
31
|
-
async waitForTransaction(r,
|
|
32
|
-
if ((await this.fetchProvider?.waitForTransaction(r,
|
|
31
|
+
async waitForTransaction(r, e) {
|
|
32
|
+
if ((await this.fetchProvider?.waitForTransaction(r, e))?.status)
|
|
33
33
|
return !0;
|
|
34
34
|
throw Error(n.TRANSACTION_NOT_CONFIRMED);
|
|
35
35
|
}
|
|
36
36
|
async signMessage(r) {
|
|
37
37
|
this.requireSigner();
|
|
38
|
-
const
|
|
39
|
-
if (!
|
|
38
|
+
const e = await this.signer.signMessage(r);
|
|
39
|
+
if (!e)
|
|
40
40
|
throw new Error(n.SIGNING_FAILED);
|
|
41
|
-
if (
|
|
41
|
+
if (e.includes("error"))
|
|
42
42
|
throw new Error(n.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
|
|
43
|
-
return
|
|
43
|
+
return e;
|
|
44
44
|
}
|
|
45
|
-
async signTypedData(r,
|
|
46
|
-
return this.signer.
|
|
45
|
+
async signTypedData(r, e, t) {
|
|
46
|
+
return this.signer.signTypedData(r, e, t);
|
|
47
47
|
}
|
|
48
48
|
getSelectedNetwork = () => {
|
|
49
49
|
if (!this.chainId)
|
|
@@ -56,17 +56,17 @@ class s {
|
|
|
56
56
|
this.signer = this.signer?.connect(this.originalProvider), this.chainEventListener?.onChainChanged(r.chainId);
|
|
57
57
|
}
|
|
58
58
|
async switchAccount(r) {
|
|
59
|
-
const
|
|
60
|
-
if (!
|
|
59
|
+
const e = this.createFetchProvider();
|
|
60
|
+
if (!e)
|
|
61
61
|
throw new Error("can't create new fetch provider");
|
|
62
|
-
this.signer = r.connect(
|
|
62
|
+
this.signer = r.connect(e), await this.onAccountChanged(), this.chainEventListener?.onAccountChanged();
|
|
63
63
|
}
|
|
64
64
|
createFetchProvider(r) {
|
|
65
65
|
try {
|
|
66
|
-
const
|
|
67
|
-
return
|
|
68
|
-
} catch (
|
|
69
|
-
console.log("create Fetch Provider error",
|
|
66
|
+
const t = (r ?? o[this.chainId])?.fetchRpcUrl;
|
|
67
|
+
return t ? w(t) : void 0;
|
|
68
|
+
} catch (e) {
|
|
69
|
+
console.log("create Fetch Provider error", e);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -75,7 +75,7 @@ class s {
|
|
|
75
75
|
const r = await this.signer.getAddress();
|
|
76
76
|
if (!r)
|
|
77
77
|
throw new Error("IllegalState");
|
|
78
|
-
return
|
|
78
|
+
return d.getAddress(r);
|
|
79
79
|
}
|
|
80
80
|
setChainEventListener(r) {
|
|
81
81
|
this.chainEventListener = r;
|
|
@@ -93,32 +93,32 @@ class s {
|
|
|
93
93
|
this.chainEventListener = void 0;
|
|
94
94
|
}
|
|
95
95
|
parseChainIdParam(r) {
|
|
96
|
-
const
|
|
97
|
-
if (!
|
|
96
|
+
const e = r ?? this.chainId;
|
|
97
|
+
if (!e)
|
|
98
98
|
throw new Error("No chainId provided in context");
|
|
99
|
-
return
|
|
99
|
+
return e;
|
|
100
100
|
}
|
|
101
|
-
getContractMetadata(r,
|
|
102
|
-
const
|
|
103
|
-
return
|
|
101
|
+
getContractMetadata(r, e) {
|
|
102
|
+
const t = this.parseChainIdParam(e);
|
|
103
|
+
return g(r, t);
|
|
104
104
|
}
|
|
105
|
-
getContract(r,
|
|
106
|
-
const
|
|
107
|
-
return
|
|
105
|
+
getContract(r, e = void 0, t, a) {
|
|
106
|
+
const c = this.parseChainIdParam(t);
|
|
107
|
+
return v(r, c, e, a);
|
|
108
108
|
}
|
|
109
|
-
getContractWithSigner(r,
|
|
109
|
+
getContractWithSigner(r, e = void 0) {
|
|
110
110
|
if (!this.signer)
|
|
111
111
|
throw new Error("IllegalState: no signer");
|
|
112
|
-
return this.getContract(r,
|
|
112
|
+
return this.getContract(r, e, void 0, this.signer);
|
|
113
113
|
}
|
|
114
|
-
getContractWithFetcher(r,
|
|
114
|
+
getContractWithFetcher(r, e = void 0) {
|
|
115
115
|
if (!this.fetchProvider)
|
|
116
116
|
throw new Error("fetchProvider not initialized");
|
|
117
|
-
return this.getContract(r,
|
|
117
|
+
return this.getContract(r, e, void 0, this.fetchProvider);
|
|
118
118
|
}
|
|
119
|
-
getContractWithFetcherForEthereum(r,
|
|
120
|
-
const
|
|
121
|
-
return l(
|
|
119
|
+
getContractWithFetcherForEthereum(r, e = void 0) {
|
|
120
|
+
const t = this.chainId === i.localhost && h === i.ethMainnet ? i.localhost : i.ethMainnet;
|
|
121
|
+
return l(t, r, e);
|
|
122
122
|
}
|
|
123
123
|
async sendTransaction(r) {
|
|
124
124
|
if (!this.signer)
|
|
@@ -126,21 +126,23 @@ class s {
|
|
|
126
126
|
return await this.signer.sendTransaction(r);
|
|
127
127
|
}
|
|
128
128
|
async connectAndPatchProvider() {
|
|
129
|
-
|
|
129
|
+
this.requireSigner();
|
|
130
|
+
const { chainId: r } = await this.signer.provider.getNetwork();
|
|
131
|
+
return Number(r);
|
|
130
132
|
}
|
|
131
133
|
isPermitterAvailable() {
|
|
132
134
|
return !1;
|
|
133
135
|
}
|
|
134
136
|
async getGasPrice() {
|
|
135
|
-
const r = await this.fetchProvider?.
|
|
137
|
+
const r = (await this.fetchProvider?.getFeeData())?.gasPrice;
|
|
136
138
|
if (!r)
|
|
137
139
|
throw Error("Could not fetch gas price in getGasPrice");
|
|
138
|
-
return r
|
|
140
|
+
return r;
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
|
-
const
|
|
143
|
+
const E = new s(), m = () => new s();
|
|
142
144
|
export {
|
|
143
145
|
s as EthersProviderAdapter,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
+
m as default,
|
|
147
|
+
E as ethersProvierAdapter
|
|
146
148
|
};
|
|
@@ -33,7 +33,7 @@ export declare class SolanaProviderAdapter implements IProviderAdapter<SolanaWal
|
|
|
33
33
|
getContractWithSigner(_contractType: ContractType, _contractAddress?: string): ethers.Contract;
|
|
34
34
|
getContractWithFetcher(_contractType: ContractType, _contractAddress?: string): ethers.Contract;
|
|
35
35
|
getContractWithFetcherForEthereum(_contractType: ContractType, _contractAddress?: string): ethers.Contract;
|
|
36
|
-
sendTransaction(_tx: ethers.
|
|
36
|
+
sendTransaction(_tx: ethers.TransactionRequest): Promise<ethers.TransactionResponse>;
|
|
37
37
|
getGasPrice(): Promise<bigint>;
|
|
38
38
|
isPermitterAvailable(): boolean;
|
|
39
39
|
getConnection(): Connection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../constants/chains.constants.cjs"),a=require("../error-handling/error-codes.constants.cjs"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../constants/chains.constants.cjs"),a=require("../error-handling/error-codes.constants.cjs"),f=require("wagmi"),o=require("wagmi/actions"),l=require("../functions/web3/getContractMetadata.cjs"),d=require("../types/eip5792.types.cjs"),v=require("../error-handling/logger.cjs"),c=require("ethers");class g{connector;chainId;originalProvider;fetchProvider;signer;chainEventListener;config;unsubscribeFns=[];initConnector(t){this.connector=t}requireConnector(){if(!this.connector)throw Error("No Connector In Provider Adapter")}initConfig(t){this.config=t}async init(t){this.requireConnector(),t&&(this.chainId=t);const r=await this.connector.getProvider();this.originalProvider=new c.ethers.BrowserProvider(r),this.fetchProvider=this.createFetchProvider()??this.originalProvider,this.fetchProvider===this.originalProvider&&console.warn("fetchProvider not available");const e=await this.connector.getAccounts();this.signer=await this.walletClientToSigner({transport:r,account:e[0]},this.chainId)}async disconnectFromConnector(){if(!this.config)throw new Error("No Config In Provider Adapter");this.release(),await o.disconnect(this.config)}async connectToConnector(t){if(!this.config)throw new Error("No Config In Provider Adapter");if(t.id==="walletConnect")try{await o.reconnect(this.config,{connectors:[t]}),await o.disconnect(this.config)}catch{}try{return(await o.connect(this.config,{connector:t})).chainId}catch(r){if(r instanceof f.ConnectorAlreadyConnectedError)return t.getChainId();let e=a.transactionErrorCodes.CONNECTION_FAILED;throw r?.code===4001&&(e=a.UserFriendlyErrorCodes.YOU_CANCELED_REQUEST),new Error(e)}}async waitForTransaction(t,r){if((await this.fetchProvider?.waitForTransaction(t,r))?.status)return!0;throw Error(a.transactionErrorCodes.TRANSACTION_NOT_CONFIRMED)}async signMessage(t){if(!this.config)throw new Error("No Config In Provider Adapter");const r=await o.signMessage(this.config,{message:t});if(!r)throw new Error(a.transactionErrorCodes.SIGNING_FAILED);if(r.includes("error"))throw new Error(a.transactionErrorCodes.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);return r}async signTypedData(t,r,e){return this.signer.signTypedData(t,r,e)}getSelectedNetwork=()=>{if(!this.chainId)throw new Error("Illegal state: no chaindId");return s.networkRegistry[this.chainId]};async switchNetwork(t){if(!this.config)throw new Error("No Config In Provider Adapter");return o.switchChain(this.config,{chainId:t.chainId})}createFetchProvider(){try{const r=s.networkRegistry[this.chainId]?.fetchRpcUrl;return r?r.includes("wss")?new c.ethers.WebSocketProvider(r):new c.ethers.JsonRpcProvider(r,void 0,{staticNetwork:!0}):void 0}catch(t){console.log("create Fetch Provider error",t);return}}async getAddress(){if(!this.config)throw new Error("No Config In Provider Adapter");const{address:t}=o.getAccount(this.config);if(!t)throw new Error("IllegalState");return c.ethers.getAddress(t)}setChainEventListener(t){if(!this.config)throw new Error("No Config In Provider Adapter");this.chainEventListener=t,this.chainEventListener&&(this.unsubscribeFns.push(o.watchAccount(this.config,{onChange:({address:r},{address:e})=>{if(!this.chainEventListener){console.warn("chainEventListener is not set");return}console.log("Account changed"),r!==e&&(console.log("Account changed"),this.chainEventListener.onAccountChanged())}})),this.unsubscribeFns.push(o.watchChainId(this.config,{onChange:r=>{if(!this.chainEventListener){console.warn("chainEventListener is not set");return}console.log("Chain ID changed!",r),this.chainEventListener.onChainChanged(r)}})))}onAccountChanged(){return this.init()}onChainChanged(t){return this.init(t)}release(){this.removeListeners()}removeListeners(){this.unsubscribeFns.forEach(t=>t()),this.unsubscribeFns=[]}parseChainIdParam(t){const r=t??this.chainId;if(!r)throw new Error("No chainId provided in context");return r}getContractMetadata(t,r){const e=this.parseChainIdParam(r);return l.getContractMetadata(t,e)}getContract(t,r=void 0,e,n){const i=this.parseChainIdParam(e);return l.getContract(t,i,r,n)}getContractWithSigner(t,r=void 0){if(!this.signer)throw new Error("IllegalState: no signer");return this.getContract(t,r,void 0,this.signer)}getContractWithFetcher(t,r=void 0){if(!this.fetchProvider)throw new Error("fetchProvider not initialized");return this.getContract(t,r,void 0,this.fetchProvider)}getContractWithFetcherForEthereum(t,r=void 0){const e=this.chainId===s.chainIds.localhost&&s.localhostNetwork===s.chainIds.ethMainnet?s.chainIds.localhost:s.chainIds.ethMainnet;return l.getContractWithFetcherByChainId(e,t,r)}async sendTransaction(t){if(!this.signer)throw new Error("IllegalState: no signer");return await this.signer.sendTransaction(t)}async connectAndPatchProvider(t){return await this.connectToConnector(t)}isPermitterAvailable(){return!!this.getSelectedNetwork()?.contractData?.permitterAddress}async getGasPrice(){const t=(await this.fetchProvider?.getFeeData())?.gasPrice;if(!t)throw Error("Could not fetch gas price in getGasPrice");return t}async walletClientToSigner(t,r){const{account:e,transport:n}=t,i={chainId:r,name:""};return new c.ethers.BrowserProvider(n,i).getSigner(e)}switchAccount(){throw new Error("Method not implemented.")}async supportsBatchCall(){if(!this.originalProvider||!this.chainId)return!1;try{const t=await this.getAddress(),r=`0x${this.chainId.toString(16)}`,e=await this.originalProvider.send("wallet_getCapabilities",[t,[r]]),n=e?.[r]||e?.["0x0"];if(!n?.atomic)return!1;const i=typeof n.atomic=="string"?n.atomic:n.atomic?.status;return i==="supported"||i==="ready"}catch{return!1}}async waitForBatchTransactionStatus(t){if(!this.originalProvider)throw new Error("WagmiProviderAdapter: Provider not initialized");const r=1e3,e=60;for(let n=0;n<e;n+=1){await new Promise(i=>{setTimeout(()=>i(),r)});try{const i=await this.originalProvider.send("wallet_getCallsStatus",[t]);if(i.status===d.CallsStatus.Confirmed&&i.receipts?.[0]?.transactionHash)return i.receipts[0].transactionHash;if(i.status===d.CallsStatus.OffchainFailure||i.status===d.CallsStatus.ChainFailure||i.status===d.CallsStatus.PartialFailure)break}catch(i){v.Logger.log("waitForBatchTransactionStatus:",i)}}throw new Error("Batch transaction timed out or failed")}async sendBatchCallsTransaction(t){if(!this.chainId)throw new Error("WagmiProviderAdapter: chainId not initialized");if(!this.fetchProvider)throw new Error("WagmiProviderAdapter: fetchProvider not initialized");if(!this.originalProvider)throw new Error("WagmiProviderAdapter: Provider not initialized");const r=await this.getAddress(),n={version:"2.0.0",chainId:`0x${this.chainId.toString(16)}`,from:r,atomicRequired:!0,calls:t},i=await this.originalProvider.send("wallet_sendCalls",[n]),h=i?.id||i;if(!h||typeof h!="string")throw new Error("Invalid batch ID received from wallet_sendCalls");const w=await this.waitForBatchTransactionStatus(h),u=await this.fetchProvider.getTransaction(w);if(!u)throw new Error("Transaction not found");return u}}const C=new g,P=()=>new g;exports.WagmiProviderAdapter=g;exports.default=P;exports.wagmiProviderAdapter=C;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChainEventListener, IProviderAdapter } from '../data-structures/provider-adapter/IProviderAdapter';
|
|
2
2
|
import { ContractMetadata, ContractType, EthereumNetwork } from '../types/ethereum-network.types';
|
|
3
|
-
import { ethers } from 'ethers';
|
|
4
3
|
import { type Connector } from 'wagmi';
|
|
5
4
|
import { Call } from '../types/eip5792.types';
|
|
5
|
+
import { ethers } from 'ethers';
|
|
6
6
|
export declare class WagmiProviderAdapter implements IProviderAdapter<Connector> {
|
|
7
7
|
private connector;
|
|
8
8
|
chainId: number | undefined;
|
|
@@ -32,19 +32,19 @@ export declare class WagmiProviderAdapter implements IProviderAdapter<Connector>
|
|
|
32
32
|
private removeListeners;
|
|
33
33
|
private parseChainIdParam;
|
|
34
34
|
getContractMetadata(contractType: ContractType, chainId?: number): ContractMetadata;
|
|
35
|
-
getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number): ethers.Contract;
|
|
35
|
+
getContract(contractType: ContractType, contractAddress?: undefined, chainId?: number, runner?: ethers.ContractRunner): ethers.Contract;
|
|
36
36
|
getContractWithSigner(contract: ContractType, contractAddress?: undefined): ethers.Contract;
|
|
37
37
|
getContractWithFetcher(contract: ContractType, contractAddress?: undefined): ethers.Contract;
|
|
38
38
|
getContractWithFetcherForEthereum(contract: ContractType, contractAddress?: undefined): ethers.Contract;
|
|
39
|
-
sendTransaction(tx: ethers.
|
|
39
|
+
sendTransaction(tx: ethers.TransactionRequest): Promise<ethers.TransactionResponse>;
|
|
40
40
|
connectAndPatchProvider(connector: Connector): Promise<number>;
|
|
41
41
|
isPermitterAvailable(): boolean;
|
|
42
42
|
getGasPrice(): Promise<bigint>;
|
|
43
|
-
walletClientToSigner(walletClient: any, chainId: number): Promise<ethers.
|
|
43
|
+
walletClientToSigner(walletClient: any, chainId: number): Promise<ethers.JsonRpcSigner>;
|
|
44
44
|
switchAccount(): Promise<void>;
|
|
45
45
|
supportsBatchCall(): Promise<boolean>;
|
|
46
46
|
private waitForBatchTransactionStatus;
|
|
47
|
-
sendBatchCallsTransaction(calls: Call[]): Promise<ethers.
|
|
47
|
+
sendBatchCallsTransaction(calls: Call[]): Promise<ethers.TransactionResponse>;
|
|
48
48
|
}
|
|
49
49
|
export declare const wagmiProviderAdapter: WagmiProviderAdapter;
|
|
50
50
|
declare const _default: <T = unknown>() => IProviderAdapter<T>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { networkRegistry as l, chainIds as
|
|
2
|
-
import { transactionErrorCodes as
|
|
3
|
-
import { providers as c, utils as v } from "ethers";
|
|
1
|
+
import { networkRegistry as l, chainIds as s, localhostNetwork as u } from "../constants/chains.constants.mjs";
|
|
2
|
+
import { transactionErrorCodes as c, UserFriendlyErrorCodes as v } from "../error-handling/error-codes.constants.mjs";
|
|
4
3
|
import { ConnectorAlreadyConnectedError as C } from "wagmi";
|
|
5
|
-
import { disconnect as
|
|
4
|
+
import { disconnect as w, reconnect as p, connect as P, signMessage as I, switchChain as E, getAccount as m, watchAccount as A, watchChainId as y } from "wagmi/actions";
|
|
6
5
|
import { getContractMetadata as F, getContract as N, getContractWithFetcherByChainId as S } from "../functions/web3/getContractMetadata.mjs";
|
|
7
6
|
import { CallsStatus as h } from "../types/eip5792.types.mjs";
|
|
8
7
|
import { Logger as T } from "../error-handling/logger.mjs";
|
|
9
|
-
|
|
8
|
+
import { ethers as o } from "ethers";
|
|
9
|
+
class f {
|
|
10
10
|
connector;
|
|
11
11
|
chainId;
|
|
12
12
|
originalProvider;
|
|
@@ -28,21 +28,21 @@ class w {
|
|
|
28
28
|
async init(t) {
|
|
29
29
|
this.requireConnector(), t && (this.chainId = t);
|
|
30
30
|
const r = await this.connector.getProvider();
|
|
31
|
-
this.originalProvider = new
|
|
31
|
+
this.originalProvider = new o.BrowserProvider(r), this.fetchProvider = this.createFetchProvider() ?? this.originalProvider, this.fetchProvider === this.originalProvider && console.warn("fetchProvider not available");
|
|
32
32
|
const e = await this.connector.getAccounts();
|
|
33
33
|
this.signer = await this.walletClientToSigner({ transport: r, account: e[0] }, this.chainId);
|
|
34
34
|
}
|
|
35
35
|
async disconnectFromConnector() {
|
|
36
36
|
if (!this.config)
|
|
37
37
|
throw new Error("No Config In Provider Adapter");
|
|
38
|
-
this.release(), await
|
|
38
|
+
this.release(), await w(this.config);
|
|
39
39
|
}
|
|
40
40
|
async connectToConnector(t) {
|
|
41
41
|
if (!this.config)
|
|
42
42
|
throw new Error("No Config In Provider Adapter");
|
|
43
43
|
if (t.id === "walletConnect")
|
|
44
44
|
try {
|
|
45
|
-
await p(this.config, { connectors: [t] }), await
|
|
45
|
+
await p(this.config, { connectors: [t] }), await w(this.config);
|
|
46
46
|
} catch {
|
|
47
47
|
}
|
|
48
48
|
try {
|
|
@@ -50,27 +50,27 @@ class w {
|
|
|
50
50
|
} catch (r) {
|
|
51
51
|
if (r instanceof C)
|
|
52
52
|
return t.getChainId();
|
|
53
|
-
let e =
|
|
54
|
-
throw r?.code === 4001 && (e =
|
|
53
|
+
let e = c.CONNECTION_FAILED;
|
|
54
|
+
throw r?.code === 4001 && (e = v.YOU_CANCELED_REQUEST), new Error(e);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
async waitForTransaction(t, r) {
|
|
58
58
|
if ((await this.fetchProvider?.waitForTransaction(t, r))?.status)
|
|
59
59
|
return !0;
|
|
60
|
-
throw Error(
|
|
60
|
+
throw Error(c.TRANSACTION_NOT_CONFIRMED);
|
|
61
61
|
}
|
|
62
62
|
async signMessage(t) {
|
|
63
63
|
if (!this.config)
|
|
64
64
|
throw new Error("No Config In Provider Adapter");
|
|
65
65
|
const r = await I(this.config, { message: t });
|
|
66
66
|
if (!r)
|
|
67
|
-
throw new Error(
|
|
67
|
+
throw new Error(c.SIGNING_FAILED);
|
|
68
68
|
if (r.includes("error"))
|
|
69
|
-
throw new Error(
|
|
69
|
+
throw new Error(c.SIGNATURE_UNSUPPORTED_PERSONAL_SIGN);
|
|
70
70
|
return r;
|
|
71
71
|
}
|
|
72
72
|
async signTypedData(t, r, e) {
|
|
73
|
-
return this.signer.
|
|
73
|
+
return this.signer.signTypedData(t, r, e);
|
|
74
74
|
}
|
|
75
75
|
getSelectedNetwork = () => {
|
|
76
76
|
if (!this.chainId)
|
|
@@ -87,7 +87,9 @@ class w {
|
|
|
87
87
|
createFetchProvider() {
|
|
88
88
|
try {
|
|
89
89
|
const r = l[this.chainId]?.fetchRpcUrl;
|
|
90
|
-
return r ? r.includes("wss") ? new
|
|
90
|
+
return r ? r.includes("wss") ? new o.WebSocketProvider(r) : new o.JsonRpcProvider(r, void 0, {
|
|
91
|
+
staticNetwork: !0
|
|
92
|
+
}) : void 0;
|
|
91
93
|
} catch (t) {
|
|
92
94
|
console.log("create Fetch Provider error", t);
|
|
93
95
|
return;
|
|
@@ -99,7 +101,7 @@ class w {
|
|
|
99
101
|
const { address: t } = m(this.config);
|
|
100
102
|
if (!t)
|
|
101
103
|
throw new Error("IllegalState");
|
|
102
|
-
return
|
|
104
|
+
return o.getAddress(t);
|
|
103
105
|
}
|
|
104
106
|
setChainEventListener(t) {
|
|
105
107
|
if (!this.config)
|
|
@@ -148,22 +150,22 @@ class w {
|
|
|
148
150
|
const e = this.parseChainIdParam(r);
|
|
149
151
|
return F(t, e);
|
|
150
152
|
}
|
|
151
|
-
getContract(t, r = void 0, e) {
|
|
152
|
-
const
|
|
153
|
-
return N(t,
|
|
153
|
+
getContract(t, r = void 0, e, n) {
|
|
154
|
+
const i = this.parseChainIdParam(e);
|
|
155
|
+
return N(t, i, r, n);
|
|
154
156
|
}
|
|
155
157
|
getContractWithSigner(t, r = void 0) {
|
|
156
158
|
if (!this.signer)
|
|
157
159
|
throw new Error("IllegalState: no signer");
|
|
158
|
-
return this.getContract(t, r
|
|
160
|
+
return this.getContract(t, r, void 0, this.signer);
|
|
159
161
|
}
|
|
160
162
|
getContractWithFetcher(t, r = void 0) {
|
|
161
163
|
if (!this.fetchProvider)
|
|
162
164
|
throw new Error("fetchProvider not initialized");
|
|
163
|
-
return this.getContract(t, r
|
|
165
|
+
return this.getContract(t, r, void 0, this.fetchProvider);
|
|
164
166
|
}
|
|
165
167
|
getContractWithFetcherForEthereum(t, r = void 0) {
|
|
166
|
-
const e = this.chainId ===
|
|
168
|
+
const e = this.chainId === s.localhost && u === s.ethMainnet ? s.localhost : s.ethMainnet;
|
|
167
169
|
return S(e, t, r);
|
|
168
170
|
}
|
|
169
171
|
async sendTransaction(t) {
|
|
@@ -178,17 +180,17 @@ class w {
|
|
|
178
180
|
return !!this.getSelectedNetwork()?.contractData?.permitterAddress;
|
|
179
181
|
}
|
|
180
182
|
async getGasPrice() {
|
|
181
|
-
const t = await this.fetchProvider?.
|
|
183
|
+
const t = (await this.fetchProvider?.getFeeData())?.gasPrice;
|
|
182
184
|
if (!t)
|
|
183
185
|
throw Error("Could not fetch gas price in getGasPrice");
|
|
184
|
-
return t
|
|
186
|
+
return t;
|
|
185
187
|
}
|
|
186
188
|
async walletClientToSigner(t, r) {
|
|
187
189
|
const { account: e, transport: n } = t, i = {
|
|
188
190
|
chainId: r,
|
|
189
191
|
name: ""
|
|
190
192
|
};
|
|
191
|
-
return new
|
|
193
|
+
return new o.BrowserProvider(n, i).getSigner(e);
|
|
192
194
|
}
|
|
193
195
|
switchAccount() {
|
|
194
196
|
throw new Error("Method not implemented.");
|
|
@@ -239,16 +241,18 @@ class w {
|
|
|
239
241
|
from: r,
|
|
240
242
|
atomicRequired: !0,
|
|
241
243
|
calls: t
|
|
242
|
-
}, i = await this.originalProvider.send("wallet_sendCalls", [n]),
|
|
243
|
-
if (!
|
|
244
|
+
}, i = await this.originalProvider.send("wallet_sendCalls", [n]), a = i?.id || i;
|
|
245
|
+
if (!a || typeof a != "string")
|
|
244
246
|
throw new Error("Invalid batch ID received from wallet_sendCalls");
|
|
245
|
-
const d = await this.waitForBatchTransactionStatus(
|
|
246
|
-
|
|
247
|
+
const d = await this.waitForBatchTransactionStatus(a), g = await this.fetchProvider.getTransaction(d);
|
|
248
|
+
if (!g)
|
|
249
|
+
throw new Error("Transaction not found");
|
|
250
|
+
return g;
|
|
247
251
|
}
|
|
248
252
|
}
|
|
249
|
-
const
|
|
253
|
+
const M = new f(), O = () => new f();
|
|
250
254
|
export {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
255
|
+
f as WagmiProviderAdapter,
|
|
256
|
+
O as default,
|
|
257
|
+
M as wagmiProviderAdapter
|
|
254
258
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@solana/web3.js");require("ethers");require("circomlibjs-hinkal-fork");require("../constants/chains.constants.cjs");require("../error-handling/error-codes.constants.cjs");require("../data-structures/crypto-keys/keys.cjs");require("libsodium-wrappers");const q=require("../data-structures/Hinkal/Hinkal.cjs");require("../constants/vite.constants.cjs");require("../types/circom-data.types.cjs");require("node-forge");require("../data-structures/http/HttpClient.cjs");require("axios");require("../constants/token-data/index.cjs");require("idb-keyval");require("../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../types/activities.types.cjs");require("../constants/server.constants.cjs");require("../API/getServerURL.cjs");const t=require("../crypto/preProcessing.cjs");require("../constants/save-depths.cjs");require("../constants/reorg-depths.constants.cjs");require("../functions/utils/mutexes.utils.cjs");require("@coral-xyz/anchor");require("@solana/spl-token");require("buffer");require("../constants/contracts.constants.cjs");require("../constants/kyc.constants.cjs");require("../constants/coingecko.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("../functions/utils/userAgent.cjs");require("multiformats");require("../API/tenderly.api.cjs");const a=require("./EthersProviderAdapter.cjs");require("../functions/web3/events/getApprovedBalance.cjs");require("../functions/web3/getTokenHolder.cjs");require("async-mutex");const n=async(i,u)=>{await t.preProcessing();const e=new q.Hinkal(u),r=a.default();return r.initSigner?.(i),await e.initProviderAdapter(void 0,r),await e.initUserKeys(),await e.resetMerkle(),e};exports.prepareEthersHinkal=n;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
2
|
import { Hinkal } from '../data-structures';
|
|
3
3
|
import { type HinkalConfig } from '../types/hinkal.types';
|
|
4
|
-
export declare const prepareEthersHinkal: (signer: Signer, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
4
|
+
export declare const prepareEthersHinkal: (signer: ethers.Signer, hinkalConfig?: HinkalConfig) => Promise<Hinkal<unknown>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "ethers";
|
|
2
1
|
import "@solana/web3.js";
|
|
2
|
+
import "ethers";
|
|
3
3
|
import "circomlibjs-hinkal-fork";
|
|
4
4
|
import "../constants/chains.constants.mjs";
|
|
5
5
|
import "../error-handling/error-codes.constants.mjs";
|
|
@@ -14,7 +14,6 @@ import "axios";
|
|
|
14
14
|
import "../constants/token-data/index.mjs";
|
|
15
15
|
import "idb-keyval";
|
|
16
16
|
import "../functions/utils/convertIntegrationProviderToExternalActionId.mjs";
|
|
17
|
-
import "../types/transactions.types.mjs";
|
|
18
17
|
import "../types/activities.types.mjs";
|
|
19
18
|
import "../constants/server.constants.mjs";
|
|
20
19
|
import "../API/getServerURL.mjs";
|
|
@@ -38,15 +37,14 @@ import "../functions/utils/userAgent.mjs";
|
|
|
38
37
|
import "multiformats";
|
|
39
38
|
import "../API/tenderly.api.mjs";
|
|
40
39
|
import e from "./EthersProviderAdapter.mjs";
|
|
41
|
-
import "ethers-v6h";
|
|
42
40
|
import "../functions/web3/events/getApprovedBalance.mjs";
|
|
43
41
|
import "../functions/web3/getTokenHolder.mjs";
|
|
44
42
|
import "async-mutex";
|
|
45
|
-
const
|
|
43
|
+
const X = async (t, o) => {
|
|
46
44
|
await m();
|
|
47
45
|
const r = new p(o), i = e();
|
|
48
46
|
return i.initSigner?.(t), await r.initProviderAdapter(void 0, i), await r.initUserKeys(), await r.resetMerkle(), r;
|
|
49
47
|
};
|
|
50
48
|
export {
|
|
51
|
-
|
|
49
|
+
X as prepareEthersHinkal
|
|
52
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@solana/web3.js");require("ethers");require("circomlibjs-hinkal-fork");require("../constants/chains.constants.cjs");require("../error-handling/error-codes.constants.cjs");require("../data-structures/crypto-keys/keys.cjs");require("libsodium-wrappers");const q=require("../data-structures/Hinkal/Hinkal.cjs");require("../constants/vite.constants.cjs");require("../types/circom-data.types.cjs");require("node-forge");require("../data-structures/http/HttpClient.cjs");require("axios");require("../constants/token-data/index.cjs");require("idb-keyval");require("../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../types/activities.types.cjs");require("../constants/server.constants.cjs");require("../API/getServerURL.cjs");const a=require("../crypto/preProcessing.cjs");require("../constants/save-depths.cjs");require("../constants/reorg-depths.constants.cjs");require("../functions/utils/mutexes.utils.cjs");require("@coral-xyz/anchor");require("@solana/spl-token");require("buffer");require("../constants/contracts.constants.cjs");require("../constants/kyc.constants.cjs");require("../constants/coingecko.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("../functions/utils/userAgent.cjs");require("multiformats");require("../API/tenderly.api.cjs");require("../functions/web3/events/getApprovedBalance.cjs");require("../functions/web3/getTokenHolder.cjs");require("async-mutex");const r=require("./WagmiProviderAdapter.cjs"),t=async(i,u)=>{await a.preProcessing();const e=new q.Hinkal;return r.wagmiProviderAdapter.initConfig(u),await e.initProviderAdapter(i,r.wagmiProviderAdapter),await e.initUserKeys(),await e.resetMerkle(),e};exports.prepareWagmiHinkal=t;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "ethers";
|
|
2
1
|
import "@solana/web3.js";
|
|
2
|
+
import "ethers";
|
|
3
3
|
import "circomlibjs-hinkal-fork";
|
|
4
4
|
import "../constants/chains.constants.mjs";
|
|
5
5
|
import "../error-handling/error-codes.constants.mjs";
|
|
@@ -14,7 +14,6 @@ import "axios";
|
|
|
14
14
|
import "../constants/token-data/index.mjs";
|
|
15
15
|
import "idb-keyval";
|
|
16
16
|
import "../functions/utils/convertIntegrationProviderToExternalActionId.mjs";
|
|
17
|
-
import "../types/transactions.types.mjs";
|
|
18
17
|
import "../types/activities.types.mjs";
|
|
19
18
|
import "../constants/server.constants.mjs";
|
|
20
19
|
import "../API/getServerURL.mjs";
|
|
@@ -37,16 +36,15 @@ import "../constants/events.constants.mjs";
|
|
|
37
36
|
import "../functions/utils/userAgent.mjs";
|
|
38
37
|
import "multiformats";
|
|
39
38
|
import "../API/tenderly.api.mjs";
|
|
40
|
-
import "ethers-v6h";
|
|
41
39
|
import "../functions/web3/events/getApprovedBalance.mjs";
|
|
42
40
|
import "../functions/web3/getTokenHolder.mjs";
|
|
43
41
|
import "async-mutex";
|
|
44
42
|
import { wagmiProviderAdapter as r } from "./WagmiProviderAdapter.mjs";
|
|
45
|
-
const
|
|
43
|
+
const V = async (t, o) => {
|
|
46
44
|
await m();
|
|
47
45
|
const i = new p();
|
|
48
46
|
return r.initConfig(o), await i.initProviderAdapter(t, r), await i.initUserKeys(), await i.resetMerkle(), i;
|
|
49
47
|
};
|
|
50
48
|
export {
|
|
51
|
-
|
|
49
|
+
V as prepareWagmiHinkal
|
|
52
50
|
};
|