@swapkit/wallets 4.0.0-beta.39 → 4.0.0-beta.40
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-qh8q7xr1.js → chunk-10h87ecy.js} +3 -3
- package/dist/{chunk-qh8q7xr1.js.map → chunk-10h87ecy.js.map} +1 -1
- package/dist/chunk-3t5jkca2.js +5 -0
- package/dist/chunk-3t5jkca2.js.map +10 -0
- package/dist/{chunk-c11abmv4.js → chunk-3vygfd50.js} +4 -4
- package/dist/{chunk-c11abmv4.js.map → chunk-3vygfd50.js.map} +3 -3
- package/dist/{chunk-0rgqnhd7.js → chunk-940zcsgd.js} +3 -3
- package/dist/{chunk-0rgqnhd7.js.map → chunk-940zcsgd.js.map} +3 -3
- package/dist/{chunk-hafkx3bw.js → chunk-bnnq9hg1.js} +3 -3
- package/dist/{chunk-hafkx3bw.js.map → chunk-bnnq9hg1.js.map} +1 -1
- package/dist/{chunk-5mq0kpmy.js → chunk-bp34qnvm.js} +3 -3
- package/dist/{chunk-5mq0kpmy.js.map → chunk-bp34qnvm.js.map} +1 -1
- package/dist/{chunk-r308an05.js → chunk-fa0psb24.js} +3 -3
- package/dist/{chunk-r308an05.js.map → chunk-fa0psb24.js.map} +1 -1
- package/dist/chunk-kfw1mys1.js +4 -0
- package/dist/chunk-kfw1mys1.js.map +10 -0
- package/dist/{chunk-cgt2fexr.js → chunk-xwda1ncj.js} +3 -3
- package/dist/{chunk-cgt2fexr.js.map → chunk-xwda1ncj.js.map} +1 -1
- package/dist/src/bitget/index.cjs +2 -2
- package/dist/src/bitget/index.cjs.map +4 -4
- package/dist/src/bitget/index.js +2 -2
- package/dist/src/bitget/index.js.map +4 -4
- package/dist/src/coinbase/index.js +2 -2
- package/dist/src/coinbase/index.js.map +1 -1
- package/dist/src/cosmostation/index.js +2 -2
- package/dist/src/cosmostation/index.js.map +1 -1
- package/dist/src/ctrl/index.js +2 -2
- package/dist/src/ctrl/index.js.map +1 -1
- package/dist/src/evm-extensions/index.js +2 -2
- package/dist/src/evm-extensions/index.js.map +1 -1
- package/dist/src/exodus/index.js +2 -2
- package/dist/src/exodus/index.js.map +1 -1
- package/dist/src/index.cjs +2 -2
- package/dist/src/index.cjs.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/keepkey/index.js +2 -2
- package/dist/src/keepkey/index.js.map +2 -2
- package/dist/src/keepkey-bex/index.js +2 -2
- package/dist/src/keepkey-bex/index.js.map +1 -1
- package/dist/src/keplr/index.js +2 -2
- package/dist/src/keplr/index.js.map +1 -1
- package/dist/src/keystore/index.js +2 -2
- package/dist/src/keystore/index.js.map +1 -1
- package/dist/src/ledger/index.cjs +3 -3
- package/dist/src/ledger/index.cjs.map +7 -6
- package/dist/src/ledger/index.js +3 -3
- package/dist/src/ledger/index.js.map +7 -6
- 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.js +2 -2
- package/dist/src/phantom/index.js.map +1 -1
- package/dist/src/polkadotjs/index.js +2 -2
- package/dist/src/polkadotjs/index.js.map +1 -1
- package/dist/src/radix/index.js +2 -2
- package/dist/src/radix/index.js.map +1 -1
- package/dist/src/talisman/index.js +2 -2
- package/dist/src/talisman/index.js.map +1 -1
- package/dist/src/trezor/index.cjs +2 -2
- package/dist/src/trezor/index.cjs.map +3 -3
- package/dist/src/trezor/index.js +2 -2
- package/dist/src/trezor/index.js.map +3 -3
- package/dist/src/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +5 -5
- package/dist/src/walletconnect/index.js +2 -2
- package/dist/src/walletconnect/index.js.map +5 -5
- package/dist/src/xaman/index.cjs +4 -0
- package/dist/src/xaman/index.cjs.map +12 -0
- package/dist/src/xaman/index.js +4 -0
- package/dist/src/xaman/index.js.map +12 -0
- package/package.json +14 -6
- package/src/bitget/helpers.ts +65 -30
- package/src/bitget/index.ts +1 -1
- package/src/ledger/clients/tron.ts +92 -0
- package/src/ledger/helpers/getLedgerAddress.ts +5 -0
- package/src/ledger/helpers/getLedgerClient.ts +3 -0
- package/src/ledger/index.ts +10 -0
- package/src/ledger/types.ts +2 -0
- package/src/okx/helpers.ts +71 -38
- package/src/okx/index.ts +1 -0
- package/src/onekey/index.ts +2 -2
- package/src/trezor/index.ts +8 -10
- package/src/types.ts +35 -0
- package/src/utils.ts +1 -0
- package/src/walletconnect/constants.ts +13 -0
- package/src/walletconnect/helpers.ts +11 -1
- package/src/walletconnect/index.ts +34 -0
- package/src/walletconnect/namespaces.ts +6 -0
- package/src/xaman/README.md +66 -0
- package/src/xaman/helpers.ts +59 -0
- package/src/xaman/index.ts +79 -0
- package/src/xaman/types.ts +26 -0
- package/src/xaman/walletMethods.ts +126 -0
- package/dist/chunk-9sjqewve.js +0 -5
- package/dist/chunk-9sjqewve.js.map +0 -10
- package/dist/chunk-sn6pgje5.js +0 -4
- package/dist/chunk-sn6pgje5.js.map +0 -10
package/src/types.ts
CHANGED
|
@@ -30,6 +30,7 @@ import type { radixWallet } from "./radix";
|
|
|
30
30
|
import type { talismanWallet } from "./talisman";
|
|
31
31
|
import type { trezorWallet } from "./trezor";
|
|
32
32
|
import type { walletconnectWallet } from "./walletconnect";
|
|
33
|
+
import type { xamanWallet } from "./xaman";
|
|
33
34
|
|
|
34
35
|
export type SKWallets = {
|
|
35
36
|
[WalletOption.BITGET]: typeof bitgetWallet;
|
|
@@ -58,6 +59,7 @@ export type SKWallets = {
|
|
|
58
59
|
[WalletOption.TREZOR]: typeof trezorWallet;
|
|
59
60
|
[WalletOption.TRUSTWALLET_WEB]: typeof evmWallet;
|
|
60
61
|
[WalletOption.WALLETCONNECT]: typeof walletconnectWallet;
|
|
62
|
+
[WalletOption.XAMAN]: typeof xamanWallet;
|
|
61
63
|
};
|
|
62
64
|
|
|
63
65
|
export type SKConnectWallets = SKWallets[keyof SKWallets];
|
|
@@ -89,6 +91,7 @@ export type SKWalletsSupportedChains = {
|
|
|
89
91
|
[WalletOption.TREZOR]: typeof trezorWallet.connectTrezor.supportedChains;
|
|
90
92
|
[WalletOption.TRUSTWALLET_WEB]: typeof evmWallet.connectEVMWallet.supportedChains;
|
|
91
93
|
[WalletOption.WALLETCONNECT]: typeof walletconnectWallet.connectWalletconnect.supportedChains;
|
|
94
|
+
[WalletOption.XAMAN]: typeof xamanWallet.connectXaman.supportedChains;
|
|
92
95
|
};
|
|
93
96
|
|
|
94
97
|
type UnisatToSignInputs = {
|
|
@@ -161,6 +164,22 @@ declare global {
|
|
|
161
164
|
};
|
|
162
165
|
solana: SolanaProvider;
|
|
163
166
|
ethereum: EthereumWindowProvider;
|
|
167
|
+
tronLink: {
|
|
168
|
+
request: (args: { method: string; params?: any }) => Promise<any>;
|
|
169
|
+
ready: boolean;
|
|
170
|
+
};
|
|
171
|
+
tronWeb: {
|
|
172
|
+
defaultAddress: {
|
|
173
|
+
base58: string;
|
|
174
|
+
hex: string;
|
|
175
|
+
};
|
|
176
|
+
trx: {
|
|
177
|
+
sign: (transaction: any) => Promise<any>;
|
|
178
|
+
sendRawTransaction: (signedTransaction: any) => Promise<any>;
|
|
179
|
+
getAccount: (address: string) => Promise<any>;
|
|
180
|
+
getBalance: (address: string) => Promise<number>;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
164
183
|
};
|
|
165
184
|
|
|
166
185
|
okxwallet?:
|
|
@@ -207,6 +226,22 @@ declare global {
|
|
|
207
226
|
transactions: any[];
|
|
208
227
|
}) => Promise<any>;
|
|
209
228
|
};
|
|
229
|
+
tronLink: {
|
|
230
|
+
request: (args: { method: string; params?: any }) => Promise<any>;
|
|
231
|
+
ready: boolean;
|
|
232
|
+
tronWeb: {
|
|
233
|
+
defaultAddress: {
|
|
234
|
+
base58: string;
|
|
235
|
+
hex: string;
|
|
236
|
+
};
|
|
237
|
+
trx: {
|
|
238
|
+
sign: (transaction: any) => Promise<any>;
|
|
239
|
+
sendRawTransaction: (signedTransaction: any) => Promise<any>;
|
|
240
|
+
getAccount: (address: string) => Promise<any>;
|
|
241
|
+
getBalance: (address: string) => Promise<number>;
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
};
|
|
210
245
|
}
|
|
211
246
|
| EthereumWindowProvider;
|
|
212
247
|
}
|
package/src/utils.ts
CHANGED
|
@@ -52,6 +52,7 @@ export async function loadWallet<W extends WalletOption>(walletOption: W): Promi
|
|
|
52
52
|
.with(WalletOption.POLKADOT_JS, async () => (await import("./polkadotjs")).polkadotWallet)
|
|
53
53
|
.with(WalletOption.RADIX_WALLET, async () => (await import("./radix")).radixWallet)
|
|
54
54
|
.with(WalletOption.TALISMAN, async () => (await import("./talisman")).talismanWallet)
|
|
55
|
+
.with(WalletOption.XAMAN, async () => (await import("./xaman")).xamanWallet)
|
|
55
56
|
.exhaustive();
|
|
56
57
|
|
|
57
58
|
return wallet as SKWallets[W];
|
|
@@ -15,6 +15,7 @@ export const POLYGON_MAINNET_ID = "eip155:137";
|
|
|
15
15
|
export const BASE_MAINNET_ID = "eip155:8453";
|
|
16
16
|
export const NEAR_MAINNET_ID = "near:mainnet";
|
|
17
17
|
export const NEAR_TESTNET_ID = "near:testnet";
|
|
18
|
+
export const TRON_MAINNET_ID = "tron:0x2b6653dc";
|
|
18
19
|
|
|
19
20
|
export const DEFAULT_LOGGER = "debug";
|
|
20
21
|
|
|
@@ -85,3 +86,15 @@ export enum DEFAULT_NEAR_METHODS {
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
export enum DEFAULT_NEAR_EVENTS {}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* TRON
|
|
92
|
+
*/
|
|
93
|
+
export enum DEFAULT_TRON_METHODS {
|
|
94
|
+
TRON_SIGN_MESSAGE = "tron_signMessage",
|
|
95
|
+
TRON_SIGN_TRANSACTION = "tron_signTransaction",
|
|
96
|
+
TRON_SEND_TRANSACTION = "tron_sendTransaction",
|
|
97
|
+
TRON_GET_ACCOUNTS = "tron_getAccounts",
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export enum DEFAULT_TRON_EVENTS {}
|
|
@@ -14,10 +14,18 @@ import {
|
|
|
14
14
|
OPTIMISM_MAINNET_ID,
|
|
15
15
|
POLYGON_MAINNET_ID,
|
|
16
16
|
THORCHAIN_MAINNET_ID,
|
|
17
|
+
TRON_MAINNET_ID,
|
|
17
18
|
} from "./constants";
|
|
18
19
|
|
|
19
20
|
export const getAddressByChain = (
|
|
20
|
-
chain:
|
|
21
|
+
chain:
|
|
22
|
+
| EVMChain
|
|
23
|
+
| Chain.THORChain
|
|
24
|
+
| Chain.Maya
|
|
25
|
+
| Chain.Kujira
|
|
26
|
+
| Chain.Cosmos
|
|
27
|
+
| Chain.Near
|
|
28
|
+
| Chain.Tron,
|
|
21
29
|
accounts: string[],
|
|
22
30
|
) => {
|
|
23
31
|
const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || "";
|
|
@@ -55,6 +63,8 @@ export const chainToChainId = (chain: Chain) => {
|
|
|
55
63
|
const { isStagenet } = SKConfig.get("envs");
|
|
56
64
|
return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;
|
|
57
65
|
}
|
|
66
|
+
case Chain.Tron:
|
|
67
|
+
return TRON_MAINNET_ID;
|
|
58
68
|
default:
|
|
59
69
|
return "";
|
|
60
70
|
}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
} from "@swapkit/helpers";
|
|
12
12
|
import type { ThorchainDepositParams, createThorchainToolbox } from "@swapkit/toolboxes/cosmos";
|
|
13
13
|
import type { NearSigner } from "@swapkit/toolboxes/near";
|
|
14
|
+
import type { TronSignedTransaction, TronSigner, TronTransaction } from "@swapkit/toolboxes/tron";
|
|
14
15
|
import type { WalletConnectModal } from "@walletconnect/modal";
|
|
15
16
|
import type { SessionTypes, SignClientTypes } from "@walletconnect/types";
|
|
16
17
|
import type { Transaction } from "near-api-js/lib/transaction";
|
|
@@ -47,6 +48,7 @@ export const walletconnectWallet = createWallet({
|
|
|
47
48
|
Chain.Optimism,
|
|
48
49
|
Chain.Polygon,
|
|
49
50
|
Chain.THORChain,
|
|
51
|
+
Chain.Tron,
|
|
50
52
|
],
|
|
51
53
|
connect: ({ addChain, supportedChains, walletType }) =>
|
|
52
54
|
async function connectWalletconnect(
|
|
@@ -315,6 +317,38 @@ async function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({
|
|
|
315
317
|
return toolbox;
|
|
316
318
|
}
|
|
317
319
|
|
|
320
|
+
case Chain.Tron: {
|
|
321
|
+
const { createTronToolbox } = await import("@swapkit/toolboxes/tron");
|
|
322
|
+
const { DEFAULT_TRON_METHODS } = await import("./constants");
|
|
323
|
+
|
|
324
|
+
// Create a Tron signer that uses WalletConnect
|
|
325
|
+
const signer: TronSigner = {
|
|
326
|
+
getAddress() {
|
|
327
|
+
return Promise.resolve(address);
|
|
328
|
+
},
|
|
329
|
+
|
|
330
|
+
async signTransaction(transaction: TronTransaction) {
|
|
331
|
+
if (!walletconnect) {
|
|
332
|
+
throw new SwapKitError("wallet_walletconnect_connection_not_established");
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
const signedTx = await walletconnect.client.request({
|
|
336
|
+
topic: session.topic,
|
|
337
|
+
chainId: chainToChainId(Chain.Tron),
|
|
338
|
+
request: {
|
|
339
|
+
method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION,
|
|
340
|
+
params: { transaction },
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
return signedTx as TronSignedTransaction;
|
|
345
|
+
},
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
const toolbox = await createTronToolbox({ signer });
|
|
349
|
+
return toolbox;
|
|
350
|
+
}
|
|
351
|
+
|
|
318
352
|
default:
|
|
319
353
|
throw new SwapKitError({
|
|
320
354
|
errorKey: "wallet_chain_not_supported",
|
|
@@ -11,6 +11,8 @@ import {
|
|
|
11
11
|
DEFAULT_POLKADOT_METHODS,
|
|
12
12
|
DEFAULT_SOLANA_EVENTS,
|
|
13
13
|
DEFAULT_SOLANA_METHODS,
|
|
14
|
+
DEFAULT_TRON_EVENTS,
|
|
15
|
+
DEFAULT_TRON_METHODS,
|
|
14
16
|
} from "./constants";
|
|
15
17
|
|
|
16
18
|
export const getNamespacesFromChains = (chains: string[]) => {
|
|
@@ -37,6 +39,8 @@ export const getSupportedMethodsByNamespace = (namespace: string) => {
|
|
|
37
39
|
return Object.values(DEFAULT_POLKADOT_METHODS);
|
|
38
40
|
case "near":
|
|
39
41
|
return Object.values(DEFAULT_NEAR_METHODS);
|
|
42
|
+
case "tron":
|
|
43
|
+
return Object.values(DEFAULT_TRON_METHODS);
|
|
40
44
|
default:
|
|
41
45
|
throw new SwapKitError({
|
|
42
46
|
errorKey: "wallet_walletconnect_namespace_not_supported",
|
|
@@ -57,6 +61,8 @@ export const getSupportedEventsByNamespace = (namespace: string) => {
|
|
|
57
61
|
return Object.values(DEFAULT_POLKADOT_EVENTS);
|
|
58
62
|
case "near":
|
|
59
63
|
return Object.values(DEFAULT_NEAR_EVENTS);
|
|
64
|
+
case "tron":
|
|
65
|
+
return Object.values(DEFAULT_TRON_EVENTS);
|
|
60
66
|
default:
|
|
61
67
|
throw new SwapKitError({
|
|
62
68
|
errorKey: "wallet_walletconnect_namespace_not_supported",
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Xaman Wallet Integration
|
|
2
|
+
|
|
3
|
+
## Configuration
|
|
4
|
+
|
|
5
|
+
### Option 1: Configure via SKConfig (Recommended)
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { SwapKit } from "@swapkit/core";
|
|
9
|
+
import { SKConfig } from "@swapkit/helpers";
|
|
10
|
+
|
|
11
|
+
// Set the Xaman API key globally
|
|
12
|
+
SKConfig.setApiKey("xaman", "your-xaman-api-key");
|
|
13
|
+
|
|
14
|
+
// Or configure during SwapKit initialization
|
|
15
|
+
const swapKit = SwapKit({
|
|
16
|
+
config: {
|
|
17
|
+
apiKeys: {
|
|
18
|
+
xaman: "your-xaman-api-key"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// Connect to Xaman wallet
|
|
24
|
+
await swapKit.connectWallet(WalletOption.XAMAN, [Chain.Ripple]);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Option 2: Pass API key during connection
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
// Connect with API key override
|
|
31
|
+
await swapKit.connectWallet(WalletOption.XAMAN, [Chain.Ripple], {
|
|
32
|
+
apiKey: "your-xaman-api-key"
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Usage Example
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
// Get the connected wallet
|
|
40
|
+
const wallet = swapKit.getWallet(Chain.Ripple);
|
|
41
|
+
|
|
42
|
+
// Send XRP
|
|
43
|
+
const txHash = await wallet.transfer({
|
|
44
|
+
assetValue: AssetValue.from({ chain: Chain.Ripple, value: 1 }),
|
|
45
|
+
recipient: "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH",
|
|
46
|
+
memo: "Payment memo"
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Destination Tags
|
|
51
|
+
|
|
52
|
+
For exchange addresses that require destination tags:
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
// The destination tag should be included in the memo field
|
|
56
|
+
// Format: "DestinationTag:123456"
|
|
57
|
+
const txHash = await wallet.transfer({
|
|
58
|
+
assetValue: AssetValue.from({ chain: Chain.Ripple, value: 10 }),
|
|
59
|
+
recipient: "rExchangeAddress...",
|
|
60
|
+
memo: "DestinationTag:123456"
|
|
61
|
+
});
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Getting an API Key
|
|
65
|
+
|
|
66
|
+
To use the Xaman wallet, you need to obtain an API key from the [Xaman Developer Console](https://apps.xumm.dev/).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type AssetValue, Chain, SwapKitError } from "@swapkit/helpers";
|
|
2
|
+
import type { Xumm } from "xumm";
|
|
3
|
+
import { sendXamanTransaction } from "./walletMethods.js";
|
|
4
|
+
|
|
5
|
+
interface GetWalletForChainParams {
|
|
6
|
+
chain: Chain;
|
|
7
|
+
address: string;
|
|
8
|
+
rpcUrl?: string;
|
|
9
|
+
xumm: Xumm;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export async function getWalletForChain({ xumm, chain, address, rpcUrl }: GetWalletForChainParams) {
|
|
13
|
+
switch (chain) {
|
|
14
|
+
case Chain.Ripple: {
|
|
15
|
+
const { getRippleToolbox } = await import("@swapkit/toolboxes/ripple");
|
|
16
|
+
|
|
17
|
+
// const api = apis?.[chain]; // Unused for now
|
|
18
|
+
const toolbox = await getRippleToolbox({ rpcUrl });
|
|
19
|
+
|
|
20
|
+
// Override transfer method to use Xaman transaction flow
|
|
21
|
+
const transfer = async (params: {
|
|
22
|
+
assetValue: AssetValue;
|
|
23
|
+
recipient: string;
|
|
24
|
+
memo?: string;
|
|
25
|
+
}) => {
|
|
26
|
+
const { recipient, assetValue, memo } = params;
|
|
27
|
+
|
|
28
|
+
// Create and subscribe to payment via Xaman
|
|
29
|
+
const paymentResult = await sendXamanTransaction(xumm, {
|
|
30
|
+
from: address,
|
|
31
|
+
destination: recipient,
|
|
32
|
+
amount: assetValue.getValue("string"),
|
|
33
|
+
memo: memo,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
// If not successful or no transaction ID, throw error
|
|
37
|
+
if (!(paymentResult.result.success && paymentResult.result.transactionId)) {
|
|
38
|
+
throw new SwapKitError("wallet_xaman_transaction_failed");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Return the transaction ID string
|
|
42
|
+
return paymentResult.result.transactionId;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
...toolbox,
|
|
47
|
+
address,
|
|
48
|
+
getAddress: () => address,
|
|
49
|
+
transfer,
|
|
50
|
+
// Expose Xaman-specific methods
|
|
51
|
+
createAndSubscribePayment: sendXamanTransaction,
|
|
52
|
+
disconnect: xumm.logout,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
default:
|
|
57
|
+
throw new SwapKitError("wallet_chain_not_supported", { wallet: "Xaman", chain });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chain,
|
|
3
|
+
SKConfig,
|
|
4
|
+
SwapKitError,
|
|
5
|
+
WalletOption,
|
|
6
|
+
createWallet,
|
|
7
|
+
filterSupportedChains,
|
|
8
|
+
} from "@swapkit/helpers";
|
|
9
|
+
import { Xumm } from "xumm";
|
|
10
|
+
import { getWalletSupportedChains } from "../utils";
|
|
11
|
+
import { getWalletForChain } from "./helpers.js";
|
|
12
|
+
import type { XamanConfig } from "./types.js";
|
|
13
|
+
import { connectXamanWallet as connectXamanWalletMethod } from "./walletMethods.js";
|
|
14
|
+
|
|
15
|
+
export const xamanWallet = createWallet({
|
|
16
|
+
name: "connectXaman",
|
|
17
|
+
walletType: WalletOption.XAMAN,
|
|
18
|
+
supportedChains: [Chain.Ripple],
|
|
19
|
+
connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>
|
|
20
|
+
async function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {
|
|
21
|
+
const supportedChains = filterSupportedChains({
|
|
22
|
+
chains,
|
|
23
|
+
supportedChains: walletSupportedChains,
|
|
24
|
+
walletType,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const { xaman: xamanApiKey } = SKConfig.get("apiKeys");
|
|
28
|
+
const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;
|
|
29
|
+
|
|
30
|
+
if (!apiKey) {
|
|
31
|
+
throw new SwapKitError("wallet_missing_api_key", { wallet: "Xaman" });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const xumm = new Xumm(apiKey);
|
|
35
|
+
|
|
36
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
37
|
+
xumm.on("success", async () => {
|
|
38
|
+
try {
|
|
39
|
+
const address = await connectXamanWalletMethod(xumm);
|
|
40
|
+
|
|
41
|
+
const promises = supportedChains.map(async (chain) => {
|
|
42
|
+
const rpcUrl = SKConfig.get("rpcUrls")[chain];
|
|
43
|
+
const walletMethods = await getWalletForChain({
|
|
44
|
+
xumm,
|
|
45
|
+
chain,
|
|
46
|
+
address,
|
|
47
|
+
rpcUrl,
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
addChain({
|
|
51
|
+
...walletMethods,
|
|
52
|
+
chain,
|
|
53
|
+
balance: [],
|
|
54
|
+
walletType: WalletOption.XAMAN,
|
|
55
|
+
address,
|
|
56
|
+
disconnect: xumm.logout,
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
await Promise.all(promises);
|
|
61
|
+
resolve(true);
|
|
62
|
+
} catch (error) {
|
|
63
|
+
reject(error);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
xumm.on("error", (error) => {
|
|
68
|
+
reject(error);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
xumm.authorize();
|
|
72
|
+
});
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
export const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);
|
|
77
|
+
export type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];
|
|
78
|
+
|
|
79
|
+
export type { XamanConfig } from "./types.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface XamanConfig {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export interface XamanPaymentParams {
|
|
6
|
+
destination: string;
|
|
7
|
+
from: string;
|
|
8
|
+
amount: string;
|
|
9
|
+
memo?: string;
|
|
10
|
+
destinationTag?: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface XamanPaymentResult {
|
|
14
|
+
payloadId: string;
|
|
15
|
+
qrCode: string;
|
|
16
|
+
deepLink: string;
|
|
17
|
+
websocketUrl: string;
|
|
18
|
+
result: XamanTransactionResult;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface XamanTransactionResult {
|
|
22
|
+
success: boolean;
|
|
23
|
+
transactionId?: string;
|
|
24
|
+
account?: string;
|
|
25
|
+
reason?: string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { SwapKitError } from "@swapkit/helpers";
|
|
2
|
+
import type { Xumm } from "xumm";
|
|
3
|
+
import type { XamanPaymentParams } from "./types.js";
|
|
4
|
+
|
|
5
|
+
export const connectXamanWallet = async (xumm: Xumm) => {
|
|
6
|
+
if (!xumm) {
|
|
7
|
+
throw new SwapKitError("wallet_xaman_not_configured");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
try {
|
|
11
|
+
const user = await xumm.user;
|
|
12
|
+
const account = await user?.account;
|
|
13
|
+
|
|
14
|
+
if (account) {
|
|
15
|
+
return account;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
throw new SwapKitError("wallet_xaman_auth_failed");
|
|
19
|
+
} catch (error) {
|
|
20
|
+
console.error("Xaman wallet connection failed:", error);
|
|
21
|
+
throw new SwapKitError("wallet_xaman_connection_failed");
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: might need refactoring later
|
|
26
|
+
export const sendXamanTransaction = async (xumm: Xumm, params: XamanPaymentParams) => {
|
|
27
|
+
try {
|
|
28
|
+
// Validate required parameters
|
|
29
|
+
if (!(params.destination && params.amount && params.from)) {
|
|
30
|
+
throw new SwapKitError("wallet_xaman_connection_failed");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Convert XRP to drops (1 XRP = 1,000,000 drops)
|
|
34
|
+
const amountInDrops = (Number.parseFloat(params.amount) * 1000000).toString();
|
|
35
|
+
|
|
36
|
+
// Create transaction object
|
|
37
|
+
const transaction = {
|
|
38
|
+
TransactionType: "Payment" as const,
|
|
39
|
+
Destination: params.destination,
|
|
40
|
+
Amount: amountInDrops,
|
|
41
|
+
Account: params.from,
|
|
42
|
+
...(params.destinationTag !== undefined && {
|
|
43
|
+
DestinationTag: params.destinationTag,
|
|
44
|
+
}),
|
|
45
|
+
...(params.memo && {
|
|
46
|
+
Memos: [
|
|
47
|
+
{
|
|
48
|
+
Memo: {
|
|
49
|
+
MemoData: Buffer.from(params.memo, "utf8").toString("hex").toUpperCase(),
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
}),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// Create and subscribe to payload following the official example
|
|
57
|
+
const subscription = await xumm.payload?.createAndSubscribe(transaction, (event) => {
|
|
58
|
+
if ("signed" in event.data) {
|
|
59
|
+
// Return event.data to close subscription and resolve promise
|
|
60
|
+
return event.data; // { signed: true|false, payload_uuidv4: '...' }
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
if (!subscription) {
|
|
66
|
+
throw new SwapKitError("wallet_xaman_transaction_failed");
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const { created } = subscription;
|
|
70
|
+
|
|
71
|
+
// Handle payload presentation based on runtime environment
|
|
72
|
+
if (xumm.runtime?.xapp) {
|
|
73
|
+
xumm.xapp?.openSignRequest(created);
|
|
74
|
+
} else if (typeof window !== "undefined") {
|
|
75
|
+
const url =
|
|
76
|
+
created.pushed && created.next?.no_push_msg_received
|
|
77
|
+
? created.next.no_push_msg_received
|
|
78
|
+
: created.next?.always;
|
|
79
|
+
if (url) window.open(url);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Wait until the user signed/rejected
|
|
83
|
+
const resolved = await subscription.resolved;
|
|
84
|
+
|
|
85
|
+
if (!resolved || typeof resolved !== "object" || !("signed" in resolved) || !resolved.signed) {
|
|
86
|
+
throw new SwapKitError("wallet_xaman_transaction_failed");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Fetch the full payload result using the UUID from resolved data
|
|
90
|
+
const payloadDetails = await xumm.payload?.get((resolved as any).payload_uuidv4);
|
|
91
|
+
|
|
92
|
+
if (!payloadDetails) {
|
|
93
|
+
throw new SwapKitError("wallet_xaman_monitoring_failed");
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Extract transaction ID from response
|
|
97
|
+
const transactionId = payloadDetails.response?.txid || "";
|
|
98
|
+
const account = payloadDetails.response?.account || "";
|
|
99
|
+
|
|
100
|
+
if (!transactionId) {
|
|
101
|
+
throw new SwapKitError("wallet_xaman_transaction_failed");
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Return comprehensive result
|
|
105
|
+
return {
|
|
106
|
+
// Initial payload info for QR codes, deep links, etc.
|
|
107
|
+
payloadId: created.uuid || "",
|
|
108
|
+
qrCode: created.refs?.qr_png || "",
|
|
109
|
+
deepLink: created.next?.always || "",
|
|
110
|
+
websocketUrl: created.refs?.websocket_status || "",
|
|
111
|
+
// Final transaction result - SUCCESS with tx hash
|
|
112
|
+
result: {
|
|
113
|
+
success: true,
|
|
114
|
+
transactionId,
|
|
115
|
+
account,
|
|
116
|
+
reason: undefined,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
} catch (error) {
|
|
120
|
+
console.error("Xaman payment creation and subscription failed:", error);
|
|
121
|
+
if (error instanceof SwapKitError) {
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
throw new SwapKitError("wallet_xaman_transaction_failed");
|
|
125
|
+
}
|
|
126
|
+
};
|
package/dist/chunk-9sjqewve.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import"./chunk-r308an05.js";var B="wss://relay.walletconnect.com",J="eip155:1",Q="eip155:56",W="eip155:43114",X="cosmos:thorchain",Y="cosmos:cosmoshub-4",Z="cosmos:kaiyo-1",$="cosmos:mayachain-mainnet-v1",c="eip155:42161",e="eip155:10",g="eip155:137",h="eip155:8453",o="near:mainnet",r="near:testnet",G="debug",a={name:"THORSwap",description:"THORSwap multi-chain dex aggregator powered by THORChain",url:"https://app.thorswap.finance/",icons:["https://static.thorswap.net/logo.png"]},l;((f)=>{f.ETH_SEND_TRANSACTION="eth_sendTransaction";f.ETH_SIGN="eth_sign";f.PERSONAL_SIGN="personal_sign";f.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((b)=>{b.ETH_CHAIN_CHANGED="chainChanged";b.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((b)=>{b.SOL_SIGN_TRANSACTION="solana_signTransaction";b.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((b)=>{b.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";b.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((d)=>{d.NEAR_SIGN_IN="near_signIn";d.NEAR_SIGN_OUT="near_signOut";d.NEAR_GET_ACCOUNTS="near_getAccounts";d.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";d.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});export{X as THORCHAIN_MAINNET_ID,g as POLYGON_MAINNET_ID,e as OPTIMISM_MAINNET_ID,r as NEAR_TESTNET_ID,o as NEAR_MAINNET_ID,$ as MAYACHAIN_MAINNET_ID,Z as KUJIRA_MAINNET_ID,J as ETHEREUM_MAINNET_ID,u as DEFAULT_SOLANA_METHODS,v as DEFAULT_SOLANA_EVENTS,B as DEFAULT_RELAY_URL,w as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,y as DEFAULT_NEAR_METHODS,z as DEFAULT_NEAR_EVENTS,G as DEFAULT_LOGGER,m as DEFAULT_EIP_155_EVENTS,l as DEFAULT_EIP155_METHODS,p as DEFAULT_COSMOS_METHODS,q as DEFAULT_COSMOS_EVENTS,a as DEFAULT_APP_METADATA,Y as COSMOS_HUB_MAINNET_ID,Q as BSC_MAINNET_ID,h as BASE_MAINNET_ID,W as AVALANCHE_MAINNET_ID,c as ARBITRUM_ONE_MAINNET_ID};
|
|
2
|
-
export{B as a,J as b,Q as c,W as d,X as e,Y as f,Z as g,$ as h,c as i,e as j,g as k,h as l,o as m,r as n,G as o,a as p,l as q,m as r,p as s,q as t,u,v,w,x,y,z};
|
|
3
|
-
|
|
4
|
-
//# debugId=AE0835C8E7A4677464756E2164756E21
|
|
5
|
-
//# sourceMappingURL=chunk-9sjqewve.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n name: \"THORSwap\",\n description: \"THORSwap multi-chain dex aggregator powered by THORChain\",\n url: \"https://app.thorswap.finance/\",\n icons: [\"https://static.thorswap.net/logo.png\"],\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "4BAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAElB,EAAiB,QAEjB,EAAuC,CAClD,KAAM,WACN,YAAa,2DACb,IAAK,gCACL,MAAO,CAAC,sCAAsC,CAChD,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,sBANZ,QASL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
-
"debugId": "AE0835C8E7A4677464756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-sn6pgje5.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var B="wss://relay.walletconnect.com",J="eip155:1",Q="eip155:56",W="eip155:43114",X="cosmos:thorchain",Y="cosmos:cosmoshub-4",Z="cosmos:kaiyo-1",$="cosmos:mayachain-mainnet-v1",c="eip155:42161",e="eip155:10",g="eip155:137",h="eip155:8453",o="near:mainnet",r="near:testnet",G="debug",a={name:"THORSwap",description:"THORSwap multi-chain dex aggregator powered by THORChain",url:"https://app.thorswap.finance/",icons:["https://static.thorswap.net/logo.png"]},l;((f)=>{f.ETH_SEND_TRANSACTION="eth_sendTransaction";f.ETH_SIGN="eth_sign";f.PERSONAL_SIGN="personal_sign";f.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((b)=>{b.ETH_CHAIN_CHANGED="chainChanged";b.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((b)=>{b.SOL_SIGN_TRANSACTION="solana_signTransaction";b.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((b)=>{b.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";b.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((d)=>{d.NEAR_SIGN_IN="near_signIn";d.NEAR_SIGN_OUT="near_signOut";d.NEAR_GET_ACCOUNTS="near_getAccounts";d.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";d.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});
|
|
2
|
-
|
|
3
|
-
//# debugId=1E13BB1472FEAD2C64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-sn6pgje5.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/walletconnect/constants.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClientMetadata } from \"./types\";\n\nexport const DEFAULT_RELAY_URL = \"wss://relay.walletconnect.com\";\n\nexport const ETHEREUM_MAINNET_ID = \"eip155:1\";\nexport const BSC_MAINNET_ID = \"eip155:56\";\nexport const AVALANCHE_MAINNET_ID = \"eip155:43114\";\nexport const THORCHAIN_MAINNET_ID = \"cosmos:thorchain\";\nexport const COSMOS_HUB_MAINNET_ID = \"cosmos:cosmoshub-4\";\nexport const KUJIRA_MAINNET_ID = \"cosmos:kaiyo-1\";\nexport const MAYACHAIN_MAINNET_ID = \"cosmos:mayachain-mainnet-v1\";\nexport const ARBITRUM_ONE_MAINNET_ID = \"eip155:42161\";\nexport const OPTIMISM_MAINNET_ID = \"eip155:10\";\nexport const POLYGON_MAINNET_ID = \"eip155:137\";\nexport const BASE_MAINNET_ID = \"eip155:8453\";\nexport const NEAR_MAINNET_ID = \"near:mainnet\";\nexport const NEAR_TESTNET_ID = \"near:testnet\";\n\nexport const DEFAULT_LOGGER = \"debug\";\n\nexport const DEFAULT_APP_METADATA: ClientMetadata = {\n name: \"THORSwap\",\n description: \"THORSwap multi-chain dex aggregator powered by THORChain\",\n url: \"https://app.thorswap.finance/\",\n icons: [\"https://static.thorswap.net/logo.png\"],\n};\n\n/**\n * EIP155\n */\nexport enum DEFAULT_EIP155_METHODS {\n ETH_SEND_TRANSACTION = \"eth_sendTransaction\",\n // not supported by most WC wallets\n // ETH_SIGN_TRANSACTION = 'eth_signTransaction',\n ETH_SIGN = \"eth_sign\",\n PERSONAL_SIGN = \"personal_sign\",\n ETH_SIGN_TYPED_DATA = \"eth_signTypedData\",\n}\n\nexport enum DEFAULT_EIP_155_EVENTS {\n ETH_CHAIN_CHANGED = \"chainChanged\",\n ETH_ACCOUNTS_CHANGED = \"accountsChanged\",\n}\n\n/**\n * COSMOS\n */\nexport enum DEFAULT_COSMOS_METHODS {\n COSMOS_SIGN_DIRECT = \"cosmos_signDirect\",\n COSMOS_SIGN_AMINO = \"cosmos_signAmino\",\n COSMOS_GET_ACCOUNTS = \"cosmos_getAccounts\",\n}\n\nexport enum DEFAULT_COSMOS_EVENTS {}\n\n/**\n * SOLANA\n */\nexport enum DEFAULT_SOLANA_METHODS {\n SOL_SIGN_TRANSACTION = \"solana_signTransaction\",\n SOL_SIGN_MESSAGE = \"solana_signMessage\",\n}\n\nexport enum DEFAULT_SOLANA_EVENTS {}\n\n/**\n * POLKADOT\n */\nexport enum DEFAULT_POLKADOT_METHODS {\n POLKADOT_SIGN_TRANSACTION = \"polkadot_signTransaction\",\n POLKADOT_SIGN_MESSAGE = \"polkadot_signMessage\",\n}\n\nexport enum DEFAULT_POLKADOT_EVENTS {}\n\n/**\n * NEAR\n */\nexport enum DEFAULT_NEAR_METHODS {\n NEAR_SIGN_IN = \"near_signIn\",\n NEAR_SIGN_OUT = \"near_signOut\",\n NEAR_GET_ACCOUNTS = \"near_getAccounts\",\n NEAR_SIGN_AND_SEND_TRANSACTION = \"near_signAndSendTransaction\",\n NEAR_SIGN_AND_SEND_TRANSACTIONS = \"near_signAndSendTransactions\",\n}\n\nexport enum DEFAULT_NEAR_EVENTS {}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "AAEO,IAAM,EAAoB,gCAEpB,EAAsB,WACtB,EAAiB,YACjB,EAAuB,eACvB,EAAuB,mBACvB,EAAwB,qBACxB,EAAoB,iBACpB,EAAuB,8BACvB,EAA0B,eAC1B,EAAsB,YACtB,EAAqB,aACrB,EAAkB,cAClB,EAAkB,eAClB,EAAkB,eAElB,EAAiB,QAEjB,EAAuC,CAClD,KAAM,WACN,YAAa,2DACb,IAAK,gCACL,MAAO,CAAC,sCAAsC,CAChD,EAKY,GAAL,CAAK,IAAL,CACL,uBAAuB,sBAGvB,WAAW,WACX,gBAAgB,gBAChB,sBAAsB,sBANZ,QASL,IAAK,GAAL,CAAK,IAAL,CACL,oBAAoB,eACpB,uBAAuB,oBAFb,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,qBAAqB,oBACrB,oBAAoB,mBACpB,sBAAsB,uBAHZ,QAML,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,uBAAuB,yBACvB,mBAAmB,uBAFT,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,4BAA4B,2BAC5B,wBAAwB,yBAFd,QAKL,IAAK,GAAL,CAAK,IAAL,IAAK,QAKL,IAAK,GAAL,CAAK,IAAL,CACL,eAAe,cACf,gBAAgB,eAChB,oBAAoB,mBACpB,iCAAiC,8BACjC,kCAAkC,iCALxB,QAQL,IAAK,GAAL,CAAK,IAAL,IAAK",
|
|
8
|
-
"debugId": "1E13BB1472FEAD2C64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|