@0xsquid/react-hooks 6.4.3 → 6.4.4-beta.1
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/connectors/bitcoin/errors/index.d.ts +2 -1
- package/dist/core/connectors/bitcoin/errors/index.js +1 -1
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
- package/dist/core/connectors/xrp/CrossMark.d.ts +26 -0
- package/dist/core/connectors/xrp/CrossMark.js +76 -0
- package/dist/core/connectors/xrp/CrossMark.js.map +1 -0
- package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +44 -0
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js +212 -0
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +1 -0
- package/dist/core/constants.d.ts +9 -3
- package/dist/core/constants.js +33 -3
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/its/config.d.ts +200 -0
- package/dist/core/its/config.js +193 -0
- package/dist/core/its/config.js.map +1 -0
- package/dist/core/providers/CosmosProvider.d.ts +1 -1
- package/dist/core/providers/CosmosProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +7 -5
- package/dist/core/queries/queries-keys.js +5 -0
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +0 -1
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.js +1 -0
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/transaction.d.ts +0 -1
- package/dist/core/types/wallet.d.ts +25 -4
- package/dist/core/types/wallet.js +2 -0
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/types/xrp.d.ts +51 -0
- package/dist/core/types/xrp.js +2 -0
- package/dist/core/types/xrp.js.map +1 -0
- package/dist/core/wallets.js +39 -0
- package/dist/core/wallets.js.map +1 -1
- package/dist/core/xrp/config.d.ts +21 -0
- package/dist/core/xrp/config.js +61 -0
- package/dist/core/xrp/config.js.map +1 -0
- package/dist/hooks/chains/useSquidChains.js +1 -1
- package/dist/hooks/chains/useSquidChains.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.js +5 -15
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/squid/useSquid.js +1 -1
- package/dist/hooks/squid/useSquid.js.map +1 -1
- package/dist/hooks/store/useWalletStore.js +5 -6
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/swap/useSwap.js +9 -3
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +12 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +5 -6
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +34 -16
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +18 -246
- package/dist/hooks/tokens/useBalance.js +65 -26
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
- package/dist/hooks/tokens/useMultiChainBalance.js +38 -35
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +16 -18
- package/dist/hooks/tokens/useNativeBalance.js +122 -56
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +6 -4
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +2 -11
- package/dist/hooks/tokens/useSquidTokens.js +8 -16
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.js +1 -1
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +0 -2
- package/dist/hooks/transaction/useExecuteTransaction.js +95 -43
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +7 -8
- package/dist/hooks/transaction/useGetRoute.js +165 -7
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
- package/dist/hooks/user/useUserParams.js +1 -1
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -3
- package/dist/hooks/wallet/useMultiChainWallet.js +32 -25
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +2 -2
- package/dist/hooks/wallet/useSigner.js +32 -3
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +1 -1
- package/dist/hooks/wallet/useWallet.js +14 -5
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/xrp/useXrp.d.ts +7 -0
- package/dist/hooks/xrp/useXrp.js +22 -0
- package/dist/hooks/xrp/useXrp.js.map +1 -0
- package/dist/hooks/xrp/useXrpPrice.d.ts +1 -0
- package/dist/hooks/xrp/useXrpPrice.js +12 -0
- package/dist/hooks/xrp/useXrpPrice.js.map +1 -0
- package/dist/hooks/xrp/useXrplTrustLine.d.ts +6 -0
- package/dist/hooks/xrp/useXrplTrustLine.js +103 -0
- package/dist/hooks/xrp/useXrplTrustLine.js.map +1 -0
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.js +7 -7
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +5 -3
- package/dist/services/external/rpcService.js +43 -12
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/xrplRpcClient.d.ts +46 -0
- package/dist/services/external/xrplRpcClient.js +144 -0
- package/dist/services/external/xrplRpcClient.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +5 -5
- package/dist/services/internal/assetsService.js +376 -5
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/cosmosService.d.ts +3 -13
- package/dist/services/internal/cosmosService.js +1 -1
- package/dist/services/internal/cosmosService.js.map +1 -1
- package/dist/services/internal/errorService.d.ts +15 -0
- package/dist/services/internal/errorService.js +9 -3
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +2 -5
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/solanaService.d.ts +2 -5
- package/dist/services/internal/solanaService.js.map +1 -1
- package/dist/services/internal/transactionService.d.ts +0 -1
- package/dist/services/internal/transactionService.js +9 -2
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +20 -11
- package/dist/services/internal/walletService.js +24 -20
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/services/internal/xrpService.d.ts +38 -0
- package/dist/services/internal/xrpService.js +178 -0
- package/dist/services/internal/xrpService.js.map +1 -0
- package/dist/services/internal/xrpStatusService.d.ts +4 -0
- package/dist/services/internal/xrpStatusService.js +102 -0
- package/dist/services/internal/xrpStatusService.js.map +1 -0
- package/package.json +9 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorService.js","sourceRoot":"","sources":["../../../src/services/internal/errorService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,KAAU,EAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"errorService.js","sourceRoot":"","sources":["../../../src/services/internal/errorService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAmB,EAAE;IAC5D,qEAAqE;IACrE,IAAI,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;QACnD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;YAC5B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;SAC3B,CAAC;KACH;IAED,iCAAiC;IACjC,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO;QACvB,MAAM,EAAE,KAAK,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE,WAAW;IACX,eAAe,EAAE;QACf,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE,wCAAwC;KAClD;IACD,QAAQ;IACR,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,kBAAkB;QACjC,OAAO,EAAE,wCAAwC;KAClD;IACD,gDAAgD;IAChD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,gCAAgC;QAC/C,OAAO,EAAE,wCAAwC;KAClD;IACD,OAAO;IACP,yBAAyB,EAAE;QACzB,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,kBAAkB;QACjC,OAAO,EAAE,wCAAwC;KAClD;IACD,cAAc;IACd,0BAA0B,EAAE;QAC1B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,kCAAkC;QACjD,OAAO,EAAE,wCAAwC;KAClD;IACD,WAAW;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,0BAA0B;QACzC,OAAO,EAAE,wCAAwC;KAClD;IACD,UAAU;IACV,QAAQ,EAAE;QACR,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,4BAA4B;QAC3C,OAAO,EAAE,wCAAwC;KAClD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,oBAAoB,CAAC,cAAc;QACzC,aAAa,EAAE,qBAAqB;QACpC,OAAO,EACL,kFAAkF;KACrF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,oBAAoB,CAAC,OAAO;QAClC,aAAa,EAAE,mCAAmC;QAClD,OAAO,EAAE,yCAAyC;KACnD;CACF,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,eAAgC,EACvB,EAAE;IACX,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAE1C,oFAAoF;IACpF,OAAO,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEvE,8DAA8D;QAC9D,IAAI,IAAI,IAAI,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAC;QAE9D,2BAA2B;QAC3B,IAAI,OAAO,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAE5C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAU,EACmB,EAAE;IAC/B,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAI,oBAAoB,CAAC,eAAe,CAAC,EAAE;QACzC,wDAAwD;QACxD,IAAI,eAAe,CAAC,IAAI,EAAE;YACxB,MAAM,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,IAAI,SAAS,EAAE,IAAI,KAAK,oBAAoB,CAAC,gBAAgB;gBAC3D,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,eAAe,CAAC,OAAO,EAAE;YAC3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE,IAAI,KAAK,oBAAoB,CAAC,gBAAgB;gBAC9D,OAAO,YAAY,CAAC;SACvB;QACD,OAAO,oBAAoB,CAAC,eAAe,CAAC;KAC7C;IAED,IAAI,eAAe,CAAC,IAAI,EAAE;QACxB,OAAO,CACL,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrD,oBAAoB,CAAC,OAAO,CAC7B,CAAC;KACH;IAED,IAAI,eAAe,CAAC,OAAO,EAAE;QAC3B,OAAO,CACL,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC;YAC7C,oBAAoB,CAAC,OAAO,CAC7B,CAAC;KACH;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC;AACtC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,GAMX,EAA+B,EAAE;IAChC,iCAAiC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,gBAAgB,EAAE;QACxD,iFAAiF;QACjF,YAAY,CAAC,WAAW,EAAE,CAAC,oBAAoB,CAAC;YAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YAC3C,QAAQ,EAAE,kBAAkB,IAAI,EAAE;YAClC,MAAM,EAAE,KAAK,CAAC,aAAa;SAC5B,CAAC,CAAC;KACJ;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,cAAc,EAAE;QAC7D,qCAAqC;QACrC,YAAY,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC;YAC/C,aAAa,EAAE,iBAAiB,EAAE,WAAW,IAAI,EAAE;YACnD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE;YACpD,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,MAAM,EAAE,iBAAiB,EAAE,aAAa;SACzC,CAAC,CAAC;KACJ;IAED,iDAAiD;IACjD,YAAY,CAAC,WAAW,EAAE,CAAC,+BAA+B,CAAC;QACzD,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAA4B,EAAE;IACvE,OAAO,CACL,KAAK;QACL,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAU,EAA6B,EAAE;IACrE,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { ChainData } from "@0xsquid/squid-types";
|
|
|
2
2
|
import { Address as EvmAddress } from "viem";
|
|
3
3
|
import { Config } from "wagmi";
|
|
4
4
|
import { ConnectMutateAsync } from "wagmi/query";
|
|
5
|
-
import { EvmWallet } from "../../core/types/wallet";
|
|
5
|
+
import { ConnectWalletResult, EvmWallet } from "../../core/types/wallet";
|
|
6
6
|
export declare const EvmNetworkNotSupportedErrorCode = 4902;
|
|
7
7
|
export declare function addEthereumChain({ chain, provider, }: {
|
|
8
8
|
chain: ChainData;
|
|
@@ -10,8 +10,5 @@ export declare function addEthereumChain({ chain, provider, }: {
|
|
|
10
10
|
}): Promise<any>;
|
|
11
11
|
export declare const connectEvmWallet: (wallet: EvmWallet, { connectEvmAsync, }: {
|
|
12
12
|
connectEvmAsync: ConnectMutateAsync<Config, unknown>;
|
|
13
|
-
}) => Promise<
|
|
14
|
-
wallet: EvmWallet;
|
|
15
|
-
address: `0x${string}`;
|
|
16
|
-
}>;
|
|
13
|
+
}) => Promise<ConnectWalletResult | null>;
|
|
17
14
|
export declare const parseEvmAddress: (address: string | undefined) => EvmAddress | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evmService.js","sourceRoot":"","sources":["../../../src/services/internal/evmService.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,IAAI,YAAY,GAC1B,MAAM,MAAM,CAAC;AAKd,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,gBAAgB;QACtC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IACtB,MAAM,eAAe,GAA8B;QACjD,OAAO,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACxD,SAAS;QACT,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;QACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;KAC/B,CAAC;IAEF,IAAI;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,CAAC,eAAe,CAAC;SAC1B,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAiB,EACjB,EACE,eAAe,GAGhB,
|
|
1
|
+
{"version":3,"file":"evmService.js","sourceRoot":"","sources":["../../../src/services/internal/evmService.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,IAAI,YAAY,GAC1B,MAAM,MAAM,CAAC;AAKd,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,gBAAgB;QACtC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IACtB,MAAM,eAAe,GAA8B;QACjD,OAAO,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACxD,SAAS;QACT,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;QACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;KAC/B,CAAC;IAEF,IAAI;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,CAAC,eAAe,CAAC;SAC1B,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAiB,EACjB,EACE,eAAe,GAGhB,EACoC,EAAE;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IAED,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAA2B,EACH,EAAE;IAC1B,IAAI,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE;QACpC,OAAO,OAAqB,CAAC;KAC9B;AACH,CAAC,CAAC"}
|
|
@@ -2,12 +2,9 @@ import { RouteResponse, Token } from "@0xsquid/squid-types";
|
|
|
2
2
|
import { Connection } from "@solana/web3.js";
|
|
3
3
|
import { Adapter } from "@solana/wallet-adapter-base";
|
|
4
4
|
import { ISolanaContextData } from "../../core/providers/SolanaProvider";
|
|
5
|
-
import { SolanaWallet } from "../../core/types/wallet";
|
|
5
|
+
import { ConnectWalletResult, SolanaWallet } from "../../core/types/wallet";
|
|
6
6
|
export declare const isSolanaAddressValid: (address: string) => boolean;
|
|
7
|
-
export declare const connectSolanaWallet: (wallet: SolanaWallet, { connectSolana }: Pick<ISolanaContextData, "connectSolana" | "wallet">) => Promise<
|
|
8
|
-
wallet: SolanaWallet;
|
|
9
|
-
address: string;
|
|
10
|
-
} | null>;
|
|
7
|
+
export declare const connectSolanaWallet: (wallet: SolanaWallet, { connectSolana }: Pick<ISolanaContextData, "connectSolana" | "wallet">) => Promise<ConnectWalletResult | null>;
|
|
11
8
|
/**
|
|
12
9
|
* Execute a Solana swap transaction
|
|
13
10
|
* This will be used for the swap flow - Using Jupiter Dex under the hood
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solanaService.js","sourceRoot":"","sources":["../../../src/services/internal/solanaService.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,uCAAuC,EACvC,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,SAAS,EACT,aAAa,EACb,WAAW,EACX,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAIhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC/D,IAAI;QACF,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAoB,EACpB,EAAE,aAAa,EAAwD,
|
|
1
|
+
{"version":3,"file":"solanaService.js","sourceRoot":"","sources":["../../../src/services/internal/solanaService.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,6 @@ export declare const formatTxForStorage: (tx: SimplifiedTransactionHistory) => {
|
|
|
41
41
|
toAmountUSD?: string | undefined;
|
|
42
42
|
timestamp: number;
|
|
43
43
|
slippage?: number | undefined;
|
|
44
|
-
enableBoost?: boolean | undefined;
|
|
45
44
|
nonce?: number | undefined;
|
|
46
45
|
routeType: string | undefined;
|
|
47
46
|
sourceTxExplorerUrl?: string | undefined;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ActionType, BridgeType, SquidDataType, } from "@0xsquid/squid-types";
|
|
2
2
|
import axios from "axios";
|
|
3
|
-
import { DEFAULT_LOCALE } from "../../core/constants";
|
|
3
|
+
import { CHAIN_IDS, DEFAULT_LOCALE, TESTNETS } from "../../core/constants";
|
|
4
4
|
import { TransactionType, } from "../../core/types/transaction";
|
|
5
5
|
import { getQueryHeaders } from "./apiService";
|
|
6
|
+
import { getAxelarXrpTxStatus } from "./xrpStatusService";
|
|
6
7
|
export const formatTransactionHistoryDate = (transaction) => {
|
|
7
8
|
if (!transaction?.timestamp)
|
|
8
9
|
return undefined;
|
|
@@ -39,7 +40,8 @@ export const getSourceExplorerTxUrl = (chain, txID) => {
|
|
|
39
40
|
}
|
|
40
41
|
let txSuffix;
|
|
41
42
|
switch (chain.chainId) {
|
|
42
|
-
case
|
|
43
|
+
case CHAIN_IDS.AGORIC:
|
|
44
|
+
case CHAIN_IDS.XRPL:
|
|
43
45
|
txSuffix = "/transactions/";
|
|
44
46
|
break;
|
|
45
47
|
default:
|
|
@@ -153,6 +155,11 @@ export const formatTxForStorage = (tx) => {
|
|
|
153
155
|
};
|
|
154
156
|
};
|
|
155
157
|
export const fetchTransactionStatus = async ({ transaction, integratorId, currentRequestId, apiUrl, }) => {
|
|
158
|
+
if (transaction && TESTNETS.includes(transaction.fromChain)) {
|
|
159
|
+
return getAxelarXrpTxStatus({
|
|
160
|
+
txHash: transaction.transactionIdForStatus ?? transaction.transactionId,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
156
163
|
const statusEndpoint = `${apiUrl}/v2/status`;
|
|
157
164
|
try {
|
|
158
165
|
const response = await axios.get(statusEndpoint, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EAEV,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EAEV,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAO3E,OAAO,EAEL,eAAe,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,WAAgD,EACJ,EAAE;IAC9C,IAAI,CAAC,WAAW,EAAE,SAAS;QAAE,OAAO,SAAS,CAAC;IAE9C,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAErD,oCAAoC;QACpC,SAAS;QACT,SAAS;QACT,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;YACpD,KAAK,EAAE,OAAO;SACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAEpE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;KACvB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAA6B,EAC7B,SAA6B,EAC7B,IAAY,EACQ,EAAE;IACtB,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,MAAM,GAAI,SAA6B,IAAI,eAAe,CAAC,MAAM,CAAC;IACxE,IACE,MAAM,KAAK,eAAe,CAAC,WAAW;QACtC,MAAM,KAAK,eAAe,CAAC,MAAM,EACjC;QACA,OAAO,GAAG,SAAS,YAAY,IAAI,EAAE,CAAC;KACvC;IACD,OAAO,GAAG,SAAS,OAAO,IAAI,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAA4B,EAC5B,IAAY,EACQ,EAAE;IACtB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;QACzC,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,QAAgB,CAAC;IAErB,QAAQ,KAAK,CAAC,OAAO,EAAE;QACrB,KAAK,SAAS,CAAC,MAAM,CAAC;QACtB,KAAK,SAAS,CAAC,IAAI;YACjB,QAAQ,GAAG,gBAAgB,CAAC;YAC5B,MAAM;QACR;YACE,QAAQ,GAAG,MAAM,CAAC;KACrB;IAED,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC5C,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IAED,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAA+B,EAAE,EAAE;IACpE,yDAAyD;IACzD,IAAI,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE;QACrD,OAAO,WAAW,EAAE,cAAc,CAAC,oBAAoB,CAAC;KACzD;IAED,qDAAqD;IACrD,IAAI,WAAW,EAAE,mBAAmB,EAAE;QACpC,OAAO,WAAW,EAAE,mBAAmB,CAAC;KACzC;IAED,2DAA2D;IAC3D,IAAI,WAAW,IAAI,WAAW,EAAE,aAAa,EAAE;QAC7C,OAAO,sBAAsB,CAC3B,WAAW,CAAC,cAAc,EAAE,oBAAoB,EAChD,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,aAAa,CAC1B,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAmB,EACnB,QAAuB,EACvB,OAIC,EACO,EAAE;IACV,MAAM,EACJ,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,GACpC,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAClC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CACxD,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5E,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,IAAI,cAAc,IAAI,OAAO,GAAG,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACxC;SAAM,IAAI,OAAO,GAAG,EAAE,EAAE;QACvB,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;KAC7C;SAAM,IAAI,KAAK,GAAG,EAAE,EAAE;QACrB,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACzC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE;QACpB,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvC;SAAM,IAAI,MAAM,GAAG,EAAE,EAAE;QACtB,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC3C;SAAM;QACL,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACzC;IAED,+BAA+B;IAC/B,0BAA0B;IAC1B,qBAAqB;IACrB,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAe,EACf,kBAA0B,UAAU,EACpC,kBAA0B,UAAU,EACpC,gBAAwB,QAAQ,EAChC,EAAE;IACF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,GAAG,EAAE,EAAE;QAChB,QAAQ,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;KACtD;SAAM;QACL,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;KACxE;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,QAAQ;aACL,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;aACnC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;QACpC,CAAC,CAAC,QAAQ;aACL,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;aACpC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,EAAmB,EACS,EAAE;IAC9B,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,EAAE,CAAC;KACX;IAED,MAAM,iBAAiB,GAAG,EAAE,CAAC,SAAS;QACpC,CAAC,CAAC;YACE,GAAG,EAAE,CAAC,SAAS;YACf,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,EAAE;SACjB;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,kBAAkB,GAAG,EAAE,CAAC,OAAO;QACnC,CAAC,CAAC;YACE,GAAG,EAAE,CAAC,OAAO;YACb,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,EAAE;SACjB;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,GAAG,EAAE;QACL,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAgC,EAAE,EAAE;IACrE,OAAO;QACL,GAAG,EAAE;QACL,cAAc,EAAE,8BAA8B,CAAC,EAAE,CAAC,cAAc,CAAC;KAClE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAC3C,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,MAAM,GAMP,EAA2B,EAAE;IAC5B,IAAI,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;QAC3D,OAAO,oBAAoB,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,sBAAsB,IAAI,WAAW,CAAC,aAAa;SACxE,CAAC,CAAC;KACJ;IAED,MAAM,cAAc,GAAG,GAAG,MAAM,YAAY,CAAC;IAC7C,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAiB,cAAc,EAAE;YAC/D,MAAM,EAAE;gBACN,aAAa,EACX,WAAW,EAAE,sBAAsB,IAAI,WAAW,EAAE,aAAa;gBACnE,WAAW,EAAE,WAAW,EAAE,SAAS;gBACnC,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,UAAU,EAAE,WAAW,EAAE,UAAU;aACpC;YACD,OAAO,EAAE,eAAe,CAAC,YAAY,EAAE,gBAAgB,IAAI,EAAE,CAAC;SAC/D,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SACtE;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IAChE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;QAChB,OAAO,KAAK,CAAC;KACd;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChF,CAAC,CAAC;AAMF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC/D,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,GAAG;QAC9B,qBAAqB;QACrB,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,OAAO,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA8B,EAAW,EAAE;IACxE,OAAO,CACL,CAAC,CAAC,KAAK;QACP,KAAK,CAAC,kBAAkB,EAAE,IAAI,KAAK,aAAa,CAAC,uBAAuB,CACzE,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAmC,EAAE;IAErC,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;QACjC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,SAAS,CAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
2
|
import { ChainType } from "@0xsquid/squid-types";
|
|
3
|
-
import {
|
|
3
|
+
import { UseMutationResult } from "@tanstack/react-query";
|
|
4
|
+
import { Config, Connector } from "@wagmi/core";
|
|
5
|
+
import { ConnectMutateAsync } from "wagmi/query";
|
|
6
|
+
import { ICosmosContextData } from "../../core/providers/CosmosProvider";
|
|
7
|
+
import { ISolanaContextData } from "../../core/providers/SolanaProvider";
|
|
4
8
|
import { TokenWithBalance } from "../../core/types/tokens";
|
|
5
|
-
import type { EnsSearchResult, Wallet } from "../../core/types/wallet";
|
|
9
|
+
import type { ConnectWalletResult, EnsSearchResult, Wallet, XrpWallet } from "../../core/types/wallet";
|
|
6
10
|
type FormatHashParams = {
|
|
7
11
|
hash?: string;
|
|
8
12
|
chainType?: ChainType;
|
|
@@ -18,7 +22,6 @@ export declare const redirectToExtensionsStore: (wallet: Wallet) => void;
|
|
|
18
22
|
export declare const accessProperty: (object: Record<string, any>, path: string) => any;
|
|
19
23
|
export declare const getWalletWindowProvider: (window: Window, wallet: Wallet, chainType: ChainType) => any;
|
|
20
24
|
export declare const getWallets: (window: Window | undefined) => Wallet[];
|
|
21
|
-
export declare const metamaskIcon: string | undefined;
|
|
22
25
|
/**
|
|
23
26
|
* Get the base chain to connect to
|
|
24
27
|
* If only one chain type is selected, use that chain type
|
|
@@ -30,7 +33,7 @@ export declare const metamaskIcon: string | undefined;
|
|
|
30
33
|
* @param findChain
|
|
31
34
|
* @returns
|
|
32
35
|
*/
|
|
33
|
-
export declare const getDefaultChain: (wallet: Wallet, chain: ChainData | undefined, selectedChainTypes: ChainType[] | undefined, findChain
|
|
36
|
+
export declare const getDefaultChain: (wallet: Wallet, chain: ChainData | undefined, selectedChainTypes: ChainType[] | undefined, findChain: (chainId: string) => ChainData | undefined) => ChainData | undefined;
|
|
34
37
|
/**
|
|
35
38
|
* Sort order:
|
|
36
39
|
* 1. Connected wallets
|
|
@@ -76,16 +79,22 @@ export declare const isXionSmartContractAddress: (address?: string) => boolean;
|
|
|
76
79
|
export declare const getWalletSupportedChainTypes: (wallet: Wallet) => ChainType[];
|
|
77
80
|
export declare const getConnectorForChainType: (wallet: Wallet, chainType: ChainType) => (() => any) | undefined;
|
|
78
81
|
export declare function walletSupportsChainType(wallet: Wallet, chainType: ChainType): boolean;
|
|
79
|
-
|
|
82
|
+
type ConnectWalletMutationResult<WalletType extends Wallet> = UseMutationResult<ConnectWalletResult, unknown, {
|
|
83
|
+
wallet: WalletType;
|
|
84
|
+
}, unknown>;
|
|
85
|
+
interface ConnectWalletMutations {
|
|
86
|
+
connectEvmAsync: ConnectMutateAsync<Config, unknown>;
|
|
87
|
+
connectCosmos: ICosmosContextData["connectCosmos"];
|
|
88
|
+
cosmosConnectedWallet: ICosmosContextData["cosmosConnectedWallet"];
|
|
89
|
+
connectSolana: ISolanaContextData["connectSolana"];
|
|
90
|
+
connectXrp: ConnectWalletMutationResult<XrpWallet>;
|
|
91
|
+
}
|
|
92
|
+
type ConnectWalletParams = {
|
|
80
93
|
wallet: Wallet;
|
|
81
94
|
selectedChain?: ChainData;
|
|
82
|
-
connectEvmAsync: any;
|
|
83
|
-
connectCosmos: any;
|
|
84
|
-
cosmosConnectedWallet: any;
|
|
85
|
-
connectSolana: any;
|
|
86
95
|
selectedChainTypes?: ChainType[];
|
|
87
|
-
findChain
|
|
88
|
-
}
|
|
96
|
+
findChain: (chainId: string) => ChainData | undefined;
|
|
97
|
+
} & ConnectWalletMutations;
|
|
89
98
|
interface WalletConnectionResult {
|
|
90
99
|
wallet: Wallet;
|
|
91
100
|
addresses: {
|
|
@@ -2,13 +2,14 @@ import { ChainType } from "@0xsquid/squid-types";
|
|
|
2
2
|
import { ChainNotConfiguredError } from "@wagmi/core";
|
|
3
3
|
import getProperty from "lodash/get";
|
|
4
4
|
import { isAddress, SwitchChainError } from "viem";
|
|
5
|
-
import {
|
|
5
|
+
import { chainTypeToDefaultChainIdMap } from "../../core/constants";
|
|
6
6
|
import { formattedWallets, walletStoreLinks } from "../../core/wallets";
|
|
7
7
|
import { WidgetEvents } from "../../services/internal/eventService";
|
|
8
8
|
import { connectBitcoinWallet, isBitcoinAddressValid } from "./bitcoinService";
|
|
9
9
|
import { connectCosmosWallet, isCosmosAddressValid } from "./cosmosService";
|
|
10
10
|
import { connectEvmWallet } from "./evmService";
|
|
11
11
|
import { connectSolanaWallet, isSolanaAddressValid } from "./solanaService";
|
|
12
|
+
import { isXrpAddressValid } from "./xrpService";
|
|
12
13
|
const chainTypeToTrimLength = {
|
|
13
14
|
// 0x1234...5678
|
|
14
15
|
[ChainType.EVM]: {
|
|
@@ -25,10 +26,16 @@ const chainTypeToTrimLength = {
|
|
|
25
26
|
start: 8,
|
|
26
27
|
end: 4,
|
|
27
28
|
},
|
|
29
|
+
// 6fq5...AmcC
|
|
28
30
|
[ChainType.SOLANA]: {
|
|
29
31
|
start: 4,
|
|
30
32
|
end: 4,
|
|
31
33
|
},
|
|
34
|
+
// r9uP...s6mN
|
|
35
|
+
[ChainType.XRP]: {
|
|
36
|
+
start: 4,
|
|
37
|
+
end: 4,
|
|
38
|
+
},
|
|
32
39
|
};
|
|
33
40
|
export const formatHash = ({ chainType, hash }) => {
|
|
34
41
|
if (!hash)
|
|
@@ -63,8 +70,8 @@ export const isWalletAddressValid = (chainData, address) => {
|
|
|
63
70
|
return isBitcoinAddressValid(address);
|
|
64
71
|
case ChainType.SOLANA:
|
|
65
72
|
return isSolanaAddressValid(address);
|
|
66
|
-
|
|
67
|
-
return
|
|
73
|
+
case ChainType.XRP:
|
|
74
|
+
return isXrpAddressValid(address);
|
|
68
75
|
}
|
|
69
76
|
};
|
|
70
77
|
export const redirectToExtensionsStore = (wallet) => {
|
|
@@ -129,7 +136,6 @@ export const getWallets = (window) => {
|
|
|
129
136
|
return wallet;
|
|
130
137
|
});
|
|
131
138
|
};
|
|
132
|
-
export const metamaskIcon = formattedWallets.find((w) => w.connectorId === "metaMaskSDK")?.icon;
|
|
133
139
|
/**
|
|
134
140
|
* Get the base chain to connect to
|
|
135
141
|
* If only one chain type is selected, use that chain type
|
|
@@ -151,18 +157,9 @@ export const getDefaultChain = (wallet, chain, selectedChainTypes, findChain) =>
|
|
|
151
157
|
const chainType = selectedChainTypes[0];
|
|
152
158
|
walletType = chainType;
|
|
153
159
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
case ChainType.COSMOS:
|
|
158
|
-
return findChain?.(CHAIN_IDS.OSMOSIS);
|
|
159
|
-
case ChainType.BTC:
|
|
160
|
-
return findChain?.(CHAIN_IDS.BITCOIN);
|
|
161
|
-
case ChainType.SOLANA:
|
|
162
|
-
return findChain?.(CHAIN_IDS.SOLANA);
|
|
163
|
-
default:
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
160
|
+
if (!walletType)
|
|
161
|
+
return undefined;
|
|
162
|
+
return findChain(chainTypeToDefaultChainIdMap[walletType]);
|
|
166
163
|
};
|
|
167
164
|
/**
|
|
168
165
|
* Sort order:
|
|
@@ -323,7 +320,10 @@ export function walletSupportsChainType(wallet, chainType) {
|
|
|
323
320
|
return wallet.type === chainType;
|
|
324
321
|
}
|
|
325
322
|
const connectByChainType = async (chainType, wallet, defaultChain, params) => {
|
|
326
|
-
|
|
323
|
+
if (!chainType) {
|
|
324
|
+
throw new Error(`Unsupported wallet type: ${chainType}`);
|
|
325
|
+
}
|
|
326
|
+
// Get connector for chain type if it's a multi-chain wallet
|
|
327
327
|
const connector = getConnectorForChainType(wallet, chainType);
|
|
328
328
|
switch (chainType) {
|
|
329
329
|
case ChainType.EVM:
|
|
@@ -341,8 +341,10 @@ const connectByChainType = async (chainType, wallet, defaultChain, params) => {
|
|
|
341
341
|
});
|
|
342
342
|
case ChainType.BTC:
|
|
343
343
|
return connectBitcoinWallet(wallet);
|
|
344
|
-
|
|
345
|
-
|
|
344
|
+
case ChainType.XRP:
|
|
345
|
+
return params.connectXrp.mutateAsync({
|
|
346
|
+
wallet: wallet,
|
|
347
|
+
});
|
|
346
348
|
}
|
|
347
349
|
};
|
|
348
350
|
const getChainTypesToConnect = (selectedChainTypes, defaultChain, supportedChains) => {
|
|
@@ -375,6 +377,7 @@ const connectMultiChainWallet = async (params) => {
|
|
|
375
377
|
connectCosmos: params.connectCosmos,
|
|
376
378
|
cosmosConnectedWallet: params.cosmosConnectedWallet,
|
|
377
379
|
connectSolana: params.connectSolana,
|
|
380
|
+
connectXrp: params.connectXrp,
|
|
378
381
|
});
|
|
379
382
|
if (result) {
|
|
380
383
|
results.push({
|
|
@@ -395,12 +398,13 @@ const connectSingleChainWallet = async (params) => {
|
|
|
395
398
|
if (params.wallet.isMultiChain) {
|
|
396
399
|
return null;
|
|
397
400
|
}
|
|
398
|
-
const defaultChain =
|
|
401
|
+
const defaultChain = params.selectedChain;
|
|
399
402
|
const result = await connectByChainType(params.wallet.type, params.wallet, defaultChain, {
|
|
400
403
|
connectEvmAsync: params.connectEvmAsync,
|
|
401
404
|
connectCosmos: params.connectCosmos,
|
|
402
405
|
cosmosConnectedWallet: params.cosmosConnectedWallet,
|
|
403
406
|
connectSolana: params.connectSolana,
|
|
407
|
+
connectXrp: params.connectXrp,
|
|
404
408
|
});
|
|
405
409
|
return result
|
|
406
410
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
+
import { ethers, type TransactionResponse } from "ethers";
|
|
3
|
+
import { HexString, Payment, TrustSet } from "../../core/types/xrp";
|
|
4
|
+
export declare const chainIdToItsFee: Record<string, bigint>;
|
|
5
|
+
export declare const axelarChainToChainIdMap: Record<string, string>;
|
|
6
|
+
export declare const chainIdToItsAddressMap: Record<string, string>;
|
|
7
|
+
export declare const xrplGasFeeAmount: bigint;
|
|
8
|
+
/**
|
|
9
|
+
* Validates that a given address is a valid X-Address or a valid classic address.
|
|
10
|
+
*
|
|
11
|
+
* XRP has two types of addresses:
|
|
12
|
+
* - X-addresses (e.g XVfC9...pokKH)
|
|
13
|
+
* - Classic addresses (e.g r4bA...WHCG)
|
|
14
|
+
*/
|
|
15
|
+
export declare function isXrpAddressValid(address: string | undefined): boolean;
|
|
16
|
+
export declare function sendInterchainTransfer({ destinationAddress: toAddress, fromAmount: amount, fromToken, signer, toChain, fromChain, }: {
|
|
17
|
+
destinationAddress: string;
|
|
18
|
+
fromAmount: string;
|
|
19
|
+
fromToken: Token;
|
|
20
|
+
fromChain: ChainData;
|
|
21
|
+
toChain: ChainData;
|
|
22
|
+
signer: ethers.Signer;
|
|
23
|
+
}): Promise<TransactionResponse>;
|
|
24
|
+
export declare function hex(str: string | Uint8Array): string;
|
|
25
|
+
export declare function isHexString(str: string): boolean;
|
|
26
|
+
export declare function asHexString(str: string): HexString;
|
|
27
|
+
export declare function buildXrplPayment({ fromAmount, sourceAddress, destinationAddress, fromToken, toChain, }: {
|
|
28
|
+
fromAmount: string;
|
|
29
|
+
sourceAddress: string;
|
|
30
|
+
destinationAddress: string;
|
|
31
|
+
fromToken: string;
|
|
32
|
+
toChain: ChainData;
|
|
33
|
+
}): Partial<Payment>;
|
|
34
|
+
export declare function buildXrplTrustSet({ amount, sourceAddress, token, }: {
|
|
35
|
+
amount: string;
|
|
36
|
+
sourceAddress: string;
|
|
37
|
+
token: Token;
|
|
38
|
+
}): Partial<TrustSet>;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { AbiCoder, concat, ethers, getBytes, hexlify, parseUnits, randomBytes, } from "ethers";
|
|
3
|
+
import { isValidClassicAddress, isValidXAddress } from "ripple-address-codec";
|
|
4
|
+
import { CHAIN_IDS, nativeXrpTokenAddress, TESTNETS, } from "../../core/constants";
|
|
5
|
+
import { XRPL_CONFIG } from "../../core/xrp/config";
|
|
6
|
+
import { parseToBigInt } from "./numberService";
|
|
7
|
+
import { isWalletAddressValid } from "./walletService";
|
|
8
|
+
export const chainIdToItsFee = {
|
|
9
|
+
[CHAIN_IDS.XRPL_EVM]: parseUnits("0.5", 18),
|
|
10
|
+
[CHAIN_IDS.ETHEREUM_SEPOLIA]: parseUnits("0.002", 18),
|
|
11
|
+
[CHAIN_IDS.AVALANCHE_FUJI]: parseUnits("0.02", 18),
|
|
12
|
+
};
|
|
13
|
+
const chainIdToAxelarChainMap = {
|
|
14
|
+
[CHAIN_IDS.ETHEREUM_SEPOLIA]: "ethereum-sepolia",
|
|
15
|
+
[CHAIN_IDS.XRPL]: "xrpl",
|
|
16
|
+
[CHAIN_IDS.XRPL_EVM]: "xrpl-evm",
|
|
17
|
+
[CHAIN_IDS.AVALANCHE_FUJI]: "avalanche-fuji",
|
|
18
|
+
};
|
|
19
|
+
export const axelarChainToChainIdMap = {
|
|
20
|
+
"ethereum-sepolia": CHAIN_IDS.ETHEREUM_SEPOLIA,
|
|
21
|
+
xrpl: CHAIN_IDS.XRPL,
|
|
22
|
+
"xrpl-evm": CHAIN_IDS.XRPL_EVM,
|
|
23
|
+
"avalanche-fuji": CHAIN_IDS.AVALANCHE_FUJI,
|
|
24
|
+
};
|
|
25
|
+
export const chainIdToItsAddressMap = {
|
|
26
|
+
[CHAIN_IDS.ETHEREUM_SEPOLIA]: "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C",
|
|
27
|
+
[CHAIN_IDS.AVALANCHE_FUJI]: "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C",
|
|
28
|
+
[CHAIN_IDS.XRPL_EVM]: "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C",
|
|
29
|
+
};
|
|
30
|
+
export const xrplGasFeeAmount = parseUnits("3", 6);
|
|
31
|
+
/**
|
|
32
|
+
* Validates that a given address is a valid X-Address or a valid classic address.
|
|
33
|
+
*
|
|
34
|
+
* XRP has two types of addresses:
|
|
35
|
+
* - X-addresses (e.g XVfC9...pokKH)
|
|
36
|
+
* - Classic addresses (e.g r4bA...WHCG)
|
|
37
|
+
*/
|
|
38
|
+
export function isXrpAddressValid(address) {
|
|
39
|
+
if (!address)
|
|
40
|
+
return false;
|
|
41
|
+
return isValidXAddress(address) || isValidClassicAddress(address);
|
|
42
|
+
}
|
|
43
|
+
export async function sendInterchainTransfer({ destinationAddress: toAddress, fromAmount: amount, fromToken, signer, toChain, fromChain, }) {
|
|
44
|
+
if (!TESTNETS.includes(fromChain.chainId)) {
|
|
45
|
+
throw new Error(`Chain ${fromChain.chainId} is not supported`);
|
|
46
|
+
}
|
|
47
|
+
if (!isWalletAddressValid(toChain, toAddress)) {
|
|
48
|
+
throw new Error("Destination address is not a valid XRP address");
|
|
49
|
+
}
|
|
50
|
+
const tokenId = XRPL_CONFIG.ITS_TOKENS[fromToken.symbol];
|
|
51
|
+
if (!tokenId) {
|
|
52
|
+
throw new Error(`From token ${fromToken.symbol} is not supported`);
|
|
53
|
+
}
|
|
54
|
+
const fee = chainIdToItsFee[fromChain.chainId];
|
|
55
|
+
if (!fee) {
|
|
56
|
+
throw new Error(`Fee is missing for chain ${fromChain.chainId}`);
|
|
57
|
+
}
|
|
58
|
+
const destinationChain = chainIdToAxelarChainMap[toChain.chainId];
|
|
59
|
+
if (!destinationChain) {
|
|
60
|
+
throw new Error(`Destination chain ${toChain.chainId} is not supported`);
|
|
61
|
+
}
|
|
62
|
+
const ITS_ABI = [
|
|
63
|
+
"function interchainTransfer(bytes32 tokenId, string destinationChain, bytes destinationAddress, uint256 amount, bytes metadata, uint256 gasValue) external",
|
|
64
|
+
];
|
|
65
|
+
const itsContract = new ethers.Contract(chainIdToItsAddressMap[fromChain.chainId], ITS_ABI, signer);
|
|
66
|
+
const destinationAddress = toChain.chainType === ChainType.XRP
|
|
67
|
+
? convertXrplAddressToHex(toAddress)
|
|
68
|
+
: toAddress;
|
|
69
|
+
const metadata = "0x";
|
|
70
|
+
const tx = await itsContract.interchainTransfer(tokenId, destinationChain, destinationAddress, amount, metadata, fee, {
|
|
71
|
+
value: fee,
|
|
72
|
+
});
|
|
73
|
+
return tx;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Converts an XRPL address to a hex string
|
|
77
|
+
* to be able to send it through Axelar ITS
|
|
78
|
+
*/
|
|
79
|
+
function convertXrplAddressToHex(address) {
|
|
80
|
+
return `0x${hex(address)}`;
|
|
81
|
+
}
|
|
82
|
+
export function hex(str) {
|
|
83
|
+
return Buffer.from(str).toString("hex");
|
|
84
|
+
}
|
|
85
|
+
export function isHexString(str) {
|
|
86
|
+
return /^[a-fA-F0-9]+$/.test(str);
|
|
87
|
+
}
|
|
88
|
+
export function asHexString(str) {
|
|
89
|
+
if (!isHexString(str)) {
|
|
90
|
+
throw new Error(`Invalid hex string: ${str}`);
|
|
91
|
+
}
|
|
92
|
+
return str;
|
|
93
|
+
}
|
|
94
|
+
export function buildXrplPayment({ fromAmount, sourceAddress, destinationAddress, fromToken, toChain, }) {
|
|
95
|
+
const fromAmountBn = parseToBigInt(fromAmount, 6).toString();
|
|
96
|
+
const isXrpPayment = fromToken.toLowerCase() === nativeXrpTokenAddress.toLowerCase();
|
|
97
|
+
const amountObj = isXrpPayment
|
|
98
|
+
? fromAmountBn
|
|
99
|
+
: {
|
|
100
|
+
currency: "SQD",
|
|
101
|
+
issuer: XRPL_CONFIG.XRPL_AXELAR_MULTISIG_ADDRESS,
|
|
102
|
+
value: fromAmount,
|
|
103
|
+
};
|
|
104
|
+
const partialPayment = {
|
|
105
|
+
TransactionType: "Payment",
|
|
106
|
+
Account: sourceAddress,
|
|
107
|
+
Amount: amountObj,
|
|
108
|
+
Destination: XRPL_CONFIG.XRPL_AXELAR_MULTISIG_ADDRESS,
|
|
109
|
+
};
|
|
110
|
+
const isEvmDestination = toChain.chainType === ChainType.EVM;
|
|
111
|
+
const destinationChain = chainIdToAxelarChainMap[toChain.chainId];
|
|
112
|
+
const fee = fromToken.toLowerCase() === nativeXrpTokenAddress.toLowerCase()
|
|
113
|
+
? xrplGasFeeAmount.toString()
|
|
114
|
+
: "1";
|
|
115
|
+
let payload = null;
|
|
116
|
+
if (isEvmDestination) {
|
|
117
|
+
const squidPayload = AbiCoder.defaultAbiCoder().encode(["address", "bytes32"], [destinationAddress, hexlify(randomBytes(32))]);
|
|
118
|
+
const metadataVersionBytes = hexlify("0x");
|
|
119
|
+
payload = concat([getBytes(metadataVersionBytes), getBytes(squidPayload)]);
|
|
120
|
+
}
|
|
121
|
+
const squidEvmContractAddress = "0x9bEb991eDdF92528E6342Ec5f7B0846C24cbaB58";
|
|
122
|
+
const Memos = [
|
|
123
|
+
{
|
|
124
|
+
Memo: {
|
|
125
|
+
MemoType: hex("type"),
|
|
126
|
+
MemoData: hex("interchain_transfer"),
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
Memo: {
|
|
131
|
+
MemoType: hex("destination_address"),
|
|
132
|
+
MemoData: hex((isEvmDestination
|
|
133
|
+
? squidEvmContractAddress
|
|
134
|
+
: destinationAddress).replace("0x", "")),
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
Memo: {
|
|
139
|
+
MemoType: hex("destination_chain"),
|
|
140
|
+
MemoData: hex(destinationChain),
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
Memo: {
|
|
145
|
+
MemoType: hex("gas_fee_amount"),
|
|
146
|
+
MemoData: hex(fee),
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
];
|
|
150
|
+
// Don't need to add payload memo if it's empty.
|
|
151
|
+
if (payload) {
|
|
152
|
+
Memos.push({
|
|
153
|
+
Memo: {
|
|
154
|
+
MemoType: hex("payload"),
|
|
155
|
+
MemoData: payload.replace("0x", ""),
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
...partialPayment,
|
|
161
|
+
Memos,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
export function buildXrplTrustSet({ amount, sourceAddress, token, }) {
|
|
165
|
+
// const amountFormatted = formatBNToReadable(amount, token.decimals).toString();
|
|
166
|
+
const [currency, issuer] = token.address.split(".");
|
|
167
|
+
const a = {
|
|
168
|
+
TransactionType: "TrustSet",
|
|
169
|
+
Account: sourceAddress,
|
|
170
|
+
LimitAmount: {
|
|
171
|
+
currency,
|
|
172
|
+
issuer,
|
|
173
|
+
value: amount,
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
return a;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=xrpService.js.map
|