@sodax/sdk 0.0.1-rc.32 → 0.0.1-rc.34
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/index.cjs +364 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +302 -1
- package/dist/index.d.ts +302 -1
- package/dist/index.mjs +361 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -6141,6 +6141,12 @@ var FEE_PERCENTAGE_SCALE = 10000n;
|
|
|
6141
6141
|
var STELLAR_PRIORITY_FEE = "10000";
|
|
6142
6142
|
var STELLAR_DEFAULT_TX_TIMEOUT_SECONDS = 100;
|
|
6143
6143
|
var DEFAULT_DEADLINE_OFFSET = 300n;
|
|
6144
|
+
var DEFAULT_BACKEND_API_ENDPOINT = "https://apiv1.coolify.iconblockchain.xyz";
|
|
6145
|
+
var DEFAULT_BACKEND_API_TIMEOUT = 3e4;
|
|
6146
|
+
var DEFAULT_BACKEND_API_HEADERS = {
|
|
6147
|
+
"Content-Type": "application/json",
|
|
6148
|
+
Accept: "application/json"
|
|
6149
|
+
};
|
|
6144
6150
|
var VAULT_TOKEN_DECIMALS = 18;
|
|
6145
6151
|
var INTENT_RELAY_CHAIN_IDS = {
|
|
6146
6152
|
AVAX: 6n,
|
|
@@ -6378,6 +6384,7 @@ var hubChainConfig = {
|
|
|
6378
6384
|
icxMigration: "0x8294DE9fc60F5ABCc19245E5857071d7C42B9875",
|
|
6379
6385
|
balnSwap: "0x610a90B61b89a98b954d5750E94834Aa45d08d10",
|
|
6380
6386
|
sodaToken: "0x7c7d53eecda37a87ce0d5bf8e0b24512a48dc963"
|
|
6387
|
+
// SODA token on Sonic
|
|
6381
6388
|
},
|
|
6382
6389
|
nativeToken: "0x0000000000000000000000000000000000000000",
|
|
6383
6390
|
wrappedNativeToken: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38",
|
|
@@ -6476,6 +6483,13 @@ var spokeChainConfig = {
|
|
|
6476
6483
|
decimals: 6,
|
|
6477
6484
|
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
6478
6485
|
xChainId: types.SOLANA_MAINNET_CHAIN_ID
|
|
6486
|
+
},
|
|
6487
|
+
SODA: {
|
|
6488
|
+
symbol: "SODA",
|
|
6489
|
+
name: "SODAX",
|
|
6490
|
+
decimals: 9,
|
|
6491
|
+
address: "8Bj8gSbga8My8qRkT1RrvgxFBExiGFgdRNHFaR9o2T3Q",
|
|
6492
|
+
xChainId: types.SOLANA_MAINNET_CHAIN_ID
|
|
6479
6493
|
}
|
|
6480
6494
|
},
|
|
6481
6495
|
gasPrice: "500000",
|
|
@@ -6522,6 +6536,13 @@ var spokeChainConfig = {
|
|
|
6522
6536
|
decimals: 6,
|
|
6523
6537
|
address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
|
|
6524
6538
|
xChainId: types.AVALANCHE_MAINNET_CHAIN_ID
|
|
6539
|
+
},
|
|
6540
|
+
SODA: {
|
|
6541
|
+
symbol: "SODA",
|
|
6542
|
+
name: "SODAX",
|
|
6543
|
+
decimals: 18,
|
|
6544
|
+
address: "0x390ceed555905ec225Da330A188EA04e85570f00",
|
|
6545
|
+
xChainId: types.AVALANCHE_MAINNET_CHAIN_ID
|
|
6525
6546
|
}
|
|
6526
6547
|
}
|
|
6527
6548
|
},
|
|
@@ -6551,6 +6572,13 @@ var spokeChainConfig = {
|
|
|
6551
6572
|
decimals: 18,
|
|
6552
6573
|
address: "0x043fb7e23350Dd5b77dE5E228B528763DEcb9131",
|
|
6553
6574
|
xChainId: types.NIBIRU_MAINNET_CHAIN_ID
|
|
6575
|
+
},
|
|
6576
|
+
SODA: {
|
|
6577
|
+
symbol: "SODA",
|
|
6578
|
+
name: "SODAX",
|
|
6579
|
+
decimals: 18,
|
|
6580
|
+
address: "0x5bda87f18109CA85fa7ADDf1D48B97734e9dc6F5",
|
|
6581
|
+
xChainId: types.NIBIRU_MAINNET_CHAIN_ID
|
|
6554
6582
|
}
|
|
6555
6583
|
}
|
|
6556
6584
|
},
|
|
@@ -6622,6 +6650,13 @@ var spokeChainConfig = {
|
|
|
6622
6650
|
decimals: 6,
|
|
6623
6651
|
address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
|
|
6624
6652
|
xChainId: types.ARBITRUM_MAINNET_CHAIN_ID
|
|
6653
|
+
},
|
|
6654
|
+
SODA: {
|
|
6655
|
+
symbol: "SODA",
|
|
6656
|
+
name: "SODAX",
|
|
6657
|
+
decimals: 18,
|
|
6658
|
+
address: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F",
|
|
6659
|
+
xChainId: types.ARBITRUM_MAINNET_CHAIN_ID
|
|
6625
6660
|
}
|
|
6626
6661
|
}
|
|
6627
6662
|
},
|
|
@@ -6679,6 +6714,13 @@ var spokeChainConfig = {
|
|
|
6679
6714
|
decimals: 8,
|
|
6680
6715
|
address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
6681
6716
|
xChainId: types.BASE_MAINNET_CHAIN_ID
|
|
6717
|
+
},
|
|
6718
|
+
SODA: {
|
|
6719
|
+
symbol: "SODA",
|
|
6720
|
+
name: "SODAX",
|
|
6721
|
+
decimals: 18,
|
|
6722
|
+
address: "0xdc5B4b00F98347E95b9F94911213DAB4C687e1e3",
|
|
6723
|
+
xChainId: types.BASE_MAINNET_CHAIN_ID
|
|
6682
6724
|
}
|
|
6683
6725
|
}
|
|
6684
6726
|
},
|
|
@@ -6736,6 +6778,13 @@ var spokeChainConfig = {
|
|
|
6736
6778
|
decimals: 6,
|
|
6737
6779
|
address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
|
|
6738
6780
|
xChainId: types.OPTIMISM_MAINNET_CHAIN_ID
|
|
6781
|
+
},
|
|
6782
|
+
SODA: {
|
|
6783
|
+
symbol: "SODA",
|
|
6784
|
+
name: "SODAX",
|
|
6785
|
+
decimals: 18,
|
|
6786
|
+
address: "0x1f22279C89B213944b7Ea41daCB0a868DdCDFd13",
|
|
6787
|
+
xChainId: types.OPTIMISM_MAINNET_CHAIN_ID
|
|
6739
6788
|
}
|
|
6740
6789
|
}
|
|
6741
6790
|
},
|
|
@@ -6786,6 +6835,13 @@ var spokeChainConfig = {
|
|
|
6786
6835
|
decimals: 18,
|
|
6787
6836
|
address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
6788
6837
|
xChainId: types.BSC_MAINNET_CHAIN_ID
|
|
6838
|
+
},
|
|
6839
|
+
SODA: {
|
|
6840
|
+
symbol: "SODA",
|
|
6841
|
+
name: "SODAX",
|
|
6842
|
+
decimals: 18,
|
|
6843
|
+
address: "0xdc5B4b00F98347E95b9F94911213DAB4C687e1e3",
|
|
6844
|
+
xChainId: types.BSC_MAINNET_CHAIN_ID
|
|
6789
6845
|
}
|
|
6790
6846
|
}
|
|
6791
6847
|
},
|
|
@@ -6822,6 +6878,13 @@ var spokeChainConfig = {
|
|
|
6822
6878
|
decimals: 6,
|
|
6823
6879
|
address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
|
|
6824
6880
|
xChainId: types.POLYGON_MAINNET_CHAIN_ID
|
|
6881
|
+
},
|
|
6882
|
+
SODA: {
|
|
6883
|
+
symbol: "SODA",
|
|
6884
|
+
name: "SODAX",
|
|
6885
|
+
decimals: 18,
|
|
6886
|
+
address: "0xDDF645F33eDAD18fC23E01416eD0267A1bF59D45",
|
|
6887
|
+
xChainId: types.POLYGON_MAINNET_CHAIN_ID
|
|
6825
6888
|
}
|
|
6826
6889
|
}
|
|
6827
6890
|
},
|
|
@@ -6862,6 +6925,13 @@ var spokeChainConfig = {
|
|
|
6862
6925
|
decimals: 6,
|
|
6863
6926
|
address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E",
|
|
6864
6927
|
xChainId: types.INJECTIVE_MAINNET_CHAIN_ID
|
|
6928
|
+
},
|
|
6929
|
+
SODA: {
|
|
6930
|
+
symbol: "SODA",
|
|
6931
|
+
name: "SODAX",
|
|
6932
|
+
decimals: 18,
|
|
6933
|
+
address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/soda",
|
|
6934
|
+
xChainId: types.INJECTIVE_MAINNET_CHAIN_ID
|
|
6865
6935
|
}
|
|
6866
6936
|
},
|
|
6867
6937
|
gasPrice: "500000000inj",
|
|
@@ -6907,6 +6977,13 @@ var spokeChainConfig = {
|
|
|
6907
6977
|
decimals: 18,
|
|
6908
6978
|
address: "CCT4ZYIYZ3TUO2AWQFEOFGBZ6HQP3GW5TA37CK7CRZVFRDXYTHTYX7KP",
|
|
6909
6979
|
xChainId: types.STELLAR_MAINNET_CHAIN_ID
|
|
6980
|
+
},
|
|
6981
|
+
SODA: {
|
|
6982
|
+
symbol: "SODA",
|
|
6983
|
+
name: "SODAX",
|
|
6984
|
+
decimals: 7,
|
|
6985
|
+
address: "CAH5LKJC2ZB4RVUVEVL2QWJWNJLHQE2UF767ILLQ5EQ4O3OURR2XIUGM",
|
|
6986
|
+
xChainId: types.STELLAR_MAINNET_CHAIN_ID
|
|
6910
6987
|
}
|
|
6911
6988
|
},
|
|
6912
6989
|
nativeToken: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA",
|
|
@@ -6998,6 +7075,13 @@ var spokeChainConfig = {
|
|
|
6998
7075
|
decimals: 9,
|
|
6999
7076
|
address: "0x502867b177303bf1bf226245fcdd3403c177e78d175a55a56c0602c7ff51c7fa::trevin_sui::TREVIN_SUI",
|
|
7000
7077
|
xChainId: types.SUI_MAINNET_CHAIN_ID
|
|
7078
|
+
},
|
|
7079
|
+
SODA: {
|
|
7080
|
+
symbol: "SODA",
|
|
7081
|
+
name: "SODAX",
|
|
7082
|
+
decimals: 9,
|
|
7083
|
+
address: "0x0a0393721732617a2a771535e83c0a46f04aeef7d03239bbbb1249bc0981b952::soda::SODA",
|
|
7084
|
+
xChainId: types.SUI_MAINNET_CHAIN_ID
|
|
7001
7085
|
}
|
|
7002
7086
|
},
|
|
7003
7087
|
nativeToken: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
|
|
@@ -7391,6 +7475,13 @@ var hubAssets = {
|
|
|
7391
7475
|
symbol: "bnUSD",
|
|
7392
7476
|
name: "bnUSD",
|
|
7393
7477
|
vault: hubVaults.bnUSD.address
|
|
7478
|
+
},
|
|
7479
|
+
[spokeChainConfig[types.AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7480
|
+
asset: "0xf51d7082375cdca8C19C74e1A0c77dA482aFDa4e",
|
|
7481
|
+
decimal: 18,
|
|
7482
|
+
symbol: "SODA",
|
|
7483
|
+
name: "SODAX",
|
|
7484
|
+
vault: hubVaults.sodaSODA.address
|
|
7394
7485
|
}
|
|
7395
7486
|
},
|
|
7396
7487
|
[types.ARBITRUM_MAINNET_CHAIN_ID]: {
|
|
@@ -7451,6 +7542,13 @@ var hubAssets = {
|
|
|
7451
7542
|
symbol: "bnUSD",
|
|
7452
7543
|
name: "bnUSD",
|
|
7453
7544
|
vault: hubVaults.bnUSD.address
|
|
7545
|
+
},
|
|
7546
|
+
[spokeChainConfig[types.ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7547
|
+
asset: "0x93a367E5B37a1B9E8D04ef25a6Af40d181a3DfFF",
|
|
7548
|
+
decimal: 18,
|
|
7549
|
+
symbol: "SODA",
|
|
7550
|
+
name: "SODAX",
|
|
7551
|
+
vault: hubVaults.sodaSODA.address
|
|
7454
7552
|
}
|
|
7455
7553
|
},
|
|
7456
7554
|
[types.BASE_MAINNET_CHAIN_ID]: {
|
|
@@ -7497,6 +7595,13 @@ var hubAssets = {
|
|
|
7497
7595
|
name: "Wrapped Staked Ethereum",
|
|
7498
7596
|
vault: "0x"
|
|
7499
7597
|
// no vault yet
|
|
7598
|
+
},
|
|
7599
|
+
[spokeChainConfig[types.BASE_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7600
|
+
asset: "0x17fF8Ad5EBe6CA8B15751067cD0c89f0E580CD17",
|
|
7601
|
+
decimal: 18,
|
|
7602
|
+
symbol: "SODA",
|
|
7603
|
+
name: "SODAX",
|
|
7604
|
+
vault: hubVaults.sodaSODA.address
|
|
7500
7605
|
}
|
|
7501
7606
|
},
|
|
7502
7607
|
[types.OPTIMISM_MAINNET_CHAIN_ID]: {
|
|
@@ -7543,6 +7648,13 @@ var hubAssets = {
|
|
|
7543
7648
|
symbol: "USDT",
|
|
7544
7649
|
name: "Tether USD",
|
|
7545
7650
|
vault: hubVaults.sodaUSDT.address
|
|
7651
|
+
},
|
|
7652
|
+
[spokeChainConfig[types.OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7653
|
+
asset: "0x0eD0d274dC77ef460DC96b9fBaFF3EDB074e0471",
|
|
7654
|
+
decimal: 18,
|
|
7655
|
+
symbol: "SODA",
|
|
7656
|
+
name: "SODAX",
|
|
7657
|
+
vault: hubVaults.sodaSODA.address
|
|
7546
7658
|
}
|
|
7547
7659
|
},
|
|
7548
7660
|
[types.NIBIRU_MAINNET_CHAIN_ID]: {
|
|
@@ -7559,6 +7671,13 @@ var hubAssets = {
|
|
|
7559
7671
|
symbol: "bnUSD",
|
|
7560
7672
|
name: "bnUSD",
|
|
7561
7673
|
vault: hubVaults.bnUSD.address
|
|
7674
|
+
},
|
|
7675
|
+
[spokeChainConfig[types.NIBIRU_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7676
|
+
asset: "0x26cd76cB5622Dc8638670A16E0Da5a51394A8DB1",
|
|
7677
|
+
decimal: 18,
|
|
7678
|
+
symbol: "SODA",
|
|
7679
|
+
name: "SODAX",
|
|
7680
|
+
vault: hubVaults.sodaSODA.address
|
|
7562
7681
|
}
|
|
7563
7682
|
},
|
|
7564
7683
|
[types.BSC_MAINNET_CHAIN_ID]: {
|
|
@@ -7596,6 +7715,13 @@ var hubAssets = {
|
|
|
7596
7715
|
symbol: "USDC",
|
|
7597
7716
|
name: "USD Coin",
|
|
7598
7717
|
vault: hubVaults.sodaUSDC.address
|
|
7718
|
+
},
|
|
7719
|
+
[spokeChainConfig[types.BSC_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7720
|
+
asset: "0x4d12c72A8633588097D10e57b559ed642588e4C6",
|
|
7721
|
+
decimal: 18,
|
|
7722
|
+
symbol: "SODA",
|
|
7723
|
+
name: "SODAX",
|
|
7724
|
+
vault: hubVaults.sodaSODA.address
|
|
7599
7725
|
}
|
|
7600
7726
|
},
|
|
7601
7727
|
[types.POLYGON_MAINNET_CHAIN_ID]: {
|
|
@@ -7619,6 +7745,13 @@ var hubAssets = {
|
|
|
7619
7745
|
symbol: "USDC",
|
|
7620
7746
|
name: "USD Coin",
|
|
7621
7747
|
vault: hubVaults.sodaUSDC.address
|
|
7748
|
+
},
|
|
7749
|
+
[spokeChainConfig[types.POLYGON_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7750
|
+
asset: "0x8D78A620E009Ba751Eb40d77A5e9Db48A3F2016b",
|
|
7751
|
+
decimal: 18,
|
|
7752
|
+
symbol: "SODA",
|
|
7753
|
+
name: "SODAX",
|
|
7754
|
+
vault: hubVaults.sodaSODA.address
|
|
7622
7755
|
}
|
|
7623
7756
|
},
|
|
7624
7757
|
[types.INJECTIVE_MAINNET_CHAIN_ID]: {
|
|
@@ -7642,6 +7775,13 @@ var hubAssets = {
|
|
|
7642
7775
|
symbol: "USDC",
|
|
7643
7776
|
name: "USD Coin",
|
|
7644
7777
|
vault: hubVaults.sodaUSDC.address
|
|
7778
|
+
},
|
|
7779
|
+
[spokeChainConfig[types.INJECTIVE_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7780
|
+
asset: "0x20Ce75CdcEe44B1308365447b91B9c26e2b71Ffd",
|
|
7781
|
+
decimal: 18,
|
|
7782
|
+
symbol: "SODA",
|
|
7783
|
+
name: "SODAX",
|
|
7784
|
+
vault: hubVaults.sodaSODA.address
|
|
7645
7785
|
}
|
|
7646
7786
|
},
|
|
7647
7787
|
[types.STELLAR_MAINNET_CHAIN_ID]: {
|
|
@@ -7672,6 +7812,13 @@ var hubAssets = {
|
|
|
7672
7812
|
symbol: "legacybnUSD",
|
|
7673
7813
|
name: "legacybnUSD",
|
|
7674
7814
|
vault: hubVaults.IbnUSD.address
|
|
7815
|
+
},
|
|
7816
|
+
[spokeChainConfig[types.STELLAR_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7817
|
+
asset: "0xD749B5FfFED7cEDaa3239abDd16D677179C29AEc",
|
|
7818
|
+
decimal: 7,
|
|
7819
|
+
symbol: "SODA",
|
|
7820
|
+
name: "SODAX",
|
|
7821
|
+
vault: hubVaults.sodaSODA.address
|
|
7675
7822
|
}
|
|
7676
7823
|
},
|
|
7677
7824
|
[types.SUI_MAINNET_CHAIN_ID]: {
|
|
@@ -7750,6 +7897,13 @@ var hubAssets = {
|
|
|
7750
7897
|
symbol: "bnUSD",
|
|
7751
7898
|
name: "legacybnUSD",
|
|
7752
7899
|
vault: hubVaults.IbnUSD.address
|
|
7900
|
+
},
|
|
7901
|
+
[spokeChainConfig[types.SUI_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7902
|
+
asset: "0x5Db9CEc919f40C50809D9490DC3BbA4F05b0a1D7",
|
|
7903
|
+
decimal: 9,
|
|
7904
|
+
symbol: "SODA",
|
|
7905
|
+
name: "SODAX",
|
|
7906
|
+
vault: hubVaults.sodaSODA.address
|
|
7753
7907
|
}
|
|
7754
7908
|
},
|
|
7755
7909
|
[types.SOLANA_MAINNET_CHAIN_ID]: {
|
|
@@ -7773,6 +7927,13 @@ var hubAssets = {
|
|
|
7773
7927
|
symbol: "USDC",
|
|
7774
7928
|
name: "USD Coin",
|
|
7775
7929
|
vault: hubVaults.sodaUSDC.address
|
|
7930
|
+
},
|
|
7931
|
+
[spokeChainConfig[types.SOLANA_MAINNET_CHAIN_ID].supportedTokens.SODA.address]: {
|
|
7932
|
+
asset: "0x07Db7b1a96ebE474B20F52fF487cEE415adee79e",
|
|
7933
|
+
decimal: 9,
|
|
7934
|
+
symbol: "SODA",
|
|
7935
|
+
name: "SODAX",
|
|
7936
|
+
vault: hubVaults.sodaSODA.address
|
|
7776
7937
|
}
|
|
7777
7938
|
},
|
|
7778
7939
|
[types.ICON_MAINNET_CHAIN_ID]: {
|
|
@@ -13086,6 +13247,23 @@ var MigrationService = class {
|
|
|
13086
13247
|
invariant12__default.default(params.amount > 0n, "Amount must be greater than 0");
|
|
13087
13248
|
invariant12__default.default(params.to.length > 0, "To address is required");
|
|
13088
13249
|
invariant12__default.default(isIcxCreateRevertMigrationParams(params) || isUnifiedBnUSDMigrateParams(params), "Invalid params");
|
|
13250
|
+
if (isUnifiedBnUSDMigrateParams(params) && spokeProvider.chainConfig.chain.type === "EVM") {
|
|
13251
|
+
const evmSpokeProvider = spokeProvider;
|
|
13252
|
+
let spender;
|
|
13253
|
+
const wallet = await spokeProvider.walletProvider.getWalletAddress();
|
|
13254
|
+
if (spokeProvider instanceof SonicSpokeProvider) {
|
|
13255
|
+
spender = await SonicSpokeService.getUserRouter(wallet, spokeProvider);
|
|
13256
|
+
} else {
|
|
13257
|
+
spender = evmSpokeProvider.chainConfig.addresses.assetManager;
|
|
13258
|
+
}
|
|
13259
|
+
return await Erc20Service.isAllowanceValid(
|
|
13260
|
+
params.srcbnUSD,
|
|
13261
|
+
params.amount,
|
|
13262
|
+
wallet,
|
|
13263
|
+
spender,
|
|
13264
|
+
evmSpokeProvider
|
|
13265
|
+
);
|
|
13266
|
+
}
|
|
13089
13267
|
if (spokeProvider instanceof SonicSpokeProvider && isIcxCreateRevertMigrationParams(params)) {
|
|
13090
13268
|
const wallet = await spokeProvider.walletProvider.getWalletAddress();
|
|
13091
13269
|
const userRouter = await SonicSpokeService.getUserRouter(wallet, spokeProvider);
|
|
@@ -13097,16 +13275,6 @@ var MigrationService = class {
|
|
|
13097
13275
|
spokeProvider
|
|
13098
13276
|
);
|
|
13099
13277
|
}
|
|
13100
|
-
if (isUnifiedBnUSDMigrateParams(params) && spokeProvider.chainConfig.chain.type === "EVM") {
|
|
13101
|
-
const evmSpokeProvider = spokeProvider;
|
|
13102
|
-
return await Erc20Service.isAllowanceValid(
|
|
13103
|
-
params.srcbnUSD,
|
|
13104
|
-
params.amount,
|
|
13105
|
-
await evmSpokeProvider.walletProvider.getWalletAddress(),
|
|
13106
|
-
evmSpokeProvider instanceof EvmSpokeProvider ? evmSpokeProvider.chainConfig.addresses.assetManager : evmSpokeProvider.chainConfig.bnUSD,
|
|
13107
|
-
evmSpokeProvider
|
|
13108
|
-
);
|
|
13109
|
-
}
|
|
13110
13278
|
}
|
|
13111
13279
|
return {
|
|
13112
13280
|
ok: false,
|
|
@@ -13167,14 +13335,20 @@ var MigrationService = class {
|
|
|
13167
13335
|
invariant12__default.default(params.amount > 0n, "Amount must be greater than 0");
|
|
13168
13336
|
invariant12__default.default(params.to.length > 0, "To address is required");
|
|
13169
13337
|
invariant12__default.default(isIcxCreateRevertMigrationParams(params) || isUnifiedBnUSDMigrateParams(params), "Invalid params");
|
|
13170
|
-
if (
|
|
13338
|
+
if (isUnifiedBnUSDMigrateParams(params) && spokeProvider.chainConfig.chain.type === "EVM") {
|
|
13339
|
+
const evmSpokeProvider = spokeProvider;
|
|
13340
|
+
let spender;
|
|
13171
13341
|
const wallet = await spokeProvider.walletProvider.getWalletAddress();
|
|
13172
|
-
|
|
13342
|
+
if (spokeProvider instanceof SonicSpokeProvider) {
|
|
13343
|
+
spender = await SonicSpokeService.getUserRouter(wallet, spokeProvider);
|
|
13344
|
+
} else {
|
|
13345
|
+
spender = evmSpokeProvider.chainConfig.addresses.assetManager;
|
|
13346
|
+
}
|
|
13173
13347
|
const result = await Erc20Service.approve(
|
|
13174
|
-
|
|
13348
|
+
params.srcbnUSD,
|
|
13175
13349
|
params.amount,
|
|
13176
|
-
|
|
13177
|
-
|
|
13350
|
+
spender,
|
|
13351
|
+
evmSpokeProvider,
|
|
13178
13352
|
raw
|
|
13179
13353
|
);
|
|
13180
13354
|
return {
|
|
@@ -13182,13 +13356,14 @@ var MigrationService = class {
|
|
|
13182
13356
|
value: result
|
|
13183
13357
|
};
|
|
13184
13358
|
}
|
|
13185
|
-
if (
|
|
13186
|
-
const
|
|
13359
|
+
if (spokeProvider instanceof SonicSpokeProvider && isIcxCreateRevertMigrationParams(params)) {
|
|
13360
|
+
const wallet = await spokeProvider.walletProvider.getWalletAddress();
|
|
13361
|
+
const userRouter = await SonicSpokeService.getUserRouter(wallet, spokeProvider);
|
|
13187
13362
|
const result = await Erc20Service.approve(
|
|
13188
|
-
|
|
13363
|
+
this.hubProvider.chainConfig.addresses.sodaToken,
|
|
13189
13364
|
params.amount,
|
|
13190
|
-
|
|
13191
|
-
|
|
13365
|
+
userRouter,
|
|
13366
|
+
spokeProvider,
|
|
13192
13367
|
raw
|
|
13193
13368
|
);
|
|
13194
13369
|
return {
|
|
@@ -14123,6 +14298,168 @@ var BalnSwapService = class {
|
|
|
14123
14298
|
return spokeProvider.walletProvider.sendTransaction(tx);
|
|
14124
14299
|
}
|
|
14125
14300
|
};
|
|
14301
|
+
|
|
14302
|
+
// src/services/backend/BackendApiService.ts
|
|
14303
|
+
var BackendApiService = class {
|
|
14304
|
+
baseURL;
|
|
14305
|
+
defaultHeaders;
|
|
14306
|
+
timeout;
|
|
14307
|
+
constructor(config) {
|
|
14308
|
+
this.baseURL = config?.baseURL ?? DEFAULT_BACKEND_API_ENDPOINT;
|
|
14309
|
+
this.timeout = config?.timeout ?? DEFAULT_BACKEND_API_TIMEOUT;
|
|
14310
|
+
this.defaultHeaders = config?.headers ?? DEFAULT_BACKEND_API_HEADERS;
|
|
14311
|
+
}
|
|
14312
|
+
/**
|
|
14313
|
+
* Make HTTP request using fetch API
|
|
14314
|
+
* @param endpoint - API endpoint path
|
|
14315
|
+
* @param config - Request configuration
|
|
14316
|
+
* @returns Promise<T>
|
|
14317
|
+
*/
|
|
14318
|
+
async makeRequest(endpoint, config) {
|
|
14319
|
+
const url = `${this.baseURL}${endpoint}`;
|
|
14320
|
+
const headers = { ...this.defaultHeaders, ...config.headers };
|
|
14321
|
+
const controller = new AbortController();
|
|
14322
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
14323
|
+
try {
|
|
14324
|
+
const response = await fetch(url, {
|
|
14325
|
+
method: config.method,
|
|
14326
|
+
headers,
|
|
14327
|
+
body: config.body,
|
|
14328
|
+
signal: controller.signal
|
|
14329
|
+
});
|
|
14330
|
+
clearTimeout(timeoutId);
|
|
14331
|
+
if (!response.ok) {
|
|
14332
|
+
const errorText = await response.text();
|
|
14333
|
+
throw new Error(`HTTP ${response.status}: ${errorText}`);
|
|
14334
|
+
}
|
|
14335
|
+
const data = await response.json();
|
|
14336
|
+
return data;
|
|
14337
|
+
} catch (error) {
|
|
14338
|
+
clearTimeout(timeoutId);
|
|
14339
|
+
if (error instanceof Error) {
|
|
14340
|
+
if (error.name === "AbortError") {
|
|
14341
|
+
throw new Error(`Request timeout after ${this.timeout}ms`);
|
|
14342
|
+
}
|
|
14343
|
+
console.error("[BackendApiService] Request error:", error.message);
|
|
14344
|
+
throw error;
|
|
14345
|
+
}
|
|
14346
|
+
console.error("[BackendApiService] Unknown error:", error);
|
|
14347
|
+
throw new Error("Unknown error occurred");
|
|
14348
|
+
}
|
|
14349
|
+
}
|
|
14350
|
+
// Intent endpoints
|
|
14351
|
+
/**
|
|
14352
|
+
* Get intent details by transaction hash
|
|
14353
|
+
* @param txHash - Transaction hash
|
|
14354
|
+
* @returns Promise<IntentResponse>
|
|
14355
|
+
*/
|
|
14356
|
+
async getIntentByTxHash(txHash) {
|
|
14357
|
+
return this.makeRequest(`/intent/tx/${txHash}`, { method: "GET" });
|
|
14358
|
+
}
|
|
14359
|
+
/**
|
|
14360
|
+
* Get intent details by intent hash
|
|
14361
|
+
* @param intentHash - Intent hash
|
|
14362
|
+
* @returns Promise<IntentResponse>
|
|
14363
|
+
*/
|
|
14364
|
+
async getIntentByHash(intentHash) {
|
|
14365
|
+
return this.makeRequest(`/intent/${intentHash}`, { method: "GET" });
|
|
14366
|
+
}
|
|
14367
|
+
// Solver endpoints
|
|
14368
|
+
/**
|
|
14369
|
+
* Get the solver orderbook
|
|
14370
|
+
* @param params - Object containing offset and limit parameters for pagination
|
|
14371
|
+
* @returns Promise<OrderbookResponse>
|
|
14372
|
+
*/
|
|
14373
|
+
async getOrderbook(params) {
|
|
14374
|
+
const queryParams = new URLSearchParams();
|
|
14375
|
+
queryParams.append("offset", params.offset);
|
|
14376
|
+
queryParams.append("limit", params.limit);
|
|
14377
|
+
const queryString = queryParams.toString();
|
|
14378
|
+
const endpoint = `/solver/orderbook?${queryString}`;
|
|
14379
|
+
return this.makeRequest(endpoint, { method: "GET" });
|
|
14380
|
+
}
|
|
14381
|
+
// Money Market endpoints
|
|
14382
|
+
/**
|
|
14383
|
+
* Get money market position for a specific user
|
|
14384
|
+
* @param userAddress - User's wallet address
|
|
14385
|
+
* @returns Promise<MoneyMarketPosition>
|
|
14386
|
+
*/
|
|
14387
|
+
async getMoneyMarketPosition(userAddress) {
|
|
14388
|
+
return this.makeRequest(`/moneymarket/position/${userAddress}`, { method: "GET" });
|
|
14389
|
+
}
|
|
14390
|
+
/**
|
|
14391
|
+
* Get all money market assets
|
|
14392
|
+
* @returns Promise<MoneyMarketAsset[]>
|
|
14393
|
+
*/
|
|
14394
|
+
async getAllMoneyMarketAssets() {
|
|
14395
|
+
return this.makeRequest("/moneymarket/asset/all", { method: "GET" });
|
|
14396
|
+
}
|
|
14397
|
+
/**
|
|
14398
|
+
* Get specific money market asset details
|
|
14399
|
+
* @param reserveAddress - Reserve contract address
|
|
14400
|
+
* @returns Promise<MoneyMarketAsset>
|
|
14401
|
+
*/
|
|
14402
|
+
async getMoneyMarketAsset(reserveAddress) {
|
|
14403
|
+
return this.makeRequest(`/moneymarket/asset/${reserveAddress}`, { method: "GET" });
|
|
14404
|
+
}
|
|
14405
|
+
/**
|
|
14406
|
+
* Get borrowers for a specific money market asset
|
|
14407
|
+
* @param reserveAddress - Reserve contract address
|
|
14408
|
+
* @param params - Object containing offset and limit parameters for pagination
|
|
14409
|
+
* @returns Promise<MoneyMarketAssetBorrowers>
|
|
14410
|
+
*/
|
|
14411
|
+
async getMoneyMarketAssetBorrowers(reserveAddress, params) {
|
|
14412
|
+
const queryParams = new URLSearchParams();
|
|
14413
|
+
queryParams.append("offset", params.offset);
|
|
14414
|
+
queryParams.append("limit", params.limit);
|
|
14415
|
+
const queryString = queryParams.toString();
|
|
14416
|
+
const endpoint = `/moneymarket/asset/${reserveAddress}/borrowers?${queryString}`;
|
|
14417
|
+
return this.makeRequest(endpoint, { method: "GET" });
|
|
14418
|
+
}
|
|
14419
|
+
/**
|
|
14420
|
+
* Get suppliers for a specific money market asset
|
|
14421
|
+
* @param reserveAddress - Reserve contract address
|
|
14422
|
+
* @param params - Object containing offset and limit parameters for pagination
|
|
14423
|
+
* @returns Promise<MoneyMarketAssetSuppliers>
|
|
14424
|
+
*/
|
|
14425
|
+
async getMoneyMarketAssetSuppliers(reserveAddress, params) {
|
|
14426
|
+
const queryParams = new URLSearchParams();
|
|
14427
|
+
queryParams.append("offset", params.offset);
|
|
14428
|
+
queryParams.append("limit", params.limit);
|
|
14429
|
+
const queryString = queryParams.toString();
|
|
14430
|
+
const endpoint = `/moneymarket/asset/${reserveAddress}/suppliers?${queryString}`;
|
|
14431
|
+
return this.makeRequest(endpoint, { method: "GET" });
|
|
14432
|
+
}
|
|
14433
|
+
/**
|
|
14434
|
+
* Get all money market borrowers
|
|
14435
|
+
* @param params - Object containing offset and limit parameters for pagination
|
|
14436
|
+
* @returns Promise<MoneyMarketBorrowers>
|
|
14437
|
+
*/
|
|
14438
|
+
async getAllMoneyMarketBorrowers(params) {
|
|
14439
|
+
const queryParams = new URLSearchParams();
|
|
14440
|
+
queryParams.append("offset", params.offset);
|
|
14441
|
+
queryParams.append("limit", params.limit);
|
|
14442
|
+
const queryString = queryParams.toString();
|
|
14443
|
+
const endpoint = `/moneymarket/borrowers?${queryString}`;
|
|
14444
|
+
return this.makeRequest(endpoint, { method: "GET" });
|
|
14445
|
+
}
|
|
14446
|
+
/**
|
|
14447
|
+
* Set custom headers for API requests
|
|
14448
|
+
* @param headers - Object containing header key-value pairs
|
|
14449
|
+
*/
|
|
14450
|
+
setHeaders(headers) {
|
|
14451
|
+
Object.entries(headers).forEach(([key, value]) => {
|
|
14452
|
+
this.defaultHeaders[key] = value;
|
|
14453
|
+
});
|
|
14454
|
+
}
|
|
14455
|
+
/**
|
|
14456
|
+
* Get the current base URL
|
|
14457
|
+
* @returns string
|
|
14458
|
+
*/
|
|
14459
|
+
getBaseURL() {
|
|
14460
|
+
return this.baseURL;
|
|
14461
|
+
}
|
|
14462
|
+
};
|
|
14126
14463
|
var BridgeService = class {
|
|
14127
14464
|
hubProvider;
|
|
14128
14465
|
relayerApiEndpoint;
|
|
@@ -14624,6 +14961,8 @@ var Sodax = class {
|
|
|
14624
14961
|
// Money Market service enabling cross-chain lending and borrowing
|
|
14625
14962
|
migration;
|
|
14626
14963
|
// ICX migration service enabling ICX migration to SODA
|
|
14964
|
+
backendApiService;
|
|
14965
|
+
// backend API service enabling backend API endpoints
|
|
14627
14966
|
bridge;
|
|
14628
14967
|
// Bridge service enabling cross-chain transfers
|
|
14629
14968
|
hubProvider;
|
|
@@ -14638,6 +14977,7 @@ var Sodax = class {
|
|
|
14638
14977
|
this.moneyMarket = config && config.moneyMarket ? new MoneyMarketService(config.moneyMarket, this.hubProvider, this.relayerApiEndpoint) : new MoneyMarketService(void 0, this.hubProvider, this.relayerApiEndpoint);
|
|
14639
14978
|
this.migration = config && config.migration ? new MigrationService(this.hubProvider, config.migration) : new MigrationService(this.hubProvider);
|
|
14640
14979
|
this.bridge = config && config.bridge ? new BridgeService(this.hubProvider, this.relayerApiEndpoint, config.bridge) : new BridgeService(this.hubProvider, this.relayerApiEndpoint);
|
|
14980
|
+
this.backendApiService = new BackendApiService(config?.backendApiConfig);
|
|
14641
14981
|
}
|
|
14642
14982
|
};
|
|
14643
14983
|
|
|
@@ -17466,12 +17806,16 @@ var SolverIntentErrorCode = /* @__PURE__ */ ((SolverIntentErrorCode2) => {
|
|
|
17466
17806
|
return SolverIntentErrorCode2;
|
|
17467
17807
|
})(SolverIntentErrorCode || {});
|
|
17468
17808
|
|
|
17809
|
+
exports.BackendApiService = BackendApiService;
|
|
17469
17810
|
exports.BalnSwapService = BalnSwapService;
|
|
17470
17811
|
exports.BigIntToHex = BigIntToHex;
|
|
17471
17812
|
exports.BigNumberZeroDecimal = BigNumberZeroDecimal;
|
|
17472
17813
|
exports.BnUSDMigrationService = BnUSDMigrationService;
|
|
17473
17814
|
exports.BridgeService = BridgeService;
|
|
17474
17815
|
exports.ChainIdToIntentRelayChainId = ChainIdToIntentRelayChainId;
|
|
17816
|
+
exports.DEFAULT_BACKEND_API_ENDPOINT = DEFAULT_BACKEND_API_ENDPOINT;
|
|
17817
|
+
exports.DEFAULT_BACKEND_API_HEADERS = DEFAULT_BACKEND_API_HEADERS;
|
|
17818
|
+
exports.DEFAULT_BACKEND_API_TIMEOUT = DEFAULT_BACKEND_API_TIMEOUT;
|
|
17475
17819
|
exports.DEFAULT_DEADLINE_OFFSET = DEFAULT_DEADLINE_OFFSET;
|
|
17476
17820
|
exports.DEFAULT_MAX_RETRY = DEFAULT_MAX_RETRY;
|
|
17477
17821
|
exports.DEFAULT_RELAYER_API_ENDPOINT = DEFAULT_RELAYER_API_ENDPOINT;
|