@0xsquid/react-hooks 8.11.0 → 8.11.1-beta-danal.0
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/core/client/index.d.ts +1 -0
- package/dist/core/constants.d.ts +2 -0
- package/dist/core/types/danal.d.ts +1 -0
- package/dist/core/types/wallet.d.ts +7 -0
- package/dist/hooks/chains/useSquidChains.d.ts +1 -0
- package/dist/hooks/tokens/useSquidTokens.d.ts +1 -0
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +38 -0
- package/dist/hooks/wallet/useWallet.d.ts +42 -0
- package/dist/{index-D5bkikGx.js → index-Bz_l0J0g.js} +125 -17
- package/dist/index-Bz_l0J0g.js.map +1 -0
- package/dist/{index-BzTFES6t.js → index-COYrDBlh.js} +125 -16
- package/dist/index-COYrDBlh.js.map +1 -0
- package/dist/{index.es-DaKI7v5_.js → index.es-Bh80Pkl-.js} +2 -2
- package/dist/{index.es-DaKI7v5_.js.map → index.es-Bh80Pkl-.js.map} +1 -1
- package/dist/{index.es-wL3I3c3h.js → index.es-Cqc-vgYs.js} +2 -2
- package/dist/{index.es-wL3I3c3h.js.map → index.es-Cqc-vgYs.js.map} +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/{secretService-D70MRo5w.js → secretService-SFoJwk5s.js} +2 -2
- package/dist/{secretService-D70MRo5w.js.map → secretService-SFoJwk5s.js.map} +1 -1
- package/dist/{secretService-BMH_eXJd.js → secretService-uItv_3Jq.js} +2 -2
- package/dist/{secretService-BMH_eXJd.js.map → secretService-uItv_3Jq.js.map} +1 -1
- package/dist/server.esm.js +6 -0
- package/dist/server.esm.js.map +1 -1
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -1
- package/dist/services/internal/danalService.d.ts +7 -0
- package/dist/services/internal/transactionService.d.ts +8 -0
- package/dist/{stellarService.client-DhwF4F1c.js → stellarService.client-C-DwcHfr.js} +2 -2
- package/dist/{stellarService.client-DhwF4F1c.js.map → stellarService.client-C-DwcHfr.js.map} +1 -1
- package/dist/{stellarService.client-BpCW1qZY.js → stellarService.client-rTXJcduV.js} +2 -2
- package/dist/{stellarService.client-BpCW1qZY.js.map → stellarService.client-rTXJcduV.js.map} +1 -1
- package/dist/tests/danalService.test.d.ts +1 -0
- package/package.json +2 -2
- package/dist/index-BzTFES6t.js.map +0 -1
- package/dist/index-D5bkikGx.js.map +0 -1
|
@@ -80,6 +80,7 @@ const suiZeroAddress = "0x0000000000000000000000000000000000000000";
|
|
|
80
80
|
const xrplZeroAddress = "rrrrrrrrrrrrrrrrrrrrrhoLvTp";
|
|
81
81
|
const stellarZeroAddress = "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF";
|
|
82
82
|
const cantonZeroAddress = "none::12200000000000000000000000000000000000000000000000000000000000000000";
|
|
83
|
+
const danalZeroAddress = "PCI00000000000000000000000000000000000000000000000000";
|
|
83
84
|
const chainTypeToZeroAddressMap = {
|
|
84
85
|
[squidTypes.ChainType.EVM]: viem.zeroAddress,
|
|
85
86
|
[squidTypes.ChainType.COSMOS]: cosmosZeroAddress,
|
|
@@ -89,6 +90,7 @@ const chainTypeToZeroAddressMap = {
|
|
|
89
90
|
[squidTypes.ChainType.XRPL]: xrplZeroAddress,
|
|
90
91
|
[squidTypes.ChainType.STELLAR]: stellarZeroAddress,
|
|
91
92
|
[squidTypes.ChainType.CANTON]: cantonZeroAddress,
|
|
93
|
+
[squidTypes.ChainType.DANAL]: danalZeroAddress,
|
|
92
94
|
};
|
|
93
95
|
const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
94
96
|
const nativeCosmosTokenAddress = "uosmo";
|
|
@@ -98,6 +100,7 @@ const nativeSuiTokenAddress = "0x00000000000000000000000000000000000000000000000
|
|
|
98
100
|
const nativeXrplTokenAddress = "xrp";
|
|
99
101
|
const nativeStellarTokenAddress = "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
|
|
100
102
|
const nativeCantonTokenAddress = "DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc";
|
|
103
|
+
const nativeDanalTokenAddress = "pci";
|
|
101
104
|
// by setting slippage to undefined, it's set to "auto"
|
|
102
105
|
const defaultSlippage = undefined;
|
|
103
106
|
const destinationAddressResetValue = "null";
|
|
@@ -163,6 +166,7 @@ const CHAIN_IDS = {
|
|
|
163
166
|
STELLAR: "stellar-mainnet",
|
|
164
167
|
STELLAR_TESTNET: "stellar-testnet",
|
|
165
168
|
CANTON: "canton",
|
|
169
|
+
DANAL_TESTNET: "danal-testnet",
|
|
166
170
|
};
|
|
167
171
|
const chainTypeToDefaultChainIdMap = {
|
|
168
172
|
[squidTypes.ChainType.EVM]: CHAIN_IDS.ETHEREUM,
|
|
@@ -173,6 +177,7 @@ const chainTypeToDefaultChainIdMap = {
|
|
|
173
177
|
[squidTypes.ChainType.XRPL]: CHAIN_IDS.XRPL,
|
|
174
178
|
[squidTypes.ChainType.STELLAR]: CHAIN_IDS.STELLAR,
|
|
175
179
|
[squidTypes.ChainType.CANTON]: CHAIN_IDS.CANTON,
|
|
180
|
+
[squidTypes.ChainType.DANAL]: CHAIN_IDS.DANAL_TESTNET,
|
|
176
181
|
};
|
|
177
182
|
const chainTypeToNativeTokenAddressMap = {
|
|
178
183
|
[squidTypes.ChainType.EVM]: nativeEvmTokenAddress,
|
|
@@ -183,6 +188,7 @@ const chainTypeToNativeTokenAddressMap = {
|
|
|
183
188
|
[squidTypes.ChainType.XRPL]: nativeXrplTokenAddress,
|
|
184
189
|
[squidTypes.ChainType.STELLAR]: nativeStellarTokenAddress,
|
|
185
190
|
[squidTypes.ChainType.CANTON]: nativeCantonTokenAddress,
|
|
191
|
+
[squidTypes.ChainType.DANAL]: nativeDanalTokenAddress,
|
|
186
192
|
};
|
|
187
193
|
const defaultConfigValues = {
|
|
188
194
|
integratorId: INTEGRATOR_ID,
|
|
@@ -21126,6 +21132,34 @@ function groupCantonHoldingBalances(acsResponse) {
|
|
|
21126
21132
|
return Object.fromEntries(Object.entries(totals).map(([key, total]) => [key, total.toString(10)]));
|
|
21127
21133
|
}
|
|
21128
21134
|
|
|
21135
|
+
// Matches the backend validation: "PCI" + 50 uppercase-hex chars, case-sensitive.
|
|
21136
|
+
const DANAL_ADDRESS_REGEX = /^PCI[0-9A-F]{50}$/;
|
|
21137
|
+
function isDanalAddressValid(address) {
|
|
21138
|
+
if (!address)
|
|
21139
|
+
return false;
|
|
21140
|
+
return DANAL_ADDRESS_REGEX.test(address);
|
|
21141
|
+
}
|
|
21142
|
+
function isDanalTransferRequestBody(value) {
|
|
21143
|
+
if (typeof value !== "object" || value === null)
|
|
21144
|
+
return false;
|
|
21145
|
+
const { receiver, amount, memo } = value;
|
|
21146
|
+
return (typeof receiver === "string" &&
|
|
21147
|
+
receiver.length > 0 &&
|
|
21148
|
+
typeof amount === "string" &&
|
|
21149
|
+
amount.length > 0 &&
|
|
21150
|
+
typeof memo === "string" &&
|
|
21151
|
+
memo.length > 0);
|
|
21152
|
+
}
|
|
21153
|
+
function parseDanalTransferBody(data) {
|
|
21154
|
+
try {
|
|
21155
|
+
const parsed = JSON.parse(data);
|
|
21156
|
+
return isDanalTransferRequestBody(parsed) ? parsed : null;
|
|
21157
|
+
}
|
|
21158
|
+
catch {
|
|
21159
|
+
return null;
|
|
21160
|
+
}
|
|
21161
|
+
}
|
|
21162
|
+
|
|
21129
21163
|
const solanaTokenProgramIdByAddress = {
|
|
21130
21164
|
[splToken.TOKEN_PROGRAM_ID.toBase58()]: splToken.TOKEN_PROGRAM_ID,
|
|
21131
21165
|
[splToken.TOKEN_2022_PROGRAM_ID.toBase58()]: splToken.TOKEN_2022_PROGRAM_ID,
|
|
@@ -21462,6 +21496,15 @@ function isOnChainTxData(squidData) {
|
|
|
21462
21496
|
function isDepositAddressDirectTransferRoute(squidData) {
|
|
21463
21497
|
return squidData.type === squidTypes.SquidDataType.DepositAddressDirectTransfer;
|
|
21464
21498
|
}
|
|
21499
|
+
/**
|
|
21500
|
+
* Danal keeps SquidDataType.DepositAddressWithMemo, which XRPL/Stellar use for
|
|
21501
|
+
* wallet-signed transactions — so the deposit treatment is gated on the chain,
|
|
21502
|
+
* not just the type
|
|
21503
|
+
*/
|
|
21504
|
+
function isDanalDepositRoute(route) {
|
|
21505
|
+
return (route.params.fromChain === CHAIN_IDS.DANAL_TESTNET &&
|
|
21506
|
+
route.transactionRequest?.type === squidTypes.SquidDataType.DepositAddressWithMemo);
|
|
21507
|
+
}
|
|
21465
21508
|
function getHistoryTransactionId(tx) {
|
|
21466
21509
|
switch (tx.txType) {
|
|
21467
21510
|
case exports.HistoryTxType.SWAP:
|
|
@@ -21986,6 +22029,11 @@ const chainTypeToTrimLength = {
|
|
|
21986
22029
|
start: 3,
|
|
21987
22030
|
end: 3,
|
|
21988
22031
|
},
|
|
22032
|
+
// PCI0180...E77E
|
|
22033
|
+
[squidTypes.ChainType.DANAL]: {
|
|
22034
|
+
start: 7,
|
|
22035
|
+
end: 4,
|
|
22036
|
+
},
|
|
21989
22037
|
};
|
|
21990
22038
|
const truncateWithEllipsis = (value, startLength, endLength) => value.length <= startLength + endLength
|
|
21991
22039
|
? value
|
|
@@ -22034,6 +22082,8 @@ const isWalletAddressValid = (chainData, address) => {
|
|
|
22034
22082
|
return isStellarAddressValid(address);
|
|
22035
22083
|
case squidTypes.ChainType.CANTON:
|
|
22036
22084
|
return isCantonAddressValid(address);
|
|
22085
|
+
case squidTypes.ChainType.DANAL:
|
|
22086
|
+
return isDanalAddressValid(address);
|
|
22037
22087
|
}
|
|
22038
22088
|
};
|
|
22039
22089
|
const redirectToExtensionsStore = (wallet) => {
|
|
@@ -22318,6 +22368,8 @@ const connectByChainType = async (chainType, wallet, defaultChain, params) => {
|
|
|
22318
22368
|
connector,
|
|
22319
22369
|
},
|
|
22320
22370
|
});
|
|
22371
|
+
case squidTypes.ChainType.DANAL:
|
|
22372
|
+
return null;
|
|
22321
22373
|
}
|
|
22322
22374
|
};
|
|
22323
22375
|
const getChainTypesToConnect = (selectedChainTypes, defaultChain, supportedChains) => {
|
|
@@ -23302,7 +23354,7 @@ const handleDestinationAddressOnSwapChange = ({ fromChainId, fromTokenAddress, t
|
|
|
23302
23354
|
});
|
|
23303
23355
|
let destinationTokenAddress = toChainId && !toTokenAddress
|
|
23304
23356
|
? defaultToAddress
|
|
23305
|
-
:
|
|
23357
|
+
: toTokenAddress ?? swapRoute?.toTokenAddress;
|
|
23306
23358
|
const lowerCaseDestinationTokenAddress = destinationTokenAddress?.toLowerCase();
|
|
23307
23359
|
if (destinationTokensFiltered.find((t) => t.address === lowerCaseDestinationTokenAddress) === undefined) {
|
|
23308
23360
|
destinationTokenAddress = defaultToAddress;
|
|
@@ -23354,7 +23406,7 @@ const getNewSwapParamsFromInput = ({ inputParams, initialSwapRoute, tokens, chai
|
|
|
23354
23406
|
toTokenAddress === initialSwapRoute?.fromTokenAddress;
|
|
23355
23407
|
const sourceTokenAddress = sameNewDestAndInitialSource || onlySourceChainIdChanged
|
|
23356
23408
|
? defaultFromAddress
|
|
23357
|
-
:
|
|
23409
|
+
: fromTokenAddress ?? initialSwapRoute?.fromTokenAddress;
|
|
23358
23410
|
let destinationTokenAddress = undefined;
|
|
23359
23411
|
if (!sameNewSourceAndInitialDest) {
|
|
23360
23412
|
if (onlySourceChainIdChanged) {
|
|
@@ -23676,7 +23728,7 @@ const filterViewableTokens = (tokens, config, direction) => {
|
|
|
23676
23728
|
};
|
|
23677
23729
|
const getSecretNetworkBalances = async (chainData, cosmosAddress, squidTokens, keplrTypeWallet) => {
|
|
23678
23730
|
const squidSecretTokens = squidTokens.filter((t) => t.chainId === CHAIN_IDS.SECRET);
|
|
23679
|
-
const { fetchAllSecretBalances } = await Promise.resolve().then(function () { return require('./secretService-
|
|
23731
|
+
const { fetchAllSecretBalances } = await Promise.resolve().then(function () { return require('./secretService-SFoJwk5s.js'); });
|
|
23680
23732
|
return fetchAllSecretBalances(chainData, cosmosAddress, squidSecretTokens, keplrTypeWallet);
|
|
23681
23733
|
};
|
|
23682
23734
|
function getTokenAssetsKey(token) {
|
|
@@ -25670,7 +25722,7 @@ const useSquidTokens = (direction) => {
|
|
|
25670
25722
|
config.availableChains,
|
|
25671
25723
|
direction,
|
|
25672
25724
|
]);
|
|
25673
|
-
const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens, xrplTokens, stellarTokens, cantonTokens, } = React.useMemo(() => {
|
|
25725
|
+
const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens, xrplTokens, stellarTokens, cantonTokens, danalTokens, } = React.useMemo(() => {
|
|
25674
25726
|
return tokens?.reduce((acc, token) => {
|
|
25675
25727
|
switch (token.type) {
|
|
25676
25728
|
case squidTypes.ChainType.EVM:
|
|
@@ -25697,6 +25749,9 @@ const useSquidTokens = (direction) => {
|
|
|
25697
25749
|
case squidTypes.ChainType.CANTON:
|
|
25698
25750
|
acc.cantonTokens.push(token);
|
|
25699
25751
|
break;
|
|
25752
|
+
case squidTypes.ChainType.DANAL:
|
|
25753
|
+
acc.danalTokens.push(token);
|
|
25754
|
+
break;
|
|
25700
25755
|
}
|
|
25701
25756
|
return acc;
|
|
25702
25757
|
}, {
|
|
@@ -25708,6 +25763,7 @@ const useSquidTokens = (direction) => {
|
|
|
25708
25763
|
xrplTokens: [],
|
|
25709
25764
|
stellarTokens: [],
|
|
25710
25765
|
cantonTokens: [],
|
|
25766
|
+
danalTokens: [],
|
|
25711
25767
|
});
|
|
25712
25768
|
}, [tokens]);
|
|
25713
25769
|
const findToken = React.useCallback((address, chainId) => {
|
|
@@ -25726,6 +25782,7 @@ const useSquidTokens = (direction) => {
|
|
|
25726
25782
|
xrplTokens,
|
|
25727
25783
|
stellarTokens,
|
|
25728
25784
|
cantonTokens,
|
|
25785
|
+
danalTokens,
|
|
25729
25786
|
};
|
|
25730
25787
|
};
|
|
25731
25788
|
|
|
@@ -26262,6 +26319,7 @@ const chainTypeToRefetchInterval = {
|
|
|
26262
26319
|
[squidTypes.ChainType.XRPL]: 1_000,
|
|
26263
26320
|
[squidTypes.ChainType.STELLAR]: 1_000,
|
|
26264
26321
|
[squidTypes.ChainType.CANTON]: 1_000,
|
|
26322
|
+
[squidTypes.ChainType.DANAL]: 1_000,
|
|
26265
26323
|
};
|
|
26266
26324
|
/**
|
|
26267
26325
|
* Returns the status refetch interval of a Send transaction
|
|
@@ -26528,7 +26586,7 @@ const useSquidChains = (direction) => {
|
|
|
26528
26586
|
const chain = findChain(chainId);
|
|
26529
26587
|
return chain?.chainType;
|
|
26530
26588
|
}, [findChain]);
|
|
26531
|
-
const { evmChains, cosmosChains, suiChains, stellarChains, xrplChains, cantonChains, } = React.useMemo(() => {
|
|
26589
|
+
const { evmChains, cosmosChains, suiChains, stellarChains, xrplChains, cantonChains, danalChains, } = React.useMemo(() => {
|
|
26532
26590
|
return chains.reduce((acc, chain) => {
|
|
26533
26591
|
switch (chain.chainType) {
|
|
26534
26592
|
case squidTypes.ChainType.EVM:
|
|
@@ -26549,6 +26607,9 @@ const useSquidChains = (direction) => {
|
|
|
26549
26607
|
case squidTypes.ChainType.CANTON:
|
|
26550
26608
|
acc.cantonChains.push(chain);
|
|
26551
26609
|
break;
|
|
26610
|
+
case squidTypes.ChainType.DANAL:
|
|
26611
|
+
acc.danalChains.push(chain);
|
|
26612
|
+
break;
|
|
26552
26613
|
}
|
|
26553
26614
|
return acc;
|
|
26554
26615
|
}, {
|
|
@@ -26558,6 +26619,7 @@ const useSquidChains = (direction) => {
|
|
|
26558
26619
|
xrplChains: [],
|
|
26559
26620
|
stellarChains: [],
|
|
26560
26621
|
cantonChains: [],
|
|
26622
|
+
danalChains: [],
|
|
26561
26623
|
});
|
|
26562
26624
|
}, [chains]);
|
|
26563
26625
|
const { supportedSourceChains, supportedDestinationChains } = React.useMemo(() => {
|
|
@@ -26579,6 +26641,7 @@ const useSquidChains = (direction) => {
|
|
|
26579
26641
|
xrplChains,
|
|
26580
26642
|
stellarChains,
|
|
26581
26643
|
cantonChains,
|
|
26644
|
+
danalChains,
|
|
26582
26645
|
getChainType,
|
|
26583
26646
|
findChain,
|
|
26584
26647
|
};
|
|
@@ -27424,7 +27487,7 @@ function useStellarWallets() {
|
|
|
27424
27487
|
try {
|
|
27425
27488
|
const { allowAllModules: initializeAllModules } = await import('@creit.tech/stellar-wallets-kit');
|
|
27426
27489
|
const { LedgerModule } = await import('@creit.tech/stellar-wallets-kit/modules/ledger.module.mjs');
|
|
27427
|
-
const { formatStellarWallet } = await Promise.resolve().then(function () { return require('./stellarService.client-
|
|
27490
|
+
const { formatStellarWallet } = await Promise.resolve().then(function () { return require('./stellarService.client-C-DwcHfr.js'); });
|
|
27428
27491
|
const modules = [...initializeAllModules(), new LedgerModule()];
|
|
27429
27492
|
const promises = modules.map(async (module) => {
|
|
27430
27493
|
const isAvailable = await module.isAvailable();
|
|
@@ -28234,6 +28297,8 @@ const useMultiChainWallet = (chain) => {
|
|
|
28234
28297
|
chainType: chain.chainType,
|
|
28235
28298
|
}),
|
|
28236
28299
|
};
|
|
28300
|
+
case squidTypes.ChainType.DANAL:
|
|
28301
|
+
return {};
|
|
28237
28302
|
}
|
|
28238
28303
|
}, [
|
|
28239
28304
|
chain?.chainType,
|
|
@@ -29072,6 +29137,8 @@ async function createClient(chain) {
|
|
|
29072
29137
|
return new StellarRpcClient(chain.rpc);
|
|
29073
29138
|
case squidTypes.ChainType.CANTON:
|
|
29074
29139
|
return null;
|
|
29140
|
+
case squidTypes.ChainType.DANAL:
|
|
29141
|
+
return null;
|
|
29075
29142
|
}
|
|
29076
29143
|
}
|
|
29077
29144
|
|
|
@@ -30338,7 +30405,7 @@ const useCantonBalance = ({ chain, token, userAddress, enabled = true, refreshIn
|
|
|
30338
30405
|
};
|
|
30339
30406
|
|
|
30340
30407
|
function useNativeTokenForChain(chain) {
|
|
30341
|
-
const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens, xrplTokens, stellarTokens, cantonTokens, } = useSquidTokens();
|
|
30408
|
+
const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens, xrplTokens, stellarTokens, cantonTokens, danalTokens, } = useSquidTokens();
|
|
30342
30409
|
const getTokensForChainType = () => {
|
|
30343
30410
|
if (!chain?.chainType)
|
|
30344
30411
|
return [];
|
|
@@ -30359,6 +30426,8 @@ function useNativeTokenForChain(chain) {
|
|
|
30359
30426
|
return stellarTokens;
|
|
30360
30427
|
case squidTypes.ChainType.CANTON:
|
|
30361
30428
|
return cantonTokens;
|
|
30429
|
+
case squidTypes.ChainType.DANAL:
|
|
30430
|
+
return danalTokens;
|
|
30362
30431
|
}
|
|
30363
30432
|
};
|
|
30364
30433
|
const nativeTokenForChainType = React.useMemo(() => {
|
|
@@ -30619,6 +30688,9 @@ const useNativeBalance = (chain) => {
|
|
|
30619
30688
|
case squidTypes.ChainType.CANTON:
|
|
30620
30689
|
balance = nativeCantonBalance;
|
|
30621
30690
|
break;
|
|
30691
|
+
case squidTypes.ChainType.DANAL:
|
|
30692
|
+
balance = undefined;
|
|
30693
|
+
break;
|
|
30622
30694
|
}
|
|
30623
30695
|
const balanceFormatted = !!balance
|
|
30624
30696
|
? formatBNToReadable(balance.value, balance.decimals)
|
|
@@ -30658,6 +30730,8 @@ const useNativeBalance = (chain) => {
|
|
|
30658
30730
|
return isStellarLoading;
|
|
30659
30731
|
case squidTypes.ChainType.CANTON:
|
|
30660
30732
|
return isCantonLoading;
|
|
30733
|
+
case squidTypes.ChainType.DANAL:
|
|
30734
|
+
return false;
|
|
30661
30735
|
}
|
|
30662
30736
|
}, [
|
|
30663
30737
|
chain?.chainType,
|
|
@@ -30883,7 +30957,7 @@ function hederaWalletConnect(parameters) {
|
|
|
30883
30957
|
const optionalChains = config.chains.map((x) => x.id);
|
|
30884
30958
|
if (!optionalChains.length)
|
|
30885
30959
|
return;
|
|
30886
|
-
const { EthereumProvider } = await Promise.resolve().then(function () { return require('./index.es-
|
|
30960
|
+
const { EthereumProvider } = await Promise.resolve().then(function () { return require('./index.es-Bh80Pkl-.js'); });
|
|
30887
30961
|
const rawProvider = await EthereumProvider.init({
|
|
30888
30962
|
...restParameters,
|
|
30889
30963
|
disableProviderPing: true,
|
|
@@ -31117,6 +31191,8 @@ const useSigner = ({ chain }) => {
|
|
|
31117
31191
|
return isStellarSignerReady;
|
|
31118
31192
|
case squidTypes.ChainType.CANTON:
|
|
31119
31193
|
return isCantonSignerReady;
|
|
31194
|
+
case squidTypes.ChainType.DANAL:
|
|
31195
|
+
return false;
|
|
31120
31196
|
}
|
|
31121
31197
|
}, [
|
|
31122
31198
|
chain?.chainType,
|
|
@@ -31592,11 +31668,13 @@ function useDepositAddress(squidRoute) {
|
|
|
31592
31668
|
CHAIN_IDS.BITCOIN,
|
|
31593
31669
|
CHAIN_IDS.SOLANA,
|
|
31594
31670
|
CHAIN_IDS.CANTON,
|
|
31671
|
+
CHAIN_IDS.DANAL_TESTNET,
|
|
31595
31672
|
];
|
|
31596
31673
|
return chainsSupportingDepositAddress.includes(fromChain.chainId);
|
|
31597
31674
|
}, [fromChain?.chainId]);
|
|
31598
|
-
const routeProvidesDirectDepositAddress = !!squidRoute?.transactionRequest &&
|
|
31599
|
-
isDepositAddressDirectTransferRoute(squidRoute.transactionRequest)
|
|
31675
|
+
const routeProvidesDirectDepositAddress = (!!squidRoute?.transactionRequest &&
|
|
31676
|
+
isDepositAddressDirectTransferRoute(squidRoute.transactionRequest)) ||
|
|
31677
|
+
(!!squidRoute && isDanalDepositRoute(squidRoute));
|
|
31600
31678
|
const swapWillGenerateDepositAddress = isChainflipDepositRoute(squidRoute) || routeProvidesDirectDepositAddress;
|
|
31601
31679
|
const paymentMethod = isAvailableAsPaymentMethod
|
|
31602
31680
|
? selectedPaymentMethod
|
|
@@ -31622,6 +31700,19 @@ function useDepositAddress(squidRoute) {
|
|
|
31622
31700
|
});
|
|
31623
31701
|
return;
|
|
31624
31702
|
}
|
|
31703
|
+
else if (isDanalDepositRoute(route)) {
|
|
31704
|
+
const transferBody = parseDanalTransferBody(route.transactionRequest.data);
|
|
31705
|
+
if (!transferBody) {
|
|
31706
|
+
throw new Error("Could not parse Danal transfer request body");
|
|
31707
|
+
}
|
|
31708
|
+
setDeposit({
|
|
31709
|
+
amount: transferBody.amount,
|
|
31710
|
+
depositAddress: route.transactionRequest.target,
|
|
31711
|
+
statusTrackingId: transferBody.memo,
|
|
31712
|
+
memo: transferBody.memo,
|
|
31713
|
+
});
|
|
31714
|
+
return;
|
|
31715
|
+
}
|
|
31625
31716
|
else if (isDepositAddressDirectTransferRoute(route.transactionRequest)) {
|
|
31626
31717
|
// Canton case
|
|
31627
31718
|
const orderHash = route.transactionRequest.data;
|
|
@@ -31671,7 +31762,7 @@ const useUrlSwapParams = () => {
|
|
|
31671
31762
|
|
|
31672
31763
|
const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, queryOptions, }) => {
|
|
31673
31764
|
const { evmChains, cosmosChains, suiChains, xrplChains, stellarChains } = useSquidChains(direction);
|
|
31674
|
-
const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens, xrplTokens, stellarTokens, cantonTokens, } = useSquidTokens(direction);
|
|
31765
|
+
const { evmTokens, cosmosTokens, solanaTokens, bitcoinTokens, suiTokens, xrplTokens, stellarTokens, cantonTokens, danalTokens, } = useSquidTokens(direction);
|
|
31675
31766
|
const { keplrTypeWallet } = useCosmosContext();
|
|
31676
31767
|
const cantonConnector = useWalletStore((store) => store.connectedWalletsByChainType[squidTypes.ChainType.CANTON]?.wallet?.connector);
|
|
31677
31768
|
const placeholderData = React.useMemo(() => {
|
|
@@ -31684,6 +31775,7 @@ const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, qu
|
|
|
31684
31775
|
[squidTypes.ChainType.XRPL]: xrplTokens.map((t) => ({ ...t, balance: "0" })),
|
|
31685
31776
|
[squidTypes.ChainType.STELLAR]: stellarTokens.map((t) => ({ ...t, balance: "0" })),
|
|
31686
31777
|
[squidTypes.ChainType.CANTON]: cantonTokens.map((t) => ({ ...t, balance: "0" })),
|
|
31778
|
+
[squidTypes.ChainType.DANAL]: danalTokens.map((t) => ({ ...t, balance: "0" })),
|
|
31687
31779
|
};
|
|
31688
31780
|
if (!chainType) {
|
|
31689
31781
|
// Return all tokens with zero balance
|
|
@@ -31706,6 +31798,7 @@ const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, qu
|
|
|
31706
31798
|
xrplTokens,
|
|
31707
31799
|
stellarTokens,
|
|
31708
31800
|
cantonTokens,
|
|
31801
|
+
danalTokens,
|
|
31709
31802
|
]);
|
|
31710
31803
|
const isQueryEnabled = React.useMemo(() => {
|
|
31711
31804
|
// Respect the queryOptions.enabled override if provided
|
|
@@ -31730,6 +31823,8 @@ const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, qu
|
|
|
31730
31823
|
return stellarTokens.length > 0;
|
|
31731
31824
|
case squidTypes.ChainType.CANTON:
|
|
31732
31825
|
return cantonTokens.length > 0;
|
|
31826
|
+
case squidTypes.ChainType.DANAL:
|
|
31827
|
+
return danalTokens.length > 0;
|
|
31733
31828
|
}
|
|
31734
31829
|
}, [
|
|
31735
31830
|
chainType,
|
|
@@ -31743,6 +31838,7 @@ const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, qu
|
|
|
31743
31838
|
xrplTokens.length,
|
|
31744
31839
|
stellarTokens.length,
|
|
31745
31840
|
cantonTokens.length,
|
|
31841
|
+
danalTokens.length,
|
|
31746
31842
|
]);
|
|
31747
31843
|
const query = reactQuery.useQuery(keys().allTokensBalance(address, chainType, direction), async () => {
|
|
31748
31844
|
// Return zero balances if no address
|
|
@@ -31867,6 +31963,12 @@ const useAllConnectedWalletBalances = ({ direction, queryOptions = {
|
|
|
31867
31963
|
direction,
|
|
31868
31964
|
queryOptions,
|
|
31869
31965
|
});
|
|
31966
|
+
const danalBalancesQuery = useAllTokensWithBalanceForChainType({
|
|
31967
|
+
chainType: squidTypes.ChainType.DANAL,
|
|
31968
|
+
address: connectedAddresses?.[squidTypes.ChainType.DANAL],
|
|
31969
|
+
direction,
|
|
31970
|
+
queryOptions,
|
|
31971
|
+
});
|
|
31870
31972
|
// Create a map of chain type to balance query results
|
|
31871
31973
|
const balanceQueries = React.useMemo(() => ({
|
|
31872
31974
|
[squidTypes.ChainType.EVM]: evmBalancesQuery,
|
|
@@ -31877,6 +31979,7 @@ const useAllConnectedWalletBalances = ({ direction, queryOptions = {
|
|
|
31877
31979
|
[squidTypes.ChainType.XRPL]: xrplBalancesQuery,
|
|
31878
31980
|
[squidTypes.ChainType.STELLAR]: stellarBalancesQuery,
|
|
31879
31981
|
[squidTypes.ChainType.CANTON]: cantonBalancesQuery,
|
|
31982
|
+
[squidTypes.ChainType.DANAL]: danalBalancesQuery,
|
|
31880
31983
|
}), [
|
|
31881
31984
|
evmBalancesQuery,
|
|
31882
31985
|
cosmosBalancesQuery,
|
|
@@ -31886,6 +31989,7 @@ const useAllConnectedWalletBalances = ({ direction, queryOptions = {
|
|
|
31886
31989
|
xrplBalancesQuery,
|
|
31887
31990
|
stellarBalancesQuery,
|
|
31888
31991
|
cantonBalancesQuery,
|
|
31992
|
+
danalBalancesQuery,
|
|
31889
31993
|
]);
|
|
31890
31994
|
// Combine all tokens from different chains
|
|
31891
31995
|
const allTokens = React.useMemo(() => Object.values(balanceQueries).flatMap((query) => query.data?.tokens ?? []), [balanceQueries]);
|
|
@@ -31993,6 +32097,8 @@ const useMultiChainBalance = ({ chain, token, userAddress, enabled = true, }) =>
|
|
|
31993
32097
|
return stellarBalance;
|
|
31994
32098
|
case squidTypes.ChainType.CANTON:
|
|
31995
32099
|
return cantonBalance;
|
|
32100
|
+
case squidTypes.ChainType.DANAL:
|
|
32101
|
+
return "0";
|
|
31996
32102
|
}
|
|
31997
32103
|
}, [
|
|
31998
32104
|
chain?.chainType,
|
|
@@ -33102,8 +33208,9 @@ function useSendTransaction({ to, amount, token, chain, }) {
|
|
|
33102
33208
|
chain,
|
|
33103
33209
|
});
|
|
33104
33210
|
break;
|
|
33105
|
-
case squidTypes.ChainType.CANTON:
|
|
33106
|
-
|
|
33211
|
+
case squidTypes.ChainType.CANTON:
|
|
33212
|
+
case squidTypes.ChainType.DANAL: {
|
|
33213
|
+
throw new Error(`Send not implemented for chain type ${chain.chainType}`);
|
|
33107
33214
|
}
|
|
33108
33215
|
}
|
|
33109
33216
|
return {
|
|
@@ -33309,7 +33416,8 @@ async function getSendTransactionStatus({ chain, txHash, }) {
|
|
|
33309
33416
|
chain,
|
|
33310
33417
|
});
|
|
33311
33418
|
case squidTypes.ChainType.CANTON:
|
|
33312
|
-
|
|
33419
|
+
case squidTypes.ChainType.DANAL:
|
|
33420
|
+
throw new Error(`Send not implemented for chain type ${chain.chainType}`);
|
|
33313
33421
|
}
|
|
33314
33422
|
}
|
|
33315
33423
|
|
|
@@ -38179,7 +38287,7 @@ refetchIntervalInBackground = false, refetchInterval = 30000, quoteOnly = true,
|
|
|
38179
38287
|
//
|
|
38180
38288
|
// If deposit address is not selected, we use the connected address as the source address instead
|
|
38181
38289
|
const sourceUserAddress = isDepositAddressActive
|
|
38182
|
-
?
|
|
38290
|
+
? depositRefundAddress ?? sourceConnectedAddress
|
|
38183
38291
|
: sourceConnectedAddress;
|
|
38184
38292
|
const squidRouteQueryKeys = React.useMemo(() => keys().transaction(fromChain?.chainId, toChain?.chainId, toToken?.address, fromToken?.address, fromPrice, config.slippage, sourceUserAddress, config.degenMode, destinationAddress, fallbackAddress, quoteOnly, fromChain?.chainType, config.preHook, config.postHook, config.overrideGasRefundAddress), [
|
|
38185
38293
|
fromChain?.chainId,
|
|
@@ -38965,6 +39073,7 @@ exports.isChainflipBridgeTransaction = isChainflipBridgeTransaction;
|
|
|
38965
39073
|
exports.isChainflipDepositRoute = isChainflipDepositRoute;
|
|
38966
39074
|
exports.isCoralBridgeAction = isCoralBridgeAction;
|
|
38967
39075
|
exports.isCosmosAddressValid = isCosmosAddressValid;
|
|
39076
|
+
exports.isDanalDepositRoute = isDanalDepositRoute;
|
|
38968
39077
|
exports.isDepositAddressDirectTransferRoute = isDepositAddressDirectTransferRoute;
|
|
38969
39078
|
exports.isEmptyObject = isEmptyObject;
|
|
38970
39079
|
exports.isEvmChainNotSupportedError = isEvmChainNotSupportedError;
|
|
@@ -39114,4 +39223,4 @@ exports.useXrplTrustLine = useXrplTrustLine;
|
|
|
39114
39223
|
exports.waitForReceiptWithRetry = waitForReceiptWithRetry;
|
|
39115
39224
|
exports.walletIconBaseUrl = walletIconBaseUrl;
|
|
39116
39225
|
exports.walletSupportsChainType = walletSupportsChainType;
|
|
39117
|
-
//# sourceMappingURL=index-
|
|
39226
|
+
//# sourceMappingURL=index-COYrDBlh.js.map
|