@swapkit/wallets 4.0.0-beta.54 → 4.0.0-beta.55
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/dist/{chunk-e674mh4n.js → chunk-mcrgqfr9.js} +3 -3
- package/dist/{chunk-e674mh4n.js.map → chunk-mcrgqfr9.js.map} +1 -1
- package/dist/{chunk-mvbb9fwb.js → chunk-sbf0f2p4.js} +2 -2
- package/dist/{chunk-p2ca0j1v.js → chunk-yqaz2d25.js} +3 -3
- package/dist/{chunk-p2ca0j1v.js.map → chunk-yqaz2d25.js.map} +1 -1
- package/dist/src/bitget/index.cjs +2 -2
- package/dist/src/bitget/index.cjs.map +3 -3
- package/dist/src/bitget/index.js +2 -2
- package/dist/src/bitget/index.js.map +3 -3
- package/dist/src/coinbase/index.cjs +2 -2
- package/dist/src/coinbase/index.cjs.map +3 -3
- package/dist/src/coinbase/index.js +2 -2
- package/dist/src/coinbase/index.js.map +3 -3
- package/dist/src/cosmostation/index.cjs +2 -2
- package/dist/src/cosmostation/index.cjs.map +3 -3
- package/dist/src/cosmostation/index.js +2 -2
- package/dist/src/cosmostation/index.js.map +3 -3
- package/dist/src/ctrl/index.cjs +2 -2
- package/dist/src/ctrl/index.cjs.map +3 -3
- package/dist/src/ctrl/index.js +2 -2
- package/dist/src/ctrl/index.js.map +3 -3
- package/dist/src/evm-extensions/index.cjs +2 -2
- package/dist/src/evm-extensions/index.cjs.map +3 -3
- package/dist/src/evm-extensions/index.js +2 -2
- package/dist/src/evm-extensions/index.js.map +3 -3
- package/dist/src/exodus/index.cjs +2 -2
- package/dist/src/exodus/index.cjs.map +3 -3
- package/dist/src/exodus/index.js +2 -2
- package/dist/src/exodus/index.js.map +3 -3
- package/dist/src/index.cjs +2 -2
- package/dist/src/index.cjs.map +5 -3
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +5 -3
- package/dist/src/keepkey-bex/index.cjs +2 -2
- package/dist/src/keepkey-bex/index.cjs.map +3 -3
- package/dist/src/keepkey-bex/index.js +2 -2
- package/dist/src/keepkey-bex/index.js.map +3 -3
- package/dist/src/keepkey.cjs +4 -0
- package/dist/src/keepkey.cjs.map +10 -0
- package/dist/src/keepkey.js +4 -0
- package/dist/src/keepkey.js.map +10 -0
- package/dist/src/keplr/index.cjs +2 -2
- package/dist/src/keplr/index.cjs.map +3 -3
- package/dist/src/keplr/index.js +2 -2
- package/dist/src/keplr/index.js.map +3 -3
- package/dist/src/keystore.cjs +4 -0
- package/dist/src/keystore.cjs.map +10 -0
- package/dist/src/keystore.js +4 -0
- package/dist/src/keystore.js.map +10 -0
- package/dist/src/ledger.cjs +4 -0
- package/dist/src/ledger.cjs.map +10 -0
- package/dist/src/ledger.js +4 -0
- package/dist/src/ledger.js.map +10 -0
- package/dist/src/okx/index.cjs +2 -2
- package/dist/src/okx/index.cjs.map +4 -4
- package/dist/src/okx/index.js +2 -2
- package/dist/src/okx/index.js.map +4 -4
- package/dist/src/onekey/index.cjs +2 -2
- package/dist/src/onekey/index.cjs.map +3 -3
- package/dist/src/onekey/index.js +2 -2
- package/dist/src/onekey/index.js.map +3 -3
- package/dist/src/phantom/index.cjs +2 -2
- package/dist/src/phantom/index.cjs.map +3 -3
- package/dist/src/phantom/index.js +2 -2
- package/dist/src/phantom/index.js.map +3 -3
- package/dist/src/polkadotjs/index.cjs +2 -2
- package/dist/src/polkadotjs/index.cjs.map +3 -3
- package/dist/src/polkadotjs/index.js +2 -2
- package/dist/src/polkadotjs/index.js.map +3 -3
- package/dist/src/radix/index.cjs +2 -2
- package/dist/src/radix/index.cjs.map +3 -3
- package/dist/src/radix/index.js +2 -2
- package/dist/src/radix/index.js.map +3 -3
- package/dist/src/talisman/index.cjs +2 -2
- package/dist/src/talisman/index.cjs.map +3 -3
- package/dist/src/talisman/index.js +2 -2
- package/dist/src/talisman/index.js.map +3 -3
- package/dist/src/trezor.cjs +4 -0
- package/dist/src/trezor.cjs.map +10 -0
- package/dist/src/trezor.js +4 -0
- package/dist/src/trezor.js.map +10 -0
- package/dist/src/vultisig/index.cjs +2 -2
- package/dist/src/vultisig/index.cjs.map +3 -3
- package/dist/src/vultisig/index.js +2 -2
- package/dist/src/vultisig/index.js.map +3 -3
- package/dist/src/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +3 -3
- package/dist/src/walletconnect/index.js +2 -2
- package/dist/src/walletconnect/index.js.map +3 -3
- package/dist/src/xaman/index.cjs +2 -2
- package/dist/src/xaman/index.cjs.map +5 -5
- package/dist/src/xaman/index.js +2 -2
- package/dist/src/xaman/index.js.map +5 -5
- package/dist/types/bitget/helpers.d.ts +330 -0
- package/dist/types/bitget/helpers.d.ts.map +1 -0
- package/dist/types/bitget/index.d.ts +11 -0
- package/dist/types/bitget/index.d.ts.map +1 -0
- package/dist/types/coinbase/index.d.ts +11 -0
- package/dist/types/coinbase/index.d.ts.map +1 -0
- package/dist/types/coinbase/signer.d.ts +91 -0
- package/dist/types/coinbase/signer.d.ts.map +1 -0
- package/dist/types/cosmostation/index.d.ts +21 -0
- package/dist/types/cosmostation/index.d.ts.map +1 -0
- package/dist/types/ctrl/index.d.ts +11 -0
- package/dist/types/ctrl/index.d.ts.map +1 -0
- package/dist/types/ctrl/walletHelpers.d.ts +24 -0
- package/dist/types/ctrl/walletHelpers.d.ts.map +1 -0
- package/dist/types/evm-extensions/index.d.ts +101 -0
- package/dist/types/evm-extensions/index.d.ts.map +1 -0
- package/{src/evm-extensions/types.ts → dist/types/evm-extensions/types.d.ts} +11 -13
- package/dist/types/evm-extensions/types.d.ts.map +1 -0
- package/dist/types/exodus/index.d.ts +14 -0
- package/dist/types/exodus/index.d.ts.map +1 -0
- package/dist/types/helpers/near.d.ts +57 -0
- package/dist/types/helpers/near.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/keepkey-bex/index.d.ts +11 -0
- package/dist/types/keepkey-bex/index.d.ts.map +1 -0
- package/dist/types/keepkey-bex/walletHelpers.d.ts +45 -0
- package/dist/types/keepkey-bex/walletHelpers.d.ts.map +1 -0
- package/dist/types/keepkey.d.ts +2 -0
- package/dist/types/keepkey.d.ts.map +1 -0
- package/dist/types/keplr/chainRegistry.d.ts +4 -0
- package/dist/types/keplr/chainRegistry.d.ts.map +1 -0
- package/dist/types/keplr/index.d.ts +11 -0
- package/dist/types/keplr/index.d.ts.map +1 -0
- package/dist/types/keystore.d.ts +2 -0
- package/dist/types/keystore.d.ts.map +1 -0
- package/dist/types/ledger.d.ts +2 -0
- package/dist/types/ledger.d.ts.map +1 -0
- package/dist/types/okx/helpers.d.ts +227 -0
- package/dist/types/okx/helpers.d.ts.map +1 -0
- package/dist/types/okx/index.d.ts +11 -0
- package/dist/types/okx/index.d.ts.map +1 -0
- package/dist/types/okx/types.d.ts +104 -0
- package/dist/types/okx/types.d.ts.map +1 -0
- package/dist/types/onekey/evmSigner.d.ts +29 -0
- package/dist/types/onekey/evmSigner.d.ts.map +1 -0
- package/dist/types/onekey/index.d.ts +11 -0
- package/dist/types/onekey/index.d.ts.map +1 -0
- package/dist/types/phantom/index.d.ts +12 -0
- package/dist/types/phantom/index.d.ts.map +1 -0
- package/dist/types/polkadotjs/index.d.ts +11 -0
- package/dist/types/polkadotjs/index.d.ts.map +1 -0
- package/dist/types/radix/index.d.ts +11 -0
- package/dist/types/radix/index.d.ts.map +1 -0
- package/dist/types/talisman/index.d.ts +11 -0
- package/dist/types/talisman/index.d.ts.map +1 -0
- package/dist/types/trezor.d.ts +2 -0
- package/dist/types/trezor.d.ts.map +1 -0
- package/dist/types/types.d.ts +246 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils.d.ts +4 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/vultisig/index.d.ts +11 -0
- package/dist/types/vultisig/index.d.ts.map +1 -0
- package/dist/types/vultisig/walletHelpers.d.ts +34 -0
- package/dist/types/vultisig/walletHelpers.d.ts.map +1 -0
- package/dist/types/walletconnect/constants.d.ts +85 -0
- package/dist/types/walletconnect/constants.d.ts.map +1 -0
- package/dist/types/walletconnect/evmSigner.d.ts +25 -0
- package/dist/types/walletconnect/evmSigner.d.ts.map +1 -0
- package/dist/types/walletconnect/helpers.d.ts +4 -0
- package/dist/types/walletconnect/helpers.d.ts.map +1 -0
- package/dist/types/walletconnect/index.d.ts +22 -0
- package/dist/types/walletconnect/index.d.ts.map +1 -0
- package/dist/types/walletconnect/namespaces.d.ts +7 -0
- package/dist/types/walletconnect/namespaces.d.ts.map +1 -0
- package/dist/types/walletconnect/types.d.ts +7 -0
- package/dist/types/walletconnect/types.d.ts.map +1 -0
- package/dist/types/xaman/helpers.d.ts +54 -0
- package/dist/types/xaman/helpers.d.ts.map +1 -0
- package/dist/types/xaman/index.d.ts +14 -0
- package/dist/types/xaman/index.d.ts.map +1 -0
- package/dist/types/xaman/types.d.ts +24 -0
- package/dist/types/xaman/types.d.ts.map +1 -0
- package/dist/types/xaman/walletMethods.d.ts +16 -0
- package/dist/types/xaman/walletMethods.d.ts.map +1 -0
- package/package.json +44 -68
- package/dist/chunk-2aa1w78q.js +0 -4
- package/dist/chunk-2aa1w78q.js.map +0 -10
- package/dist/chunk-31bmhjxx.js +0 -4
- package/dist/chunk-31bmhjxx.js.map +0 -10
- package/dist/chunk-3etn0w20.js +0 -4
- package/dist/chunk-3etn0w20.js.map +0 -10
- package/dist/chunk-bk58smyr.js +0 -4
- package/dist/chunk-bk58smyr.js.map +0 -10
- package/dist/chunk-etm8zfkk.js +0 -4
- package/dist/chunk-etm8zfkk.js.map +0 -10
- package/dist/chunk-h7myvxxm.js +0 -5
- package/dist/chunk-h7myvxxm.js.map +0 -10
- package/dist/chunk-htvthkj1.js +0 -5
- package/dist/chunk-htvthkj1.js.map +0 -10
- package/dist/chunk-nfas79hz.js +0 -4
- package/dist/chunk-nfas79hz.js.map +0 -10
- package/dist/src/keepkey/index.cjs +0 -4
- package/dist/src/keepkey/index.cjs.map +0 -15
- package/dist/src/keepkey/index.js +0 -4
- package/dist/src/keepkey/index.js.map +0 -15
- package/dist/src/keystore/index.cjs +0 -4
- package/dist/src/keystore/index.cjs.map +0 -11
- package/dist/src/keystore/index.js +0 -4
- package/dist/src/keystore/index.js.map +0 -11
- package/dist/src/ledger/index.cjs +0 -5
- package/dist/src/ledger/index.cjs.map +0 -25
- package/dist/src/ledger/index.js +0 -5
- package/dist/src/ledger/index.js.map +0 -25
- package/dist/src/trezor/index.cjs +0 -4
- package/dist/src/trezor/index.cjs.map +0 -10
- package/dist/src/trezor/index.js +0 -4
- package/dist/src/trezor/index.js.map +0 -10
- package/src/bitget/helpers.ts +0 -167
- package/src/bitget/index.ts +0 -34
- package/src/coinbase/index.ts +0 -52
- package/src/coinbase/signer.ts +0 -83
- package/src/cosmostation/index.ts +0 -142
- package/src/ctrl/index.ts +0 -248
- package/src/ctrl/walletHelpers.ts +0 -297
- package/src/evm-extensions/index.ts +0 -134
- package/src/exodus/index.ts +0 -179
- package/src/helpers/near-browser-provider.d.ts +0 -286
- package/src/helpers/near.ts +0 -206
- package/src/index.ts +0 -2
- package/src/keepkey/chains/cosmos.ts +0 -78
- package/src/keepkey/chains/evm.ts +0 -125
- package/src/keepkey/chains/mayachain.ts +0 -123
- package/src/keepkey/chains/ripple.ts +0 -118
- package/src/keepkey/chains/thorchain.ts +0 -118
- package/src/keepkey/chains/utxo.ts +0 -147
- package/src/keepkey/coins.ts +0 -71
- package/src/keepkey/index.ts +0 -153
- package/src/keepkey-bex/index.ts +0 -162
- package/src/keepkey-bex/walletHelpers.ts +0 -255
- package/src/keplr/chainRegistry.ts +0 -211
- package/src/keplr/index.ts +0 -55
- package/src/keystore/helpers.ts +0 -102
- package/src/keystore/index.ts +0 -73
- package/src/ledger/clients/cosmos.ts +0 -102
- package/src/ledger/clients/evm.ts +0 -183
- package/src/ledger/clients/near.ts +0 -86
- package/src/ledger/clients/thorchain/common.ts +0 -117
- package/src/ledger/clients/thorchain/helpers.ts +0 -149
- package/src/ledger/clients/thorchain/index.ts +0 -94
- package/src/ledger/clients/thorchain/lib.ts +0 -300
- package/src/ledger/clients/thorchain/utils.ts +0 -76
- package/src/ledger/clients/tron.ts +0 -92
- package/src/ledger/clients/utxo.ts +0 -148
- package/src/ledger/clients/xrp.ts +0 -66
- package/src/ledger/cosmosTypes.ts +0 -101
- package/src/ledger/helpers/getLedgerAddress.ts +0 -67
- package/src/ledger/helpers/getLedgerClient.ts +0 -124
- package/src/ledger/helpers/getLedgerTransport.ts +0 -80
- package/src/ledger/helpers/index.ts +0 -3
- package/src/ledger/index.ts +0 -311
- package/src/ledger/interfaces/CosmosLedgerInterface.ts +0 -65
- package/src/ledger/types.ts +0 -45
- package/src/okx/helpers.ts +0 -181
- package/src/okx/index.ts +0 -43
- package/src/okx/types.ts +0 -117
- package/src/onekey/evmSigner.ts +0 -133
- package/src/onekey/index.ts +0 -213
- package/src/phantom/index.ts +0 -126
- package/src/polkadotjs/index.ts +0 -67
- package/src/radix/index.ts +0 -202
- package/src/talisman/index.ts +0 -130
- package/src/trezor/evmSigner.ts +0 -197
- package/src/trezor/index.ts +0 -260
- package/src/types.ts +0 -280
- package/src/utils.ts +0 -60
- package/src/vultisig/index.ts +0 -199
- package/src/vultisig/walletHelpers.ts +0 -359
- package/src/walletconnect/constants.ts +0 -104
- package/src/walletconnect/evmSigner.ts +0 -147
- package/src/walletconnect/helpers.ts +0 -77
- package/src/walletconnect/index.ts +0 -460
- package/src/walletconnect/namespaces.ts +0 -87
- package/src/walletconnect/types.ts +0 -6
- package/src/xaman/README.md +0 -66
- package/src/xaman/helpers.ts +0 -59
- package/src/xaman/index.ts +0 -79
- package/src/xaman/types.ts +0 -26
- package/src/xaman/walletMethods.ts +0 -126
- /package/dist/{chunk-mvbb9fwb.js.map → chunk-sbf0f2p4.js.map} +0 -0
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type AssetValue,
|
|
3
|
-
Chain,
|
|
4
|
-
ChainToChainId,
|
|
5
|
-
type EVMChain,
|
|
6
|
-
EVMChains,
|
|
7
|
-
type FeeOption,
|
|
8
|
-
type NetworkParams,
|
|
9
|
-
SwapKitError,
|
|
10
|
-
type UTXOChain,
|
|
11
|
-
WalletOption,
|
|
12
|
-
providerRequest,
|
|
13
|
-
} from "@swapkit/helpers";
|
|
14
|
-
import { erc20ABI } from "@swapkit/helpers/contracts";
|
|
15
|
-
import type { getCosmosToolbox } from "@swapkit/toolboxes/cosmos";
|
|
16
|
-
import type { ApproveParams, CallParams, EVMTxParams } from "@swapkit/toolboxes/evm";
|
|
17
|
-
import type { SolanaProvider } from "@swapkit/toolboxes/solana";
|
|
18
|
-
import type { BrowserProvider, Eip1193Provider } from "ethers";
|
|
19
|
-
import type { VultisigCosmosProvider } from "../types";
|
|
20
|
-
|
|
21
|
-
type TransactionMethod = "send_transaction" | "deposit_transaction";
|
|
22
|
-
|
|
23
|
-
type TransactionParams = {
|
|
24
|
-
asset: string | { chain: string; symbol: string; ticker: string };
|
|
25
|
-
amount: number | string | { amount: number; decimals?: number };
|
|
26
|
-
decimal?: number;
|
|
27
|
-
to: string;
|
|
28
|
-
data?: string;
|
|
29
|
-
from?: string;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export type WalletTxParams = {
|
|
33
|
-
feeOptionKey?: FeeOption;
|
|
34
|
-
from?: string;
|
|
35
|
-
memo?: string;
|
|
36
|
-
recipient: string;
|
|
37
|
-
assetValue: AssetValue;
|
|
38
|
-
gasLimit?: string | bigint;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
type VultisigProviderType<T> = T extends Chain.Solana
|
|
42
|
-
? SolanaProvider
|
|
43
|
-
: T extends Chain.Cosmos | Chain.Kujira
|
|
44
|
-
? VultisigCosmosProvider
|
|
45
|
-
: T extends EVMChain
|
|
46
|
-
? Eip1193Provider
|
|
47
|
-
: T extends Chain.Maya | Chain.THORChain | Chain.Ripple | Chain.Polkadot | UTXOChain
|
|
48
|
-
? Eip1193Provider
|
|
49
|
-
: undefined;
|
|
50
|
-
|
|
51
|
-
export async function getVultisigProvider<T extends Chain>(
|
|
52
|
-
chain: T,
|
|
53
|
-
): Promise<VultisigProviderType<T>> {
|
|
54
|
-
if (!window.vultisig) throw new SwapKitError("wallet_vultisig_not_found");
|
|
55
|
-
const { match } = await import("ts-pattern");
|
|
56
|
-
|
|
57
|
-
return match(chain as Chain)
|
|
58
|
-
.with(...EVMChains, () => window.vultisig?.ethereum as Eip1193Provider)
|
|
59
|
-
.with(Chain.Cosmos, Chain.Kujira, () => window.vultisig?.cosmos as VultisigCosmosProvider)
|
|
60
|
-
.with(Chain.Bitcoin, () => window.vultisig?.bitcoin as Eip1193Provider)
|
|
61
|
-
.with(Chain.BitcoinCash, () => window.vultisig?.bitcoincash as Eip1193Provider)
|
|
62
|
-
.with(Chain.Dash, () => window.vultisig?.dash as Eip1193Provider)
|
|
63
|
-
.with(Chain.Dogecoin, () => window.vultisig?.dogecoin as Eip1193Provider)
|
|
64
|
-
.with(Chain.Litecoin, () => window.vultisig?.litecoin as Eip1193Provider)
|
|
65
|
-
.with(Chain.Solana, () => window.vultisig?.solana as SolanaProvider)
|
|
66
|
-
.with(Chain.THORChain, () => window.vultisig?.thorchain as Eip1193Provider)
|
|
67
|
-
.with(Chain.Maya, () => window.vultisig?.mayachain as Eip1193Provider)
|
|
68
|
-
.with(Chain.Polkadot, () => window.vultisig?.polkadot as Eip1193Provider)
|
|
69
|
-
.with(Chain.Ripple, () => window.vultisig?.ripple as Eip1193Provider)
|
|
70
|
-
.with(Chain.Zcash, () => window.vultisig?.zcash as Eip1193Provider)
|
|
71
|
-
.otherwise(() => undefined) as VultisigProviderType<T>;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
async function transaction({
|
|
75
|
-
method,
|
|
76
|
-
params,
|
|
77
|
-
chain,
|
|
78
|
-
}: {
|
|
79
|
-
method: TransactionMethod;
|
|
80
|
-
params: TransactionParams[];
|
|
81
|
-
chain: Chain;
|
|
82
|
-
}): Promise<string> {
|
|
83
|
-
const client = await getVultisigProvider(chain);
|
|
84
|
-
let finalParams:
|
|
85
|
-
| TransactionParams[]
|
|
86
|
-
| {
|
|
87
|
-
from: string;
|
|
88
|
-
to?: string;
|
|
89
|
-
value: string;
|
|
90
|
-
data?: string;
|
|
91
|
-
}[] = params;
|
|
92
|
-
|
|
93
|
-
if (chain === Chain.Cosmos || chain === Chain.Kujira || chain === Chain.Ripple) {
|
|
94
|
-
finalParams = params.map((p) => ({
|
|
95
|
-
from: p.from as string,
|
|
96
|
-
to: p.to as string,
|
|
97
|
-
value: (p.amount as { amount: number; decimals?: number }).amount.toString(),
|
|
98
|
-
data: p.data as string,
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return new Promise<string>((resolve, reject) => {
|
|
103
|
-
if (client && "request" in client) {
|
|
104
|
-
// @ts-ignore
|
|
105
|
-
client.request({ method, params: finalParams }, (err: string, tx: string) => {
|
|
106
|
-
err ? reject(err) : resolve(tx);
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export async function getVultisigAddress(chain: Chain) {
|
|
113
|
-
try {
|
|
114
|
-
const eipProvider = (await getVultisigProvider(chain)) as Eip1193Provider;
|
|
115
|
-
if (!eipProvider) {
|
|
116
|
-
throw new SwapKitError({
|
|
117
|
-
errorKey: "wallet_provider_not_found",
|
|
118
|
-
info: { wallet: WalletOption.VULTISIG, chain },
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if ([Chain.Cosmos, Chain.Kujira].includes(chain)) {
|
|
123
|
-
const provider = await getVultisigProvider(Chain.Cosmos);
|
|
124
|
-
const chainId = ChainToChainId[chain];
|
|
125
|
-
|
|
126
|
-
await provider.request({
|
|
127
|
-
method: "wallet_switch_chain",
|
|
128
|
-
params: [{ chainId }],
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
let account = await provider.request({
|
|
132
|
-
method: "get_accounts",
|
|
133
|
-
});
|
|
134
|
-
if (!account) {
|
|
135
|
-
const connectedAcount = await provider.request({
|
|
136
|
-
method: "request_accounts",
|
|
137
|
-
});
|
|
138
|
-
account = connectedAcount[0].address;
|
|
139
|
-
}
|
|
140
|
-
return account;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (EVMChains.includes(chain as EVMChain)) {
|
|
144
|
-
if ("request" in eipProvider && typeof eipProvider.request === "function") {
|
|
145
|
-
const accounts = await eipProvider.request({ method: "eth_requestAccounts" });
|
|
146
|
-
return accounts[0];
|
|
147
|
-
}
|
|
148
|
-
const { BrowserProvider } = await import("ethers");
|
|
149
|
-
const provider = new BrowserProvider(eipProvider, "any");
|
|
150
|
-
const [response] = await providerRequest({
|
|
151
|
-
provider,
|
|
152
|
-
method: "eth_requestAccounts",
|
|
153
|
-
params: [],
|
|
154
|
-
});
|
|
155
|
-
return response;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
if (chain === Chain.Solana) {
|
|
159
|
-
const provider = await getVultisigProvider(Chain.Solana);
|
|
160
|
-
|
|
161
|
-
const accounts = await provider.connect();
|
|
162
|
-
return accounts.publicKey.toString();
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
const accounts = await eipProvider.request({ method: "request_accounts", params: [] });
|
|
166
|
-
return accounts[0];
|
|
167
|
-
} catch (_error) {
|
|
168
|
-
throw new SwapKitError({
|
|
169
|
-
errorKey: "wallet_provider_not_found",
|
|
170
|
-
info: { wallet: WalletOption.VULTISIG, chain },
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export async function walletTransfer(
|
|
176
|
-
{ assetValue, recipient, memo, gasLimit }: WalletTxParams,
|
|
177
|
-
method: TransactionMethod = "send_transaction",
|
|
178
|
-
) {
|
|
179
|
-
if (!assetValue) {
|
|
180
|
-
throw new SwapKitError("wallet_vultisig_asset_not_defined");
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* EVM requires amount to be hex string
|
|
185
|
-
* UTXO/Cosmos requires amount to be number
|
|
186
|
-
*/
|
|
187
|
-
|
|
188
|
-
const from = await getVultisigAddress(assetValue.chain);
|
|
189
|
-
const params = [
|
|
190
|
-
{
|
|
191
|
-
amount: {
|
|
192
|
-
amount: assetValue.getBaseValue("number"),
|
|
193
|
-
decimals: assetValue.decimal,
|
|
194
|
-
},
|
|
195
|
-
asset: {
|
|
196
|
-
chain: assetValue.chain,
|
|
197
|
-
symbol: assetValue.symbol.toUpperCase(),
|
|
198
|
-
ticker: assetValue.symbol.toUpperCase(),
|
|
199
|
-
},
|
|
200
|
-
data: memo || "",
|
|
201
|
-
from,
|
|
202
|
-
to: recipient,
|
|
203
|
-
gasLimit,
|
|
204
|
-
},
|
|
205
|
-
];
|
|
206
|
-
|
|
207
|
-
return transaction({ method, params, chain: assetValue.chain });
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export function getVultisigMethods(provider: BrowserProvider, chain: EVMChain) {
|
|
211
|
-
return {
|
|
212
|
-
call: async <T>({
|
|
213
|
-
contractAddress,
|
|
214
|
-
abi,
|
|
215
|
-
funcName,
|
|
216
|
-
funcParams = [],
|
|
217
|
-
txOverrides,
|
|
218
|
-
}: CallParams): Promise<T> => {
|
|
219
|
-
if (!contractAddress) {
|
|
220
|
-
throw new SwapKitError("wallet_vultisig_contract_address_not_provided");
|
|
221
|
-
}
|
|
222
|
-
const { createContract, getCreateContractTxObject, isStateChangingCall } = await import(
|
|
223
|
-
"@swapkit/toolboxes/evm"
|
|
224
|
-
);
|
|
225
|
-
|
|
226
|
-
const isStateChanging = isStateChangingCall({ abi, funcName });
|
|
227
|
-
|
|
228
|
-
if (isStateChanging) {
|
|
229
|
-
const createTx = getCreateContractTxObject({ provider, chain });
|
|
230
|
-
const { value, from, to, data } = await createTx({
|
|
231
|
-
contractAddress,
|
|
232
|
-
abi,
|
|
233
|
-
funcName,
|
|
234
|
-
funcParams,
|
|
235
|
-
txOverrides,
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
const signer = await provider.getSigner();
|
|
239
|
-
const tx = await signer.sendTransaction({
|
|
240
|
-
value: BigInt(value || 0),
|
|
241
|
-
from,
|
|
242
|
-
to,
|
|
243
|
-
data: data || "0x",
|
|
244
|
-
});
|
|
245
|
-
return tx.hash as T;
|
|
246
|
-
}
|
|
247
|
-
const contract = createContract(contractAddress, abi, provider);
|
|
248
|
-
|
|
249
|
-
const result = await contract[funcName]?.(...funcParams);
|
|
250
|
-
|
|
251
|
-
return typeof result?.hash === "string" ? result?.hash : result;
|
|
252
|
-
},
|
|
253
|
-
approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {
|
|
254
|
-
const { MAX_APPROVAL, getCreateContractTxObject } = await import("@swapkit/toolboxes/evm");
|
|
255
|
-
const funcParams = [spenderAddress, BigInt(amount || MAX_APPROVAL)];
|
|
256
|
-
const txOverrides = { from };
|
|
257
|
-
|
|
258
|
-
const functionCallParams = {
|
|
259
|
-
contractAddress: assetAddress,
|
|
260
|
-
abi: erc20ABI,
|
|
261
|
-
funcName: "approve",
|
|
262
|
-
funcParams,
|
|
263
|
-
txOverrides,
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
const createTx = getCreateContractTxObject({ provider, chain });
|
|
267
|
-
const { value, to, data } = await createTx(functionCallParams);
|
|
268
|
-
|
|
269
|
-
const signer = await provider.getSigner();
|
|
270
|
-
const tx = await signer.sendTransaction({
|
|
271
|
-
value: BigInt(value || 0),
|
|
272
|
-
from,
|
|
273
|
-
to,
|
|
274
|
-
data: data || "0x",
|
|
275
|
-
});
|
|
276
|
-
return tx.hash;
|
|
277
|
-
},
|
|
278
|
-
sendTransaction: async (txParams: EVMTxParams) => {
|
|
279
|
-
const { from, to, data, value } = txParams;
|
|
280
|
-
if (!to) {
|
|
281
|
-
throw new SwapKitError("wallet_vultisig_send_transaction_no_address");
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
const signer = await provider.getSigner();
|
|
285
|
-
const tx = await signer.sendTransaction({
|
|
286
|
-
value: BigInt(value || 0),
|
|
287
|
-
from,
|
|
288
|
-
to,
|
|
289
|
-
data: data || "0x",
|
|
290
|
-
});
|
|
291
|
-
return tx.hash;
|
|
292
|
-
},
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
export async function switchCosmosWalletNetwork(
|
|
297
|
-
provider: VultisigCosmosProvider,
|
|
298
|
-
chain: Chain.Cosmos | Chain.Kujira,
|
|
299
|
-
networkParams?: NetworkParams,
|
|
300
|
-
) {
|
|
301
|
-
try {
|
|
302
|
-
await provider.request({
|
|
303
|
-
method: "wallet_switch_chain",
|
|
304
|
-
params: [{ chainId: ChainToChainId[chain] }],
|
|
305
|
-
});
|
|
306
|
-
} catch (error) {
|
|
307
|
-
if (!networkParams) {
|
|
308
|
-
throw new SwapKitError("helpers_failed_to_switch_network", {
|
|
309
|
-
error: error,
|
|
310
|
-
reason: "networkParams not provided",
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
export function wrapMethodWithNetworkSwitch<T extends (...args: any[]) => any>(
|
|
317
|
-
func: T,
|
|
318
|
-
provider: VultisigCosmosProvider,
|
|
319
|
-
chain: Chain.Cosmos | Chain.Kujira,
|
|
320
|
-
) {
|
|
321
|
-
return (async (...args: any[]) => {
|
|
322
|
-
try {
|
|
323
|
-
await switchCosmosWalletNetwork(provider, chain);
|
|
324
|
-
} catch (error) {
|
|
325
|
-
throw new SwapKitError({
|
|
326
|
-
errorKey: "helpers_failed_to_switch_network",
|
|
327
|
-
info: { error },
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
return func(...args);
|
|
331
|
-
}) as unknown as T;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
export function prepareNetworkSwitchCosmos<
|
|
335
|
-
T extends Awaited<ReturnType<typeof getCosmosToolbox>>,
|
|
336
|
-
M extends keyof T,
|
|
337
|
-
>({
|
|
338
|
-
toolbox,
|
|
339
|
-
chain,
|
|
340
|
-
provider = window.ethereum,
|
|
341
|
-
methodNames = [],
|
|
342
|
-
}: { toolbox: T; chain: Chain; provider?: VultisigCosmosProvider; methodNames?: M[] }) {
|
|
343
|
-
const methodsToWrap = [...methodNames, "transfer", "getAddress", "getBalance"] as M[];
|
|
344
|
-
const wrappedMethods = methodsToWrap.reduce((object, methodName) => {
|
|
345
|
-
if (!toolbox[methodName]) return object;
|
|
346
|
-
|
|
347
|
-
const method = toolbox[methodName];
|
|
348
|
-
|
|
349
|
-
if (typeof method !== "function") return object;
|
|
350
|
-
|
|
351
|
-
// @ts-expect-error
|
|
352
|
-
const wrappedMethod = wrapMethodWithNetworkSwitch(method, provider, chain);
|
|
353
|
-
|
|
354
|
-
// biome-ignore lint/performance/noAccumulatingSpread: valid use case
|
|
355
|
-
return { ...object, [methodName]: wrappedMethod };
|
|
356
|
-
}, {});
|
|
357
|
-
|
|
358
|
-
return { ...toolbox, ...wrappedMethods };
|
|
359
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import type { ClientMetadata } from "./types";
|
|
2
|
-
|
|
3
|
-
export const DEFAULT_RELAY_URL = "wss://relay.walletconnect.com";
|
|
4
|
-
|
|
5
|
-
export const ETHEREUM_MAINNET_ID = "eip155:1";
|
|
6
|
-
export const BSC_MAINNET_ID = "eip155:56";
|
|
7
|
-
export const AVALANCHE_MAINNET_ID = "eip155:43114";
|
|
8
|
-
export const THORCHAIN_MAINNET_ID = "cosmos:thorchain";
|
|
9
|
-
export const COSMOS_HUB_MAINNET_ID = "cosmos:cosmoshub-4";
|
|
10
|
-
export const KUJIRA_MAINNET_ID = "cosmos:kaiyo-1";
|
|
11
|
-
export const MAYACHAIN_MAINNET_ID = "cosmos:mayachain-mainnet-v1";
|
|
12
|
-
export const ARBITRUM_ONE_MAINNET_ID = "eip155:42161";
|
|
13
|
-
export const OPTIMISM_MAINNET_ID = "eip155:10";
|
|
14
|
-
export const POLYGON_MAINNET_ID = "eip155:137";
|
|
15
|
-
export const BASE_MAINNET_ID = "eip155:8453";
|
|
16
|
-
export const NEAR_MAINNET_ID = "near:mainnet";
|
|
17
|
-
export const NEAR_TESTNET_ID = "near:testnet";
|
|
18
|
-
export const TRON_MAINNET_ID = "tron:0x2b6653dc";
|
|
19
|
-
export const AURORA_MAINNET_ID = "eip155:1313161554";
|
|
20
|
-
export const BERACHAIN_MAINNET_ID = "eip155:80094";
|
|
21
|
-
|
|
22
|
-
export const DEFAULT_LOGGER = "debug";
|
|
23
|
-
|
|
24
|
-
export const DEFAULT_APP_METADATA: ClientMetadata = {
|
|
25
|
-
name: "SwapKit",
|
|
26
|
-
description: "SwapKit cross-chain SDK",
|
|
27
|
-
url: "https://swapkit.dev/",
|
|
28
|
-
icons: [
|
|
29
|
-
"https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png",
|
|
30
|
-
],
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* EIP155
|
|
35
|
-
*/
|
|
36
|
-
export enum DEFAULT_EIP155_METHODS {
|
|
37
|
-
ETH_SEND_TRANSACTION = "eth_sendTransaction",
|
|
38
|
-
// not supported by most WC wallets
|
|
39
|
-
// ETH_SIGN_TRANSACTION = 'eth_signTransaction',
|
|
40
|
-
ETH_SIGN = "eth_sign",
|
|
41
|
-
PERSONAL_SIGN = "personal_sign",
|
|
42
|
-
ETH_SIGN_TYPED_DATA = "eth_signTypedData",
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export enum DEFAULT_EIP_155_EVENTS {
|
|
46
|
-
ETH_CHAIN_CHANGED = "chainChanged",
|
|
47
|
-
ETH_ACCOUNTS_CHANGED = "accountsChanged",
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* COSMOS
|
|
52
|
-
*/
|
|
53
|
-
export enum DEFAULT_COSMOS_METHODS {
|
|
54
|
-
COSMOS_SIGN_DIRECT = "cosmos_signDirect",
|
|
55
|
-
COSMOS_SIGN_AMINO = "cosmos_signAmino",
|
|
56
|
-
COSMOS_GET_ACCOUNTS = "cosmos_getAccounts",
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export enum DEFAULT_COSMOS_EVENTS {}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* SOLANA
|
|
63
|
-
*/
|
|
64
|
-
export enum DEFAULT_SOLANA_METHODS {
|
|
65
|
-
SOL_SIGN_TRANSACTION = "solana_signTransaction",
|
|
66
|
-
SOL_SIGN_MESSAGE = "solana_signMessage",
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export enum DEFAULT_SOLANA_EVENTS {}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* POLKADOT
|
|
73
|
-
*/
|
|
74
|
-
export enum DEFAULT_POLKADOT_METHODS {
|
|
75
|
-
POLKADOT_SIGN_TRANSACTION = "polkadot_signTransaction",
|
|
76
|
-
POLKADOT_SIGN_MESSAGE = "polkadot_signMessage",
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export enum DEFAULT_POLKADOT_EVENTS {}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* NEAR
|
|
83
|
-
*/
|
|
84
|
-
export enum DEFAULT_NEAR_METHODS {
|
|
85
|
-
NEAR_SIGN_IN = "near_signIn",
|
|
86
|
-
NEAR_SIGN_OUT = "near_signOut",
|
|
87
|
-
NEAR_GET_ACCOUNTS = "near_getAccounts",
|
|
88
|
-
NEAR_SIGN_AND_SEND_TRANSACTION = "near_signAndSendTransaction",
|
|
89
|
-
NEAR_SIGN_AND_SEND_TRANSACTIONS = "near_signAndSendTransactions",
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export enum DEFAULT_NEAR_EVENTS {}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* TRON
|
|
96
|
-
*/
|
|
97
|
-
export enum DEFAULT_TRON_METHODS {
|
|
98
|
-
TRON_SIGN_MESSAGE = "tron_signMessage",
|
|
99
|
-
TRON_SIGN_TRANSACTION = "tron_signTransaction",
|
|
100
|
-
TRON_SEND_TRANSACTION = "tron_sendTransaction",
|
|
101
|
-
TRON_GET_ACCOUNTS = "tron_getAccounts",
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export enum DEFAULT_TRON_EVENTS {}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { type EVMChain, SwapKitError, WalletOption } from "@swapkit/helpers";
|
|
2
|
-
import type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from "ethers";
|
|
3
|
-
import { AbstractSigner } from "ethers";
|
|
4
|
-
|
|
5
|
-
import { DEFAULT_EIP155_METHODS } from "./constants";
|
|
6
|
-
import { chainToChainId, getAddressByChain } from "./helpers";
|
|
7
|
-
import type { Walletconnect } from "./index";
|
|
8
|
-
|
|
9
|
-
interface WalletconnectEVMSignerParams {
|
|
10
|
-
chain: EVMChain;
|
|
11
|
-
walletconnect: Walletconnect;
|
|
12
|
-
provider: Provider | JsonRpcProvider;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
class WalletconnectSigner extends AbstractSigner {
|
|
16
|
-
address: string;
|
|
17
|
-
|
|
18
|
-
private chain: EVMChain;
|
|
19
|
-
private walletconnect: Walletconnect;
|
|
20
|
-
readonly provider: Provider | JsonRpcProvider;
|
|
21
|
-
|
|
22
|
-
constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {
|
|
23
|
-
super(provider);
|
|
24
|
-
this.chain = chain;
|
|
25
|
-
this.walletconnect = walletconnect;
|
|
26
|
-
this.provider = provider;
|
|
27
|
-
this.address = "";
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// biome-ignore lint/suspicious/useAwait: fulfil implementation type
|
|
31
|
-
getAddress = async () => {
|
|
32
|
-
if (!this.walletconnect) {
|
|
33
|
-
throw new SwapKitError("wallet_walletconnect_connection_not_established");
|
|
34
|
-
}
|
|
35
|
-
if (!this.address) {
|
|
36
|
-
this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return this.address;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
signMessage = async (message: string) => {
|
|
43
|
-
// this is probably broken
|
|
44
|
-
const txHash = (await this.walletconnect?.client.request({
|
|
45
|
-
chainId: chainToChainId(this.chain),
|
|
46
|
-
topic: this.walletconnect.session.topic || "",
|
|
47
|
-
request: {
|
|
48
|
-
method: DEFAULT_EIP155_METHODS.ETH_SIGN,
|
|
49
|
-
params: [message],
|
|
50
|
-
},
|
|
51
|
-
})) as string;
|
|
52
|
-
|
|
53
|
-
return txHash.startsWith("0x") ? txHash : `0x${txHash}`;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
signTransaction = () => {
|
|
57
|
-
throw new SwapKitError("wallet_walletconnect_method_not_supported", {
|
|
58
|
-
method: "signTransaction",
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
// const baseTx = {
|
|
62
|
-
// from,
|
|
63
|
-
// to,
|
|
64
|
-
// value: BigNumber.from(value || 0).toHexString(),
|
|
65
|
-
// data,
|
|
66
|
-
// };
|
|
67
|
-
|
|
68
|
-
// const txHash = (await this.walletconnect?.client.request({
|
|
69
|
-
// chainId: chainToChainId(this.chain),
|
|
70
|
-
// topic: this.walletconnect.session.topic,
|
|
71
|
-
// request: {
|
|
72
|
-
// method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,
|
|
73
|
-
// params: [baseTx],
|
|
74
|
-
// },
|
|
75
|
-
// })) as string;
|
|
76
|
-
|
|
77
|
-
// return txHash.startsWith('0x') ? txHash : `0x${txHash}`;
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// ANCHOR (@Towan) - Implement in future
|
|
81
|
-
signTypedData = () => {
|
|
82
|
-
throw new SwapKitError("wallet_walletconnect_method_not_supported", {
|
|
83
|
-
method: "signTypedData",
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
// const { toHexString } = await import('@swapkit/toolboxes/evm');
|
|
87
|
-
|
|
88
|
-
// const baseTx = {
|
|
89
|
-
// from,
|
|
90
|
-
// to,
|
|
91
|
-
// value: toHexString(value || 0n),
|
|
92
|
-
// data,
|
|
93
|
-
// };
|
|
94
|
-
|
|
95
|
-
// const txHash = (await this.walletconnect?.client.request({
|
|
96
|
-
// chainId: chainToChainId(this.chain),
|
|
97
|
-
// topic: this.walletconnect.session.topic,
|
|
98
|
-
// request: {
|
|
99
|
-
// method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,
|
|
100
|
-
// params: [baseTx],
|
|
101
|
-
// },
|
|
102
|
-
// })) as string;
|
|
103
|
-
|
|
104
|
-
// return txHash.startsWith('0x') ? txHash : `0x${txHash}`;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {
|
|
108
|
-
const { toHexString } = await import("@swapkit/toolboxes/evm");
|
|
109
|
-
|
|
110
|
-
const baseTx = {
|
|
111
|
-
from,
|
|
112
|
-
to,
|
|
113
|
-
value: toHexString(BigInt(value || 0)),
|
|
114
|
-
data,
|
|
115
|
-
};
|
|
116
|
-
const response = await this.walletconnect?.client.request({
|
|
117
|
-
chainId: chainToChainId(this.chain),
|
|
118
|
-
topic: this.walletconnect.session.topic,
|
|
119
|
-
request: {
|
|
120
|
-
method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION,
|
|
121
|
-
params: [baseTx],
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
return response as TransactionResponse;
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
connect = (provider: Provider | null) => {
|
|
129
|
-
if (!provider) {
|
|
130
|
-
throw new SwapKitError({
|
|
131
|
-
errorKey: "wallet_provider_not_found",
|
|
132
|
-
info: { wallet: WalletOption.WALLETCONNECT, chain: this.chain },
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return new WalletconnectSigner({
|
|
137
|
-
chain: this.chain,
|
|
138
|
-
walletconnect: this.walletconnect,
|
|
139
|
-
provider,
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
export const getEVMSigner = async ({
|
|
144
|
-
chain,
|
|
145
|
-
walletconnect,
|
|
146
|
-
provider,
|
|
147
|
-
}: WalletconnectEVMSignerParams) => new WalletconnectSigner({ chain, walletconnect, provider });
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Chain, type EVMChain, SKConfig } from "@swapkit/helpers";
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
ARBITRUM_ONE_MAINNET_ID,
|
|
5
|
-
AURORA_MAINNET_ID,
|
|
6
|
-
AVALANCHE_MAINNET_ID,
|
|
7
|
-
BASE_MAINNET_ID,
|
|
8
|
-
BERACHAIN_MAINNET_ID,
|
|
9
|
-
BSC_MAINNET_ID,
|
|
10
|
-
COSMOS_HUB_MAINNET_ID,
|
|
11
|
-
ETHEREUM_MAINNET_ID,
|
|
12
|
-
KUJIRA_MAINNET_ID,
|
|
13
|
-
MAYACHAIN_MAINNET_ID,
|
|
14
|
-
NEAR_MAINNET_ID,
|
|
15
|
-
NEAR_TESTNET_ID,
|
|
16
|
-
OPTIMISM_MAINNET_ID,
|
|
17
|
-
POLYGON_MAINNET_ID,
|
|
18
|
-
THORCHAIN_MAINNET_ID,
|
|
19
|
-
TRON_MAINNET_ID,
|
|
20
|
-
} from "./constants";
|
|
21
|
-
|
|
22
|
-
export const getAddressByChain = (
|
|
23
|
-
chain:
|
|
24
|
-
| EVMChain
|
|
25
|
-
| Chain.THORChain
|
|
26
|
-
| Chain.Maya
|
|
27
|
-
| Chain.Kujira
|
|
28
|
-
| Chain.Cosmos
|
|
29
|
-
| Chain.Near
|
|
30
|
-
| Chain.Tron,
|
|
31
|
-
accounts: string[],
|
|
32
|
-
) => {
|
|
33
|
-
const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || "";
|
|
34
|
-
const address = account?.split(":")?.[2];
|
|
35
|
-
|
|
36
|
-
return address || "";
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export const chainToChainId = (chain: Chain) => {
|
|
40
|
-
switch (chain) {
|
|
41
|
-
case Chain.Avalanche:
|
|
42
|
-
return AVALANCHE_MAINNET_ID;
|
|
43
|
-
case Chain.Aurora:
|
|
44
|
-
return AURORA_MAINNET_ID;
|
|
45
|
-
case Chain.Base:
|
|
46
|
-
return BASE_MAINNET_ID;
|
|
47
|
-
case Chain.BinanceSmartChain:
|
|
48
|
-
return BSC_MAINNET_ID;
|
|
49
|
-
case Chain.Berachain:
|
|
50
|
-
return BERACHAIN_MAINNET_ID;
|
|
51
|
-
case Chain.Ethereum:
|
|
52
|
-
return ETHEREUM_MAINNET_ID;
|
|
53
|
-
case Chain.THORChain:
|
|
54
|
-
return THORCHAIN_MAINNET_ID;
|
|
55
|
-
case Chain.Arbitrum:
|
|
56
|
-
return ARBITRUM_ONE_MAINNET_ID;
|
|
57
|
-
case Chain.Optimism:
|
|
58
|
-
return OPTIMISM_MAINNET_ID;
|
|
59
|
-
case Chain.Polygon:
|
|
60
|
-
return POLYGON_MAINNET_ID;
|
|
61
|
-
case Chain.Maya:
|
|
62
|
-
return MAYACHAIN_MAINNET_ID;
|
|
63
|
-
case Chain.Cosmos:
|
|
64
|
-
return COSMOS_HUB_MAINNET_ID;
|
|
65
|
-
case Chain.Kujira:
|
|
66
|
-
return KUJIRA_MAINNET_ID;
|
|
67
|
-
case Chain.Near: {
|
|
68
|
-
// Use testnet if stagenet is enabled
|
|
69
|
-
const { isStagenet } = SKConfig.get("envs");
|
|
70
|
-
return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;
|
|
71
|
-
}
|
|
72
|
-
case Chain.Tron:
|
|
73
|
-
return TRON_MAINNET_ID;
|
|
74
|
-
default:
|
|
75
|
-
return "";
|
|
76
|
-
}
|
|
77
|
-
};
|