@sodax/wallet-sdk-core 2.0.0-rc.2 → 2.0.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/dist/index.cjs +530 -30
- package/dist/index.d.cts +63 -10
- package/dist/index.d.ts +63 -10
- package/dist/index.mjs +524 -24
- package/package.json +21 -15
- package/ai-exported/AGENTS.md +0 -139
- package/ai-exported/integration/README.md +0 -108
- package/ai-exported/integration/ai-rules.md +0 -141
- package/ai-exported/integration/architecture.md +0 -212
- package/ai-exported/integration/features/README.md +0 -22
- package/ai-exported/integration/features/bitcoin.md +0 -103
- package/ai-exported/integration/features/evm.md +0 -102
- package/ai-exported/integration/features/icon.md +0 -88
- package/ai-exported/integration/features/injective.md +0 -92
- package/ai-exported/integration/features/near.md +0 -92
- package/ai-exported/integration/features/solana.md +0 -104
- package/ai-exported/integration/features/stacks.md +0 -91
- package/ai-exported/integration/features/stellar.md +0 -95
- package/ai-exported/integration/features/sui.md +0 -96
- package/ai-exported/integration/quickstart.md +0 -259
- package/ai-exported/integration/recipes/README.md +0 -15
- package/ai-exported/integration/recipes/bridge-to-sdk.md +0 -145
- package/ai-exported/integration/recipes/defaults-and-overrides.md +0 -159
- package/ai-exported/integration/recipes/library-exports.md +0 -129
- package/ai-exported/integration/recipes/setup-browser-extension.md +0 -137
- package/ai-exported/integration/recipes/setup-private-key.md +0 -115
- package/ai-exported/integration/recipes/sign-and-broadcast.md +0 -201
- package/ai-exported/integration/recipes/testing.md +0 -163
- package/ai-exported/integration/reference/README.md +0 -13
- package/ai-exported/integration/reference/chain-support.md +0 -65
- package/ai-exported/integration/reference/glossary.md +0 -28
- package/ai-exported/integration/reference/interfaces.md +0 -131
- package/ai-exported/integration/reference/provider-classes.md +0 -54
- package/ai-exported/integration/reference/public-api.md +0 -128
- package/ai-exported/migration/README.md +0 -84
- package/ai-exported/migration/ai-rules.md +0 -139
- package/ai-exported/migration/breaking-changes/README.md +0 -14
- package/ai-exported/migration/breaking-changes/base-wallet-provider.md +0 -52
- package/ai-exported/migration/breaking-changes/defaults-config.md +0 -57
- package/ai-exported/migration/breaking-changes/folder-layout.md +0 -99
- package/ai-exported/migration/breaking-changes/library-exports.md +0 -58
- package/ai-exported/migration/checklist.md +0 -62
- package/ai-exported/migration/recipes/README.md +0 -12
- package/ai-exported/migration/recipes/adopt-defaults.md +0 -84
- package/ai-exported/migration/recipes/adopt-library-exports.md +0 -99
- package/ai-exported/migration/reference/README.md +0 -12
- package/ai-exported/migration/reference/added-fields.md +0 -71
- package/ai-exported/migration/reference/deleted-exports.md +0 -35
- package/ai-exported/migration/reference/renamed-symbols.md +0 -31
- package/ai-exported/migration/reference/return-shapes.md +0 -23
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
2
2
|
import { defineChain, http, createWalletClient, createPublicClient, keccak256 } from 'viem';
|
|
3
|
-
import { kaia, redbellyMainnet, mainnet, lightlinkPhoenix, polygon, bsc, optimism, base, arbitrum, avalanche, sonic } from 'viem/chains';
|
|
3
|
+
import { hedera, kaia, redbellyMainnet, mainnet, lightlinkPhoenix, polygon, bsc, optimism, base, arbitrum, avalanche, sonic } from 'viem/chains';
|
|
4
4
|
import { SuiClient } from '@mysten/sui/client';
|
|
5
5
|
import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
|
|
6
6
|
import { Transaction as Transaction$1 } from '@mysten/sui/transactions';
|
|
7
7
|
import { signTransaction } from '@mysten/wallet-standard';
|
|
8
8
|
import * as IconSdkRaw from 'icon-sdk-js';
|
|
9
|
-
import { PrivateKey, MsgBroadcasterWithPk, MsgExecuteContract, createTransaction, getInjectiveSignerAddress, MsgExecuteContractCompat } from '@injectivelabs/sdk-ts';
|
|
9
|
+
import { PrivateKey, MsgBroadcasterWithPk, MsgExecuteContract, createTransaction, getInjectiveSignerAddress, MsgExecuteContractCompat, TxGrpcApi } from '@injectivelabs/sdk-ts';
|
|
10
|
+
import { TxRaw, SignDoc, TxBody } from 'cosmjs-types/cosmos/tx/v1beta1/tx.js';
|
|
11
|
+
import { MsgExecuteContract as MsgExecuteContract$1 } from 'cosmjs-types/cosmwasm/wasm/v1/tx.js';
|
|
12
|
+
import { getNetworkEndpoints } from '@injectivelabs/networks';
|
|
10
13
|
import { getAssociatedTokenAddress } from '@solana/spl-token';
|
|
11
|
-
import { Keypair, Connection,
|
|
12
|
-
import { Networks, Keypair as Keypair$1, Horizon, Transaction } from '@stellar/stellar-sdk';
|
|
14
|
+
import { Keypair, Connection, VersionedTransaction, TransactionMessage, PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
15
|
+
import { Networks, Keypair as Keypair$1, Horizon, rpc, Transaction, TransactionBuilder } from '@stellar/stellar-sdk';
|
|
13
16
|
export { Networks } from '@stellar/stellar-sdk';
|
|
14
|
-
import { networkFrom } from '@stacks/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
import { request } from '@stacks/connect';
|
|
17
|
+
import { deserializePayload, PayloadType, PostConditionMode, addressToString, makeContractCall, broadcastTransaction, fetchCallReadOnlyFunction, getAddressFromPrivateKey, publicKeyToHex, privateKeyToPublic, networkFrom } from '@sodax/libs/stacks/core';
|
|
18
|
+
export { PostConditionMode } from '@sodax/libs/stacks/core';
|
|
19
|
+
import { request } from '@sodax/libs/stacks/connect';
|
|
18
20
|
import * as bitcoin from 'bitcoinjs-lib';
|
|
19
21
|
import * as ecc from '@bitcoinerlab/secp256k1';
|
|
20
22
|
import { ECPairFactory } from 'ecpair';
|
|
@@ -111,7 +113,8 @@ var ChainKeys = {
|
|
|
111
113
|
BITCOIN_MAINNET: "bitcoin",
|
|
112
114
|
REDBELLY_MAINNET: "redbelly",
|
|
113
115
|
KAIA_MAINNET: "0x2019.kaia",
|
|
114
|
-
STACKS_MAINNET: "stacks"
|
|
116
|
+
STACKS_MAINNET: "stacks",
|
|
117
|
+
HEDERA_MAINNET: "hedera"
|
|
115
118
|
};
|
|
116
119
|
var CHAIN_KEYS = Object.values(ChainKeys);
|
|
117
120
|
new Set(CHAIN_KEYS);
|
|
@@ -154,6 +157,15 @@ var SodaTokens = {
|
|
|
154
157
|
hubAsset: "0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d",
|
|
155
158
|
vault: "0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d"
|
|
156
159
|
},
|
|
160
|
+
sodaWBTC: {
|
|
161
|
+
symbol: "sodaWBTC",
|
|
162
|
+
name: "Soda Wrapped BTC",
|
|
163
|
+
decimals: 18,
|
|
164
|
+
address: "0x811C3fCc13f9c2a23AE2Ae2DCadacFAC6eb5f0eB",
|
|
165
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
166
|
+
hubAsset: "0x811C3fCc13f9c2a23AE2Ae2DCadacFAC6eb5f0eB",
|
|
167
|
+
vault: "0x811C3fCc13f9c2a23AE2Ae2DCadacFAC6eb5f0eB"
|
|
168
|
+
},
|
|
157
169
|
sodaSOL: {
|
|
158
170
|
symbol: "sodaSOL",
|
|
159
171
|
name: "Soda SOL",
|
|
@@ -301,7 +313,7 @@ var SodaTokens = {
|
|
|
301
313
|
sodaNEAR: {
|
|
302
314
|
symbol: "sodaNEAR",
|
|
303
315
|
name: "SODA NEAR",
|
|
304
|
-
decimals:
|
|
316
|
+
decimals: 18,
|
|
305
317
|
address: "0xf4ba497c9b805e4bd88a8a9e6a7b8f74984c3e39",
|
|
306
318
|
chainKey: ChainKeys.SONIC_MAINNET,
|
|
307
319
|
hubAsset: "0xf4ba497c9b805e4bd88a8a9e6a7b8f74984c3e39",
|
|
@@ -333,6 +345,53 @@ var SodaTokens = {
|
|
|
333
345
|
chainKey: ChainKeys.SONIC_MAINNET,
|
|
334
346
|
hubAsset: "0x243b0c26c8b38793908d7C64e8510f21B19B4613",
|
|
335
347
|
vault: "0x243b0c26c8b38793908d7C64e8510f21B19B4613"
|
|
348
|
+
},
|
|
349
|
+
sodaHBAR: {
|
|
350
|
+
symbol: "sodaHBAR",
|
|
351
|
+
name: "Soda HBAR",
|
|
352
|
+
decimals: 18,
|
|
353
|
+
address: "0x3BB956cc8922E1Ba4148dc10eD1b4Fa19aa599c4",
|
|
354
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
355
|
+
hubAsset: "0x3BB956cc8922E1Ba4148dc10eD1b4Fa19aa599c4",
|
|
356
|
+
vault: "0x3BB956cc8922E1Ba4148dc10eD1b4Fa19aa599c4"
|
|
357
|
+
},
|
|
358
|
+
sodaJITOSOL: {
|
|
359
|
+
symbol: "sodaJITOSOL",
|
|
360
|
+
name: "Soda JITOSOL",
|
|
361
|
+
decimals: 18,
|
|
362
|
+
address: "0xe1bad4400d947Bc4fa66f9c0A143D800002083a0",
|
|
363
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
364
|
+
hubAsset: "0xe1bad4400d947Bc4fa66f9c0A143D800002083a0",
|
|
365
|
+
vault: "0xe1bad4400d947Bc4fa66f9c0A143D800002083a0"
|
|
366
|
+
}
|
|
367
|
+
};
|
|
368
|
+
var LsodaTokens = {
|
|
369
|
+
lsodaWEETH: {
|
|
370
|
+
symbol: "lsodaWEETH",
|
|
371
|
+
name: "Leveraged Soda weETH",
|
|
372
|
+
decimals: 18,
|
|
373
|
+
address: "0xD09de2f5070699A909c0FD32fb5A909d3886701D",
|
|
374
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
375
|
+
hubAsset: "0xD09de2f5070699A909c0FD32fb5A909d3886701D",
|
|
376
|
+
vault: "0xD09de2f5070699A909c0FD32fb5A909d3886701D"
|
|
377
|
+
},
|
|
378
|
+
lsodaWSTETH: {
|
|
379
|
+
symbol: "lsodaWSTETH",
|
|
380
|
+
name: "Leveraged Soda wstETH",
|
|
381
|
+
decimals: 18,
|
|
382
|
+
address: "0x136E5D1CEC5db1829E24941Eddd9C8640E02Ce7a",
|
|
383
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
384
|
+
hubAsset: "0x136E5D1CEC5db1829E24941Eddd9C8640E02Ce7a",
|
|
385
|
+
vault: "0x136E5D1CEC5db1829E24941Eddd9C8640E02Ce7a"
|
|
386
|
+
},
|
|
387
|
+
lsodaJITOSOL: {
|
|
388
|
+
symbol: "lsodaJITOSOL",
|
|
389
|
+
name: "Leveraged Soda JITOSOL",
|
|
390
|
+
decimals: 18,
|
|
391
|
+
address: "0xD7Ae4853E0f93682F5DaA14734F5D18cBa09Bd78",
|
|
392
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
393
|
+
hubAsset: "0xD7Ae4853E0f93682F5DaA14734F5D18cBa09Bd78",
|
|
394
|
+
vault: "0xD7Ae4853E0f93682F5DaA14734F5D18cBa09Bd78"
|
|
336
395
|
}
|
|
337
396
|
};
|
|
338
397
|
var sonicSupportedTokens = {
|
|
@@ -399,7 +458,8 @@ var sonicSupportedTokens = {
|
|
|
399
458
|
hubAsset: "0x7c7d53EEcda37a87ce0D5bf8E0b24512A48dC963",
|
|
400
459
|
vault: SodaTokens.sodaSODA.address
|
|
401
460
|
},
|
|
402
|
-
...SodaTokens
|
|
461
|
+
...SodaTokens,
|
|
462
|
+
...LsodaTokens
|
|
403
463
|
};
|
|
404
464
|
var redbellySupportedTokens = {
|
|
405
465
|
RBNT: {
|
|
@@ -609,7 +669,7 @@ var solanaSupportedTokens = {
|
|
|
609
669
|
address: "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",
|
|
610
670
|
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
611
671
|
hubAsset: "0x942f89a324d2652e447b9fcf08effc9f9776a680",
|
|
612
|
-
vault:
|
|
672
|
+
vault: SodaTokens.sodaJITOSOL.address
|
|
613
673
|
},
|
|
614
674
|
mSOL: {
|
|
615
675
|
symbol: "mSOL",
|
|
@@ -655,6 +715,78 @@ var solanaSupportedTokens = {
|
|
|
655
715
|
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
656
716
|
hubAsset: "0x0076b67235bfc69b649d29dd7cb66e5b92b618aa",
|
|
657
717
|
vault: "0x0076b67235bfc69b649d29dd7cb66e5b92b618aa"
|
|
718
|
+
},
|
|
719
|
+
CRCLx: {
|
|
720
|
+
symbol: "CRCLx",
|
|
721
|
+
name: "Circle xStock",
|
|
722
|
+
decimals: 8,
|
|
723
|
+
address: "XsueG8BtpquVJX9LVLLEGuViXUungE6WmK5YZ3p3bd1",
|
|
724
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
725
|
+
hubAsset: "0x64659130a3373b3527146b38fc1fccf017bc0c61",
|
|
726
|
+
vault: "0x64659130a3373b3527146b38fc1fccf017bc0c61"
|
|
727
|
+
},
|
|
728
|
+
TSLAx: {
|
|
729
|
+
symbol: "TSLAx",
|
|
730
|
+
name: "Tesla xStock",
|
|
731
|
+
decimals: 8,
|
|
732
|
+
address: "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB",
|
|
733
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
734
|
+
hubAsset: "0x3cc867f6f4d1817b6230b781125301363fce370c",
|
|
735
|
+
vault: "0x3cc867f6f4d1817b6230b781125301363fce370c"
|
|
736
|
+
},
|
|
737
|
+
SPYx: {
|
|
738
|
+
symbol: "SPYx",
|
|
739
|
+
name: "SP500 xStock",
|
|
740
|
+
decimals: 8,
|
|
741
|
+
address: "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W",
|
|
742
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
743
|
+
hubAsset: "0xea66dbe82ebcb6c3a55b2db3d722b676be63a26e",
|
|
744
|
+
vault: "0xea66dbe82ebcb6c3a55b2db3d722b676be63a26e"
|
|
745
|
+
},
|
|
746
|
+
NVDAx: {
|
|
747
|
+
symbol: "NVDAx",
|
|
748
|
+
name: "NVIDIA xStock",
|
|
749
|
+
decimals: 8,
|
|
750
|
+
address: "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
|
|
751
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
752
|
+
hubAsset: "0x48303c90f4136bc3101b308c8b50c55745aaf317",
|
|
753
|
+
vault: "0x48303c90f4136bc3101b308c8b50c55745aaf317"
|
|
754
|
+
},
|
|
755
|
+
QQQx: {
|
|
756
|
+
symbol: "QQQx",
|
|
757
|
+
name: "Nasdaq xStock",
|
|
758
|
+
decimals: 8,
|
|
759
|
+
address: "Xs8S1uUs1zvS2p7iwtsG3b6fkhpvmwz4GYU3gWAmWHZ",
|
|
760
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
761
|
+
hubAsset: "0x4448b894740198ab76c83c8850d73f7dc8e4b9b3",
|
|
762
|
+
vault: "0x4448b894740198ab76c83c8850d73f7dc8e4b9b3"
|
|
763
|
+
},
|
|
764
|
+
MSTRx: {
|
|
765
|
+
symbol: "MSTRx",
|
|
766
|
+
name: "MicroStrategy xStock",
|
|
767
|
+
decimals: 8,
|
|
768
|
+
address: "XsP7xzNPvEHS1m6qfanPUGjNmdnmsLKEoNAnHjdxxyZ",
|
|
769
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
770
|
+
hubAsset: "0xc46c34961802355c5223a115568fdf18a51ad6f6",
|
|
771
|
+
vault: "0xc46c34961802355c5223a115568fdf18a51ad6f6"
|
|
772
|
+
},
|
|
773
|
+
COINx: {
|
|
774
|
+
symbol: "COINx",
|
|
775
|
+
name: "Coinbase xStock",
|
|
776
|
+
decimals: 8,
|
|
777
|
+
address: "Xs7ZdzSHLU9ftNJsii5fCeJhoRWSC32SQGzGQtePxNu",
|
|
778
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
779
|
+
hubAsset: "0xf444586e95166da0754052f03f344cf1152abe7d",
|
|
780
|
+
vault: "0xf444586e95166da0754052f03f344cf1152abe7d"
|
|
781
|
+
},
|
|
782
|
+
GOOGLx: {
|
|
783
|
+
symbol: "GOOGLx",
|
|
784
|
+
name: "Alphabet xStock",
|
|
785
|
+
decimals: 8,
|
|
786
|
+
address: "XsCPL9dNWBMvFtTmwcCA5v3xWPSMEBCszbQdiLLq6aN",
|
|
787
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
788
|
+
hubAsset: "0x024230dd63b27df90d988d6f37a69d4de627ce89",
|
|
789
|
+
vault: "0x024230dd63b27df90d988d6f37a69d4de627ce89"
|
|
658
790
|
}
|
|
659
791
|
};
|
|
660
792
|
var avalancheSupportedTokens = {
|
|
@@ -757,7 +889,8 @@ var arbitrumSupportedTokens = {
|
|
|
757
889
|
address: "0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40",
|
|
758
890
|
chainKey: ChainKeys.ARBITRUM_MAINNET,
|
|
759
891
|
hubAsset: "0x96Fc8540736f1598b7E235e6dE8814062b3b5d3B",
|
|
760
|
-
vault: SodaTokens.sodaBTC.address
|
|
892
|
+
vault: SodaTokens.sodaBTC.address,
|
|
893
|
+
access: "withdrawOnly"
|
|
761
894
|
},
|
|
762
895
|
WBTC: {
|
|
763
896
|
symbol: "WBTC",
|
|
@@ -766,7 +899,17 @@ var arbitrumSupportedTokens = {
|
|
|
766
899
|
address: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",
|
|
767
900
|
chainKey: ChainKeys.ARBITRUM_MAINNET,
|
|
768
901
|
hubAsset: "0xfB0ACB1b2720B620935F50a6dd3F7FEA52b2FCBe",
|
|
769
|
-
vault: SodaTokens.
|
|
902
|
+
vault: SodaTokens.sodaWBTC.address
|
|
903
|
+
},
|
|
904
|
+
WBTC_LEGACY: {
|
|
905
|
+
symbol: "WBTC.legacy",
|
|
906
|
+
name: "Wrapped BTC (Legacy)",
|
|
907
|
+
decimals: 8,
|
|
908
|
+
address: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",
|
|
909
|
+
chainKey: ChainKeys.ARBITRUM_MAINNET,
|
|
910
|
+
hubAsset: "0xfB0ACB1b2720B620935F50a6dd3F7FEA52b2FCBe",
|
|
911
|
+
vault: SodaTokens.sodaBTC.address,
|
|
912
|
+
access: "withdrawOnly"
|
|
770
913
|
},
|
|
771
914
|
USDC: {
|
|
772
915
|
symbol: "USDC",
|
|
@@ -921,7 +1064,8 @@ var baseSupportedTokens = {
|
|
|
921
1064
|
address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
922
1065
|
chainKey: ChainKeys.BASE_MAINNET,
|
|
923
1066
|
hubAsset: "0x2803a23a3BA6b09e57D1c71deC0D9eFdBB00A27F",
|
|
924
|
-
vault: SodaTokens.sodaBTC.address
|
|
1067
|
+
vault: SodaTokens.sodaBTC.address,
|
|
1068
|
+
access: "withdrawOnly"
|
|
925
1069
|
},
|
|
926
1070
|
SODA: {
|
|
927
1071
|
symbol: "SODA",
|
|
@@ -958,6 +1102,15 @@ var baseSupportedTokens = {
|
|
|
958
1102
|
chainKey: ChainKeys.BASE_MAINNET,
|
|
959
1103
|
hubAsset: "0xaa81bb5ba3c972ab53605d3ba7e443a3de6d1cb9",
|
|
960
1104
|
vault: "0xaa81bb5ba3c972ab53605d3ba7e443a3de6d1cb9"
|
|
1105
|
+
},
|
|
1106
|
+
AERO: {
|
|
1107
|
+
symbol: "AERO",
|
|
1108
|
+
name: "Aerodrome Finance",
|
|
1109
|
+
decimals: 18,
|
|
1110
|
+
address: "0x940181a94A35A4569e4529A3CDfB74e38FD98631",
|
|
1111
|
+
chainKey: ChainKeys.BASE_MAINNET,
|
|
1112
|
+
hubAsset: "0x348e086ab6f424dfc575a325c28624ed23973173",
|
|
1113
|
+
vault: "0x348e086ab6f424dfc575a325c28624ed23973173"
|
|
961
1114
|
}
|
|
962
1115
|
};
|
|
963
1116
|
var optimismSupportedTokens = {
|
|
@@ -1640,6 +1793,33 @@ var stellarSupportedTokens = {
|
|
|
1640
1793
|
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1641
1794
|
hubAsset: "0xD749B5FfFED7cEDaa3239abDd16D677179C29AEc",
|
|
1642
1795
|
vault: SodaTokens.sodaSODA.address
|
|
1796
|
+
},
|
|
1797
|
+
sodaETH: {
|
|
1798
|
+
symbol: "sodaETH",
|
|
1799
|
+
name: "Soda ETH",
|
|
1800
|
+
decimals: 7,
|
|
1801
|
+
address: "CDK5EWVTZLGSLI6D5OSES7XUKWZUKBXDRNOWUVDNPP5RJRP5EYWCW7SL",
|
|
1802
|
+
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1803
|
+
hubAsset: "0x4985a4b72ac723723e9ae82382d12d77e9a715de",
|
|
1804
|
+
vault: SodaTokens.sodaETH.address
|
|
1805
|
+
},
|
|
1806
|
+
sodaBTC: {
|
|
1807
|
+
symbol: "sodaBTC",
|
|
1808
|
+
name: "Soda BTC",
|
|
1809
|
+
decimals: 7,
|
|
1810
|
+
address: "CD6XWBW74YVFDQQYUM2GALCULMA5MAWGP6NTCWF3ZYXP4Z7MEVY4JKBX",
|
|
1811
|
+
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1812
|
+
hubAsset: "0xddee01f63c18843e2bac30cb702864d7632c83a2",
|
|
1813
|
+
vault: SodaTokens.sodaBTC.address
|
|
1814
|
+
},
|
|
1815
|
+
sodaBNB: {
|
|
1816
|
+
symbol: "sodaBNB",
|
|
1817
|
+
name: "Soda BNB",
|
|
1818
|
+
decimals: 7,
|
|
1819
|
+
address: "CCXTXZAFLVNTMORVWYB6BGL7YEW3U3ONDAL2FGBRGDUQH7AGANVQPRS6",
|
|
1820
|
+
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1821
|
+
hubAsset: "0xa10be5f5c2dea7d272555dc73ea2a7317c3c5b63",
|
|
1822
|
+
vault: SodaTokens.sodaBNB.address
|
|
1643
1823
|
}
|
|
1644
1824
|
};
|
|
1645
1825
|
var suiSupportedTokens = {
|
|
@@ -1964,7 +2144,17 @@ var ethereumSupportedTokens = {
|
|
|
1964
2144
|
address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
|
|
1965
2145
|
chainKey: ChainKeys.ETHEREUM_MAINNET,
|
|
1966
2146
|
hubAsset: "0x4ccbe4c2cf2aeed19314790622efd71dc0b67acb",
|
|
1967
|
-
vault: SodaTokens.
|
|
2147
|
+
vault: SodaTokens.sodaWBTC.address
|
|
2148
|
+
},
|
|
2149
|
+
WBTC_LEGACY: {
|
|
2150
|
+
symbol: "WBTC.legacy",
|
|
2151
|
+
name: "Wrapped Bitcoin (Legacy)",
|
|
2152
|
+
decimals: 8,
|
|
2153
|
+
address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
|
|
2154
|
+
chainKey: ChainKeys.ETHEREUM_MAINNET,
|
|
2155
|
+
hubAsset: "0x4ccbe4c2cf2aeed19314790622efd71dc0b67acb",
|
|
2156
|
+
vault: SodaTokens.sodaBTC.address,
|
|
2157
|
+
access: "withdrawOnly"
|
|
1968
2158
|
},
|
|
1969
2159
|
sUSDat: {
|
|
1970
2160
|
symbol: "sUSDat",
|
|
@@ -2149,6 +2339,44 @@ var kaiaSupportedTokens = {
|
|
|
2149
2339
|
vault: SodaTokens.sodaSODA.address
|
|
2150
2340
|
}
|
|
2151
2341
|
};
|
|
2342
|
+
var hederaSupportedTokens = {
|
|
2343
|
+
HBAR: {
|
|
2344
|
+
symbol: "HBAR",
|
|
2345
|
+
name: "HBAR",
|
|
2346
|
+
decimals: 8,
|
|
2347
|
+
address: "0x0000000000000000000000000000000000000000",
|
|
2348
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2349
|
+
hubAsset: "0x5c18c543b6B6EA97dE739F48C49CfC291B3AD465",
|
|
2350
|
+
vault: SodaTokens.sodaHBAR.address
|
|
2351
|
+
},
|
|
2352
|
+
bnUSD: {
|
|
2353
|
+
symbol: "bnUSD",
|
|
2354
|
+
name: "bnUSD",
|
|
2355
|
+
decimals: 8,
|
|
2356
|
+
address: "0x0000000000000000000000000000000000a0286a",
|
|
2357
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2358
|
+
hubAsset: "0x44be1984cd279334a630469fa357305c7dba2837",
|
|
2359
|
+
vault: SodaTokens.bnUSD.address
|
|
2360
|
+
},
|
|
2361
|
+
SODA: {
|
|
2362
|
+
symbol: "SODA",
|
|
2363
|
+
name: "SODAX",
|
|
2364
|
+
decimals: 8,
|
|
2365
|
+
address: "0x0000000000000000000000000000000000a02869",
|
|
2366
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2367
|
+
hubAsset: "0x1217721376839dbffe78093ddd5d8e50d0239b3f",
|
|
2368
|
+
vault: SodaTokens.sodaSODA.address
|
|
2369
|
+
},
|
|
2370
|
+
USDC: {
|
|
2371
|
+
symbol: "USDC",
|
|
2372
|
+
name: "USD Coin",
|
|
2373
|
+
decimals: 6,
|
|
2374
|
+
address: "0x000000000000000000000000000000000006f89a",
|
|
2375
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2376
|
+
hubAsset: "0xafafae0c1476424c4b81f09095bd7dcb858047c8",
|
|
2377
|
+
vault: SodaTokens.sodaUSDC.address
|
|
2378
|
+
}
|
|
2379
|
+
};
|
|
2152
2380
|
var stacksSupportedTokens = {
|
|
2153
2381
|
STX: {
|
|
2154
2382
|
symbol: "STX",
|
|
@@ -2218,9 +2446,12 @@ var RelayChainIdMap = {
|
|
|
2218
2446
|
[ChainKeys.BITCOIN_MAINNET]: 627463n,
|
|
2219
2447
|
[ChainKeys.REDBELLY_MAINNET]: 726564n,
|
|
2220
2448
|
[ChainKeys.KAIA_MAINNET]: 27489n,
|
|
2221
|
-
[ChainKeys.STACKS_MAINNET]: 60n
|
|
2449
|
+
[ChainKeys.STACKS_MAINNET]: 60n,
|
|
2450
|
+
[ChainKeys.HEDERA_MAINNET]: 18501n
|
|
2222
2451
|
};
|
|
2223
|
-
|
|
2452
|
+
new Map(Object.entries(RelayChainIdMap).map(([chainKey, chainId]) => [chainId, chainKey]));
|
|
2453
|
+
var CHAIN_LOGO_BASE_URL = "https://raw.githubusercontent.com/icon-project/sodax-sdks/main/packages/assets/chain";
|
|
2454
|
+
var chainLogo = (key) => `${CHAIN_LOGO_BASE_URL}/${key}.png`;
|
|
2224
2455
|
var baseChainInfo = {
|
|
2225
2456
|
[ChainKeys.SONIC_MAINNET]: {
|
|
2226
2457
|
name: "Sonic",
|
|
@@ -2228,6 +2459,7 @@ var baseChainInfo = {
|
|
|
2228
2459
|
type: "EVM",
|
|
2229
2460
|
chainId: 146,
|
|
2230
2461
|
mainnet: true,
|
|
2462
|
+
logo: chainLogo(ChainKeys.SONIC_MAINNET),
|
|
2231
2463
|
explorer: {
|
|
2232
2464
|
baseUrl: "https://sonicscan.org/",
|
|
2233
2465
|
txUrl: "https://sonicscan.org/tx/",
|
|
@@ -2241,6 +2473,7 @@ var baseChainInfo = {
|
|
|
2241
2473
|
type: "SOLANA",
|
|
2242
2474
|
chainId: "solana",
|
|
2243
2475
|
mainnet: true,
|
|
2476
|
+
logo: chainLogo(ChainKeys.SOLANA_MAINNET),
|
|
2244
2477
|
explorer: {
|
|
2245
2478
|
baseUrl: "https://solscan.io/",
|
|
2246
2479
|
txUrl: "https://solscan.io/tx/",
|
|
@@ -2254,6 +2487,7 @@ var baseChainInfo = {
|
|
|
2254
2487
|
type: "EVM",
|
|
2255
2488
|
chainId: 43114,
|
|
2256
2489
|
mainnet: true,
|
|
2490
|
+
logo: chainLogo(ChainKeys.AVALANCHE_MAINNET),
|
|
2257
2491
|
explorer: {
|
|
2258
2492
|
baseUrl: "https://snowtrace.io/",
|
|
2259
2493
|
txUrl: "https://snowtrace.io/tx/",
|
|
@@ -2267,6 +2501,7 @@ var baseChainInfo = {
|
|
|
2267
2501
|
type: "EVM",
|
|
2268
2502
|
chainId: 42161,
|
|
2269
2503
|
mainnet: true,
|
|
2504
|
+
logo: chainLogo(ChainKeys.ARBITRUM_MAINNET),
|
|
2270
2505
|
explorer: {
|
|
2271
2506
|
baseUrl: "https://arbiscan.io/",
|
|
2272
2507
|
txUrl: "https://arbiscan.io/tx/",
|
|
@@ -2280,6 +2515,7 @@ var baseChainInfo = {
|
|
|
2280
2515
|
type: "EVM",
|
|
2281
2516
|
chainId: 8453,
|
|
2282
2517
|
mainnet: true,
|
|
2518
|
+
logo: chainLogo(ChainKeys.BASE_MAINNET),
|
|
2283
2519
|
explorer: {
|
|
2284
2520
|
baseUrl: "https://basescan.org/",
|
|
2285
2521
|
txUrl: "https://basescan.org/tx/",
|
|
@@ -2293,6 +2529,7 @@ var baseChainInfo = {
|
|
|
2293
2529
|
type: "EVM",
|
|
2294
2530
|
chainId: 10,
|
|
2295
2531
|
mainnet: true,
|
|
2532
|
+
logo: chainLogo(ChainKeys.OPTIMISM_MAINNET),
|
|
2296
2533
|
explorer: {
|
|
2297
2534
|
baseUrl: "https://optimistic.etherscan.io/",
|
|
2298
2535
|
txUrl: "https://optimistic.etherscan.io/tx/",
|
|
@@ -2306,6 +2543,7 @@ var baseChainInfo = {
|
|
|
2306
2543
|
type: "EVM",
|
|
2307
2544
|
chainId: 56,
|
|
2308
2545
|
mainnet: true,
|
|
2546
|
+
logo: chainLogo(ChainKeys.BSC_MAINNET),
|
|
2309
2547
|
explorer: {
|
|
2310
2548
|
baseUrl: "https://bscscan.com/",
|
|
2311
2549
|
txUrl: "https://bscscan.com/tx/",
|
|
@@ -2319,6 +2557,7 @@ var baseChainInfo = {
|
|
|
2319
2557
|
type: "EVM",
|
|
2320
2558
|
chainId: 137,
|
|
2321
2559
|
mainnet: true,
|
|
2560
|
+
logo: chainLogo(ChainKeys.POLYGON_MAINNET),
|
|
2322
2561
|
explorer: {
|
|
2323
2562
|
baseUrl: "https://polygonscan.com/",
|
|
2324
2563
|
txUrl: "https://polygonscan.com/tx/",
|
|
@@ -2332,6 +2571,7 @@ var baseChainInfo = {
|
|
|
2332
2571
|
type: "EVM",
|
|
2333
2572
|
chainId: 999,
|
|
2334
2573
|
mainnet: true,
|
|
2574
|
+
logo: chainLogo(ChainKeys.HYPEREVM_MAINNET),
|
|
2335
2575
|
explorer: {
|
|
2336
2576
|
baseUrl: "https://hyperevmscan.io/",
|
|
2337
2577
|
txUrl: "https://hyperevmscan.io/tx/",
|
|
@@ -2345,6 +2585,7 @@ var baseChainInfo = {
|
|
|
2345
2585
|
type: "EVM",
|
|
2346
2586
|
chainId: 1890,
|
|
2347
2587
|
mainnet: true,
|
|
2588
|
+
logo: chainLogo(ChainKeys.LIGHTLINK_MAINNET),
|
|
2348
2589
|
explorer: {
|
|
2349
2590
|
baseUrl: "https://phoenix.lightlink.io/",
|
|
2350
2591
|
txUrl: "https://phoenix.lightlink.io/tx/",
|
|
@@ -2358,6 +2599,7 @@ var baseChainInfo = {
|
|
|
2358
2599
|
type: "INJECTIVE",
|
|
2359
2600
|
chainId: "injective-1",
|
|
2360
2601
|
mainnet: true,
|
|
2602
|
+
logo: chainLogo(ChainKeys.INJECTIVE_MAINNET),
|
|
2361
2603
|
explorer: {
|
|
2362
2604
|
baseUrl: "https://www.mintscan.io/injective/",
|
|
2363
2605
|
txUrl: "https://www.mintscan.io/injective/tx/",
|
|
@@ -2371,6 +2613,7 @@ var baseChainInfo = {
|
|
|
2371
2613
|
type: "STELLAR",
|
|
2372
2614
|
chainId: "stellar",
|
|
2373
2615
|
mainnet: true,
|
|
2616
|
+
logo: chainLogo(ChainKeys.STELLAR_MAINNET),
|
|
2374
2617
|
explorer: {
|
|
2375
2618
|
baseUrl: "https://stellar.expert/explorer/public/",
|
|
2376
2619
|
txUrl: "https://stellar.expert/explorer/public/tx/",
|
|
@@ -2384,6 +2627,7 @@ var baseChainInfo = {
|
|
|
2384
2627
|
type: "SUI",
|
|
2385
2628
|
chainId: "sui",
|
|
2386
2629
|
mainnet: true,
|
|
2630
|
+
logo: chainLogo(ChainKeys.SUI_MAINNET),
|
|
2387
2631
|
explorer: {
|
|
2388
2632
|
baseUrl: "https://suivision.xyz/",
|
|
2389
2633
|
txUrl: "https://suivision.xyz/txblock/",
|
|
@@ -2397,6 +2641,7 @@ var baseChainInfo = {
|
|
|
2397
2641
|
type: "ICON",
|
|
2398
2642
|
chainId: "0x1.icon",
|
|
2399
2643
|
mainnet: true,
|
|
2644
|
+
logo: chainLogo(ChainKeys.ICON_MAINNET),
|
|
2400
2645
|
explorer: {
|
|
2401
2646
|
baseUrl: "https://tracker.icon.community/",
|
|
2402
2647
|
txUrl: "https://tracker.icon.community/transaction/",
|
|
@@ -2410,6 +2655,7 @@ var baseChainInfo = {
|
|
|
2410
2655
|
type: "NEAR",
|
|
2411
2656
|
chainId: "near",
|
|
2412
2657
|
mainnet: true,
|
|
2658
|
+
logo: chainLogo(ChainKeys.NEAR_MAINNET),
|
|
2413
2659
|
explorer: {
|
|
2414
2660
|
baseUrl: "https://nearblocks.io/",
|
|
2415
2661
|
txUrl: "https://nearblocks.io/txns/",
|
|
@@ -2423,6 +2669,7 @@ var baseChainInfo = {
|
|
|
2423
2669
|
type: "EVM",
|
|
2424
2670
|
chainId: 1,
|
|
2425
2671
|
mainnet: true,
|
|
2672
|
+
logo: chainLogo(ChainKeys.ETHEREUM_MAINNET),
|
|
2426
2673
|
explorer: {
|
|
2427
2674
|
baseUrl: "https://etherscan.io/",
|
|
2428
2675
|
txUrl: "https://etherscan.io/tx/",
|
|
@@ -2436,6 +2683,7 @@ var baseChainInfo = {
|
|
|
2436
2683
|
type: "BITCOIN",
|
|
2437
2684
|
chainId: "bitcoin",
|
|
2438
2685
|
mainnet: true,
|
|
2686
|
+
logo: chainLogo(ChainKeys.BITCOIN_MAINNET),
|
|
2439
2687
|
explorer: {
|
|
2440
2688
|
baseUrl: "https://mempool.space/",
|
|
2441
2689
|
txUrl: "https://mempool.space/tx/",
|
|
@@ -2449,6 +2697,7 @@ var baseChainInfo = {
|
|
|
2449
2697
|
type: "EVM",
|
|
2450
2698
|
chainId: 151,
|
|
2451
2699
|
mainnet: true,
|
|
2700
|
+
logo: chainLogo(ChainKeys.REDBELLY_MAINNET),
|
|
2452
2701
|
explorer: {
|
|
2453
2702
|
baseUrl: "https://redbelly.routescan.io/",
|
|
2454
2703
|
txUrl: "https://redbelly.routescan.io/tx/",
|
|
@@ -2462,6 +2711,7 @@ var baseChainInfo = {
|
|
|
2462
2711
|
type: "EVM",
|
|
2463
2712
|
chainId: 8217,
|
|
2464
2713
|
mainnet: true,
|
|
2714
|
+
logo: chainLogo(ChainKeys.KAIA_MAINNET),
|
|
2465
2715
|
explorer: {
|
|
2466
2716
|
baseUrl: "https://klaytnfinder.io/",
|
|
2467
2717
|
txUrl: "https://klaytnfinder.io/tx/",
|
|
@@ -2475,12 +2725,27 @@ var baseChainInfo = {
|
|
|
2475
2725
|
type: "STACKS",
|
|
2476
2726
|
chainId: "stacks",
|
|
2477
2727
|
mainnet: true,
|
|
2728
|
+
logo: chainLogo(ChainKeys.STACKS_MAINNET),
|
|
2478
2729
|
explorer: {
|
|
2479
2730
|
baseUrl: "https://explorer.hiro.so/",
|
|
2480
2731
|
txUrl: "https://explorer.hiro.so/txid/",
|
|
2481
2732
|
addressUrl: "https://explorer.hiro.so/address/",
|
|
2482
2733
|
contractUrl: "https://explorer.hiro.so/txid/"
|
|
2483
2734
|
}
|
|
2735
|
+
},
|
|
2736
|
+
[ChainKeys.HEDERA_MAINNET]: {
|
|
2737
|
+
name: "Hedera",
|
|
2738
|
+
key: ChainKeys.HEDERA_MAINNET,
|
|
2739
|
+
type: "EVM",
|
|
2740
|
+
chainId: 295,
|
|
2741
|
+
mainnet: true,
|
|
2742
|
+
logo: chainLogo(ChainKeys.HEDERA_MAINNET),
|
|
2743
|
+
explorer: {
|
|
2744
|
+
baseUrl: "https://hashscan.io/mainnet/",
|
|
2745
|
+
txUrl: "https://hashscan.io/mainnet/transaction/",
|
|
2746
|
+
addressUrl: "https://hashscan.io/mainnet/account/",
|
|
2747
|
+
contractUrl: "https://hashscan.io/mainnet/contract/"
|
|
2748
|
+
}
|
|
2484
2749
|
}
|
|
2485
2750
|
};
|
|
2486
2751
|
var filterChainKeysByType = (type) => CHAIN_KEYS.filter((key) => baseChainInfo[key].type === type);
|
|
@@ -2711,9 +2976,9 @@ var spokeChainConfig = {
|
|
|
2711
2976
|
supportedTokens: bitcoinSupportedTokens,
|
|
2712
2977
|
radfi: {
|
|
2713
2978
|
walletMode: "TRADING",
|
|
2714
|
-
apiUrl: "https://api.
|
|
2979
|
+
apiUrl: "https://api.bound.exchange/api",
|
|
2715
2980
|
apiKey: "",
|
|
2716
|
-
umsUrl: "https://ums.
|
|
2981
|
+
umsUrl: "https://api.ums.bound.exchange/api",
|
|
2717
2982
|
accessToken: "",
|
|
2718
2983
|
refreshToken: ""
|
|
2719
2984
|
},
|
|
@@ -2746,6 +3011,21 @@ var spokeChainConfig = {
|
|
|
2746
3011
|
assetCode: "SODA",
|
|
2747
3012
|
contractId: "CAH5LKJC2ZB4RVUVEVL2QWJWNJLHQE2UF767ILLQ5EQ4O3OURR2XIUGM",
|
|
2748
3013
|
assetIssuer: "GDYUTHY75A7WUZJQDPOP66FB32BOYGZRXHWTWO4Q6LQTANT5X3V5HNFA"
|
|
3014
|
+
},
|
|
3015
|
+
{
|
|
3016
|
+
assetCode: "sodaETH",
|
|
3017
|
+
contractId: "CDK5EWVTZLGSLI6D5OSES7XUKWZUKBXDRNOWUVDNPP5RJRP5EYWCW7SL",
|
|
3018
|
+
assetIssuer: "GDYUTHY75A7WUZJQDPOP66FB32BOYGZRXHWTWO4Q6LQTANT5X3V5HNFA"
|
|
3019
|
+
},
|
|
3020
|
+
{
|
|
3021
|
+
assetCode: "sodaBTC",
|
|
3022
|
+
contractId: "CD6XWBW74YVFDQQYUM2GALCULMA5MAWGP6NTCWF3ZYXP4Z7MEVY4JKBX",
|
|
3023
|
+
assetIssuer: "GDYUTHY75A7WUZJQDPOP66FB32BOYGZRXHWTWO4Q6LQTANT5X3V5HNFA"
|
|
3024
|
+
},
|
|
3025
|
+
{
|
|
3026
|
+
assetCode: "sodaBNB",
|
|
3027
|
+
contractId: "CCXTXZAFLVNTMORVWYB6BGL7YEW3U3ONDAL2FGBRGDUQH7AGANVQPRS6",
|
|
3028
|
+
assetIssuer: "GDYUTHY75A7WUZJQDPOP66FB32BOYGZRXHWTWO4Q6LQTANT5X3V5HNFA"
|
|
2749
3029
|
}
|
|
2750
3030
|
],
|
|
2751
3031
|
supportedTokens: stellarSupportedTokens,
|
|
@@ -2861,6 +3141,21 @@ var spokeChainConfig = {
|
|
|
2861
3141
|
pollingIntervalMs: 1e4,
|
|
2862
3142
|
maxTimeoutMs: 12e4
|
|
2863
3143
|
}
|
|
3144
|
+
},
|
|
3145
|
+
[ChainKeys.HEDERA_MAINNET]: {
|
|
3146
|
+
chain: baseChainInfo[ChainKeys.HEDERA_MAINNET],
|
|
3147
|
+
rpcUrl: "https://mainnet.hashio.io/api",
|
|
3148
|
+
addresses: {
|
|
3149
|
+
assetManager: "0x0df73542cC68bDC01b361d231c60F726B0e0bC05",
|
|
3150
|
+
connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD"
|
|
3151
|
+
},
|
|
3152
|
+
nativeToken: "0x0000000000000000000000000000000000000000",
|
|
3153
|
+
bnUSD: "0x0000000000000000000000000000000000a0286a",
|
|
3154
|
+
supportedTokens: hederaSupportedTokens,
|
|
3155
|
+
pollingConfig: {
|
|
3156
|
+
pollingIntervalMs: 2e3,
|
|
3157
|
+
maxTimeoutMs: 6e4
|
|
3158
|
+
}
|
|
2864
3159
|
}
|
|
2865
3160
|
};
|
|
2866
3161
|
CHAIN_KEYS.filter((chainId) => chainId !== ChainKeys.ICON_MAINNET);
|
|
@@ -2892,10 +3187,57 @@ var hubConfig = {
|
|
|
2892
3187
|
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.USDT,
|
|
2893
3188
|
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.wS,
|
|
2894
3189
|
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.SODA,
|
|
2895
|
-
|
|
2896
|
-
...Object.values(SodaTokens)
|
|
3190
|
+
// sodaUSDS is staging-only — see stagingSwapSupportedTokens
|
|
3191
|
+
...Object.values(SodaTokens).filter((t) => t !== SodaTokens.sodaUSDS),
|
|
3192
|
+
...Object.values(LsodaTokens)
|
|
2897
3193
|
]});
|
|
2898
3194
|
|
|
3195
|
+
// ../types/dist/leverageYield/leverageYield.js
|
|
3196
|
+
[
|
|
3197
|
+
{
|
|
3198
|
+
name: LsodaTokens.lsodaWEETH.symbol,
|
|
3199
|
+
vault: LsodaTokens.lsodaWEETH.vault,
|
|
3200
|
+
asset: SodaTokens.sodaWEETH.address,
|
|
3201
|
+
// sodaWEETH on Sonic
|
|
3202
|
+
borrowToken: SodaTokens.sodaETH.address,
|
|
3203
|
+
// sodaETH on Sonic
|
|
3204
|
+
lsdSource: {
|
|
3205
|
+
// DefiLlama pool for EtherFi's weETH on Ethereum (project: 'ether.fi-stake').
|
|
3206
|
+
poolId: "46bd2bdf-6d92-4066-b482-e885ee172264",
|
|
3207
|
+
fallbackAprPct: 3,
|
|
3208
|
+
label: "EtherFi (weETH)"
|
|
3209
|
+
}
|
|
3210
|
+
},
|
|
3211
|
+
{
|
|
3212
|
+
name: LsodaTokens.lsodaWSTETH.symbol,
|
|
3213
|
+
vault: LsodaTokens.lsodaWSTETH.vault,
|
|
3214
|
+
asset: SodaTokens.sodaWSTETH.address,
|
|
3215
|
+
// sodaWSTETH on Sonic
|
|
3216
|
+
borrowToken: SodaTokens.sodaETH.address,
|
|
3217
|
+
// sodaETH on Sonic
|
|
3218
|
+
lsdSource: {
|
|
3219
|
+
// DefiLlama pool for Lido's stETH on Ethereum (wstETH inherits this rate via redeem).
|
|
3220
|
+
poolId: "747c1d2a-c668-4682-b9f9-296708a3dd90",
|
|
3221
|
+
fallbackAprPct: 2.4,
|
|
3222
|
+
label: "Lido (stETH)"
|
|
3223
|
+
}
|
|
3224
|
+
},
|
|
3225
|
+
{
|
|
3226
|
+
name: LsodaTokens.lsodaJITOSOL.symbol,
|
|
3227
|
+
vault: LsodaTokens.lsodaJITOSOL.vault,
|
|
3228
|
+
asset: SodaTokens.sodaJITOSOL.address,
|
|
3229
|
+
// sodaJITOSOL on Sonic
|
|
3230
|
+
borrowToken: SodaTokens.sodaSOL.address,
|
|
3231
|
+
// sodaSOL on Sonic
|
|
3232
|
+
lsdSource: {
|
|
3233
|
+
// DefiLlama pool for Jito's JitoSOL native staking on Solana (project: 'jito-liquid-staking').
|
|
3234
|
+
poolId: "0e7d0722-9054-4907-8593-567b353c0900",
|
|
3235
|
+
fallbackAprPct: 5.5,
|
|
3236
|
+
label: "Jito (JitoSOL)"
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3239
|
+
];
|
|
3240
|
+
|
|
2899
3241
|
// ../types/dist/bitcoin/bitcoin.js
|
|
2900
3242
|
function detectBitcoinAddressType(address) {
|
|
2901
3243
|
if (address.startsWith("bc1p") || address.startsWith("tb1p"))
|
|
@@ -2951,6 +3293,8 @@ function getEvmViemChain(key) {
|
|
|
2951
3293
|
return redbellyMainnet;
|
|
2952
3294
|
case ChainKeys.KAIA_MAINNET:
|
|
2953
3295
|
return kaia;
|
|
3296
|
+
case ChainKeys.HEDERA_MAINNET:
|
|
3297
|
+
return hedera;
|
|
2954
3298
|
default: {
|
|
2955
3299
|
const exhaustiveCheck = key;
|
|
2956
3300
|
console.log(exhaustiveCheck);
|
|
@@ -3324,13 +3668,32 @@ function txResponseToExecuteResponse(txResult) {
|
|
|
3324
3668
|
transactionHash: txResult.txHash
|
|
3325
3669
|
};
|
|
3326
3670
|
}
|
|
3671
|
+
var COSMWASM_MSG_EXECUTE_CONTRACT_TYPE_URL = "/cosmwasm.wasm.v1.MsgExecuteContract";
|
|
3672
|
+
function decodeInjectiveExecuteMsgs(bodyBytes) {
|
|
3673
|
+
const { messages } = TxBody.decode(bodyBytes);
|
|
3674
|
+
return messages.map((message) => {
|
|
3675
|
+
if (message.typeUrl !== COSMWASM_MSG_EXECUTE_CONTRACT_TYPE_URL) {
|
|
3676
|
+
throw new Error(`Injective: cannot rebuild message type ${message.typeUrl} for browser signing.`);
|
|
3677
|
+
}
|
|
3678
|
+
const { sender, contract, msg, funds } = MsgExecuteContract$1.decode(message.value);
|
|
3679
|
+
return MsgExecuteContractCompat.fromJSON({
|
|
3680
|
+
contractAddress: contract,
|
|
3681
|
+
sender,
|
|
3682
|
+
msg: JSON.parse(Buffer.from(msg).toString("utf8")),
|
|
3683
|
+
funds: funds.map((coin) => ({ denom: coin.denom, amount: coin.amount }))
|
|
3684
|
+
});
|
|
3685
|
+
});
|
|
3686
|
+
}
|
|
3327
3687
|
var InjectiveWalletProvider = class extends BaseWalletProvider {
|
|
3328
3688
|
chainType = "INJECTIVE";
|
|
3329
3689
|
wallet;
|
|
3690
|
+
/** Network endpoints used to broadcast a signed `TxRaw` via {@link sendTransaction}. */
|
|
3691
|
+
endpoints;
|
|
3330
3692
|
constructor(config) {
|
|
3331
3693
|
super(config.defaults);
|
|
3332
3694
|
if (isBrowserExtensionInjectiveWalletConfig(config)) {
|
|
3333
3695
|
this.wallet = { msgBroadcaster: config.msgBroadcaster };
|
|
3696
|
+
this.endpoints = config.msgBroadcaster.endpoints;
|
|
3334
3697
|
return;
|
|
3335
3698
|
}
|
|
3336
3699
|
if (isSecretInjectiveWalletConfig(config)) {
|
|
@@ -3343,6 +3706,7 @@ var InjectiveWalletProvider = class extends BaseWalletProvider {
|
|
|
3343
3706
|
throw new Error("Invalid Secret Injective wallet config");
|
|
3344
3707
|
}
|
|
3345
3708
|
this.wallet = { msgBroadcaster: new MsgBroadcasterWithPk({ privateKey, network: config.network }) };
|
|
3709
|
+
this.endpoints = getNetworkEndpoints(config.network);
|
|
3346
3710
|
return;
|
|
3347
3711
|
}
|
|
3348
3712
|
throw new Error("Invalid Injective wallet config");
|
|
@@ -3435,6 +3799,53 @@ var InjectiveWalletProvider = class extends BaseWalletProvider {
|
|
|
3435
3799
|
}
|
|
3436
3800
|
return txResponseToExecuteResponse(txResult);
|
|
3437
3801
|
}
|
|
3802
|
+
/**
|
|
3803
|
+
* Broadcasts an already-signed, proto-encoded Cosmos `TxRaw` via the configured gRPC endpoint.
|
|
3804
|
+
* @param signedTxRaw - The signed transaction, encoded with `TxRaw.encode(...).finish()`.
|
|
3805
|
+
* @returns The transaction hash.
|
|
3806
|
+
* @throws {Error} if the node rejects the transaction (non-zero result code).
|
|
3807
|
+
*/
|
|
3808
|
+
async sendTransaction(signedTxRaw) {
|
|
3809
|
+
const txRaw = TxRaw.decode(signedTxRaw);
|
|
3810
|
+
const res = await new TxGrpcApi(this.endpoints.grpc).broadcast(txRaw);
|
|
3811
|
+
if (res.code !== 0) {
|
|
3812
|
+
throw new Error(`Injective broadcast failed (code ${res.code}): ${res.rawLog}`);
|
|
3813
|
+
}
|
|
3814
|
+
return res.txHash;
|
|
3815
|
+
}
|
|
3816
|
+
/**
|
|
3817
|
+
* Signs and broadcasts an unsigned `InjectiveRawTransaction` (e.g. from the Swaps API).
|
|
3818
|
+
*
|
|
3819
|
+
* - **PK (secret) mode**: signs the exact unsigned `SignDoc` (`bodyBytes`/`authInfoBytes`) and
|
|
3820
|
+
* broadcasts it as-is, preserving the precise fee/account the Swaps API built.
|
|
3821
|
+
* - **Browser mode (Keplr/Leap/Metamask)**: an EVM wallet can't sign a raw Cosmos `SignDoc`, so we
|
|
3822
|
+
* recover the messages from `bodyBytes` and broadcast them through the fee-delegation path (same as
|
|
3823
|
+
* {@link execute}). The broadcaster builds the wallet-appropriate sign payload (DIRECT for Cosmos
|
|
3824
|
+
* wallets, EIP-712 for Metamask). Trade-off: the broadcaster recomputes gas/fee rather than using
|
|
3825
|
+
* the exact fee in the raw tx; the on-chain effect (the execute message) is unchanged.
|
|
3826
|
+
*
|
|
3827
|
+
* @returns The transaction hash.
|
|
3828
|
+
*/
|
|
3829
|
+
async signAndSendTransaction(tx) {
|
|
3830
|
+
const { bodyBytes, authInfoBytes, chainId, accountNumber } = tx.signedDoc;
|
|
3831
|
+
const signerAddress = await this.getWalletAddress();
|
|
3832
|
+
if (tx.from !== signerAddress) {
|
|
3833
|
+
throw new Error(`Injective: cannot sign transaction for ${tx.from} with wallet ${signerAddress}.`);
|
|
3834
|
+
}
|
|
3835
|
+
if (this.wallet.msgBroadcaster instanceof MsgBroadcasterWithPk) {
|
|
3836
|
+
const signDoc = SignDoc.fromPartial({ bodyBytes, authInfoBytes, chainId, accountNumber });
|
|
3837
|
+
const signBytes = SignDoc.encode(signDoc).finish();
|
|
3838
|
+
const signature = this.wallet.msgBroadcaster.privateKey.sign(Buffer.from(signBytes));
|
|
3839
|
+
const signedTxRaw = TxRaw.fromPartial({ bodyBytes, authInfoBytes, signatures: [signature] });
|
|
3840
|
+
return this.sendTransaction(TxRaw.encode(signedTxRaw).finish());
|
|
3841
|
+
}
|
|
3842
|
+
const msgs = decodeInjectiveExecuteMsgs(bodyBytes);
|
|
3843
|
+
const txResult = await this.wallet.msgBroadcaster.broadcastWithFeeDelegation({
|
|
3844
|
+
msgs,
|
|
3845
|
+
injectiveAddress: signerAddress
|
|
3846
|
+
});
|
|
3847
|
+
return txResult.txHash;
|
|
3848
|
+
}
|
|
3438
3849
|
};
|
|
3439
3850
|
var DEFAULT_CONNECTION_COMMITMENT = "confirmed";
|
|
3440
3851
|
var DEFAULT_CONFIRM_COMMITMENT = "finalized";
|
|
@@ -3483,6 +3894,12 @@ var SolanaWalletProvider = class extends BaseWalletProvider {
|
|
|
3483
3894
|
const sendOptions = shallowMerge(this.defaults.sendOptions, options);
|
|
3484
3895
|
return this.connection.sendRawTransaction(rawTransaction, sendOptions);
|
|
3485
3896
|
}
|
|
3897
|
+
async signAndSendTransaction(params) {
|
|
3898
|
+
const serializedTxBytes = Buffer.from(params.data, "base64");
|
|
3899
|
+
const versionedTx = VersionedTransaction.deserialize(serializedTxBytes);
|
|
3900
|
+
const signedTx = await this.signAndSerializeTransaction(versionedTx);
|
|
3901
|
+
return this.sendTransaction(signedTx);
|
|
3902
|
+
}
|
|
3486
3903
|
async sendTransactionWithConfirmation(rawTransaction, optionsOrCommitment) {
|
|
3487
3904
|
const isCommitmentArg = typeof optionsOrCommitment === "string";
|
|
3488
3905
|
const sendOpts = isCommitmentArg ? void 0 : optionsOrCommitment?.send;
|
|
@@ -3516,6 +3933,31 @@ var SolanaWalletProvider = class extends BaseWalletProvider {
|
|
|
3516
3933
|
const tx = await adapterWallet.signTransaction(new VersionedTransaction(messageV0));
|
|
3517
3934
|
return tx.serialize();
|
|
3518
3935
|
}
|
|
3936
|
+
async signTransaction(transaction) {
|
|
3937
|
+
if (this.isAdapterMode) {
|
|
3938
|
+
return this.signTransactionWithAdapter(transaction);
|
|
3939
|
+
}
|
|
3940
|
+
return this.signTransactionWithKeypair(transaction);
|
|
3941
|
+
}
|
|
3942
|
+
async signAndSerializeTransaction(transaction) {
|
|
3943
|
+
const tx = await this.signTransaction(transaction);
|
|
3944
|
+
return tx.serialize();
|
|
3945
|
+
}
|
|
3946
|
+
async signTransactionWithAdapter(transaction) {
|
|
3947
|
+
const adapterWallet = this.wallet;
|
|
3948
|
+
if (!adapterWallet.signTransaction) {
|
|
3949
|
+
throw new Error("Wallet signTransaction is not initialized");
|
|
3950
|
+
}
|
|
3951
|
+
return adapterWallet.signTransaction(transaction);
|
|
3952
|
+
}
|
|
3953
|
+
async signTransactionWithKeypair(transaction) {
|
|
3954
|
+
if (this.isAdapterMode) {
|
|
3955
|
+
throw new Error("Cannot sign transaction with keypair in adapter mode");
|
|
3956
|
+
}
|
|
3957
|
+
const keypairWallet = this.wallet;
|
|
3958
|
+
transaction.sign([keypairWallet]);
|
|
3959
|
+
return transaction;
|
|
3960
|
+
}
|
|
3519
3961
|
async buildV0TxnWithKeypair(rawInstructions) {
|
|
3520
3962
|
const keypairWallet = this.wallet;
|
|
3521
3963
|
const instructions = this.buildTransactionInstruction(rawInstructions);
|
|
@@ -3567,6 +4009,10 @@ var STELLAR_HORIZON_URLS = {
|
|
|
3567
4009
|
TESTNET: "https://horizon-testnet.stellar.org",
|
|
3568
4010
|
PUBLIC: "https://horizon.stellar.org"
|
|
3569
4011
|
};
|
|
4012
|
+
var STELLAR_SOROBAN_URLS = {
|
|
4013
|
+
TESTNET: "https://soroban-testnet.stellar.org",
|
|
4014
|
+
PUBLIC: "https://rpc.ankr.com/stellar_soroban"
|
|
4015
|
+
};
|
|
3570
4016
|
var STELLAR_NETWORK_PASSPHRASES = {
|
|
3571
4017
|
TESTNET: Networks.TESTNET,
|
|
3572
4018
|
PUBLIC: Networks.PUBLIC
|
|
@@ -3608,6 +4054,7 @@ var StellarWalletProvider = class extends BaseWalletProvider {
|
|
|
3608
4054
|
chainType = "STELLAR";
|
|
3609
4055
|
wallet;
|
|
3610
4056
|
server;
|
|
4057
|
+
sorobanServer;
|
|
3611
4058
|
networkPassphrase;
|
|
3612
4059
|
constructor(config) {
|
|
3613
4060
|
super(config.defaults);
|
|
@@ -3616,6 +4063,9 @@ var StellarWalletProvider = class extends BaseWalletProvider {
|
|
|
3616
4063
|
}
|
|
3617
4064
|
this.networkPassphrase = this.defaults.networkPassphrase ?? STELLAR_NETWORK_PASSPHRASES[config.network];
|
|
3618
4065
|
this.server = new Horizon.Server(config.rpcUrl ?? STELLAR_HORIZON_URLS[config.network]);
|
|
4066
|
+
this.sorobanServer = new rpc.Server(config.sorobanRpcUrl ?? STELLAR_SOROBAN_URLS[config.network], {
|
|
4067
|
+
allowHttp: true
|
|
4068
|
+
});
|
|
3619
4069
|
if (isPrivateKeyStellarWalletConfig(config)) {
|
|
3620
4070
|
if (!isValidStellarPrivateKey(config.privateKey)) {
|
|
3621
4071
|
throw new StellarWalletError("Invalid private key format", "INVALID_PRIVATE_KEY");
|
|
@@ -3666,6 +4116,38 @@ var StellarWalletProvider = class extends BaseWalletProvider {
|
|
|
3666
4116
|
);
|
|
3667
4117
|
}
|
|
3668
4118
|
}
|
|
4119
|
+
/**
|
|
4120
|
+
* Broadcasts an already-signed XDR transaction via the Soroban RPC server.
|
|
4121
|
+
* @returns The transaction hash.
|
|
4122
|
+
* @throws {StellarWalletError} with code `SEND_TX_ERROR` if submission fails or the RPC returns an error status.
|
|
4123
|
+
*/
|
|
4124
|
+
async sendTransaction(signedTx) {
|
|
4125
|
+
try {
|
|
4126
|
+
const tx = TransactionBuilder.fromXDR(signedTx, this.networkPassphrase);
|
|
4127
|
+
const response = await this.sorobanServer.sendTransaction(tx);
|
|
4128
|
+
if (response.status === "ERROR") {
|
|
4129
|
+
throw new StellarWalletError(`Failed to submit transaction: ${JSON.stringify(response)}`, "SEND_TX_ERROR");
|
|
4130
|
+
}
|
|
4131
|
+
return response.hash;
|
|
4132
|
+
} catch (error) {
|
|
4133
|
+
if (error instanceof StellarWalletError) {
|
|
4134
|
+
throw error;
|
|
4135
|
+
}
|
|
4136
|
+
throw new StellarWalletError(
|
|
4137
|
+
error instanceof Error ? error.message : "Failed to send transaction",
|
|
4138
|
+
"SEND_TX_ERROR"
|
|
4139
|
+
);
|
|
4140
|
+
}
|
|
4141
|
+
}
|
|
4142
|
+
/**
|
|
4143
|
+
* Signs and broadcasts an unsigned `StellarRawTransaction` (e.g. from the Swaps API).
|
|
4144
|
+
* @returns The transaction hash.
|
|
4145
|
+
* @throws {StellarWalletError} with code `SIGN_TX_ERROR` if signing fails, or `SEND_TX_ERROR` if broadcasting fails.
|
|
4146
|
+
*/
|
|
4147
|
+
async signAndSendTransaction(params) {
|
|
4148
|
+
const signedXdr = await this.signTransaction(params.data);
|
|
4149
|
+
return this.sendTransaction(signedXdr);
|
|
4150
|
+
}
|
|
3669
4151
|
/**
|
|
3670
4152
|
* Polls the Horizon server until the transaction is confirmed or the timeout is reached.
|
|
3671
4153
|
* @throws {StellarWalletError} with code `TX_RECEIPT_TIMEOUT` if the transaction is not found within `pollTimeout` ms.
|
|
@@ -3734,6 +4216,26 @@ var StacksWalletProvider = class extends BaseWalletProvider {
|
|
|
3734
4216
|
}
|
|
3735
4217
|
return this.sendTransactionWithAdapter(finalParams, this.wallet);
|
|
3736
4218
|
}
|
|
4219
|
+
/**
|
|
4220
|
+
* Signs and broadcasts an unsigned `StacksRawTransaction` (e.g. from the Swaps API). The raw tx's
|
|
4221
|
+
* `payload` is the hex-serialized contract-call payload; this deserializes it back into the
|
|
4222
|
+
* contract-call params and routes through `sendTransaction` (which signs + broadcasts in both
|
|
4223
|
+
* private-key and browser-extension modes). Returns the transaction id.
|
|
4224
|
+
*/
|
|
4225
|
+
async signAndSendTransaction(params) {
|
|
4226
|
+
const payload = deserializePayload(params.payload);
|
|
4227
|
+
if (payload.payloadType !== PayloadType.ContractCall) {
|
|
4228
|
+
throw new Error("signAndSendTransaction: expected a contract-call payload.");
|
|
4229
|
+
}
|
|
4230
|
+
return this.sendTransaction({
|
|
4231
|
+
contractAddress: addressToString(payload.contractAddress),
|
|
4232
|
+
contractName: payload.contractName.content,
|
|
4233
|
+
functionName: payload.functionName.content,
|
|
4234
|
+
functionArgs: payload.functionArgs,
|
|
4235
|
+
postConditionMode: PostConditionMode.Allow
|
|
4236
|
+
// matches how the spoke service builds the tx
|
|
4237
|
+
});
|
|
4238
|
+
}
|
|
3737
4239
|
async sendTransactionWithPrivateKey(txParams, wallet) {
|
|
3738
4240
|
const transaction = await makeContractCall({
|
|
3739
4241
|
contractAddress: txParams.contractAddress,
|
|
@@ -11606,5 +12108,3 @@ var BitcoinWalletProvider = class extends BaseWalletProvider {
|
|
|
11606
12108
|
*/
|
|
11607
12109
|
|
|
11608
12110
|
export { BaseWalletProvider, BigNumberToBigInt, BitcoinWalletError, BitcoinWalletProvider, EvmWalletProvider, IconWalletProvider, InjectiveWalletProvider, NearWalletProvider, SolanaWalletProvider, StacksWalletProvider, StellarWalletError, StellarWalletProvider, SuiWalletProvider, getEvmViemChain, hyper, isBrowserExtensionEvmWalletConfig, isBrowserExtensionIconWalletConfig, isBrowserExtensionInjectiveWalletConfig, isBrowserExtensionNearWalletConfig, isBrowserExtensionStacksWalletConfig, isBrowserExtensionStellarWalletConfig, isBrowserExtensionSuiWallet, isIconAddress, isIconBrowserExtensionWallet, isIconEoaAddress, isIconPkWallet, isJsonRpcPayloadResponse, isPkSuiWallet, isPrivateKeyEvmWalletConfig, isPrivateKeyIconWalletConfig, isPrivateKeyNearWalletConfig, isPrivateKeyStacksWalletConfig, isPrivateKeyStellarWalletConfig, isResponseAddressType, isResponseSigningType, isSecretInjectiveWalletConfig, isStellarBrowserExtensionWallet, isStellarPkWallet, isValidStellarNetwork, isValidStellarPrivateKey, requestAddress, requestJsonRpc, requestSigning };
|
|
11609
|
-
//# sourceMappingURL=index.mjs.map
|
|
11610
|
-
//# sourceMappingURL=index.mjs.map
|