@kaspacom/swap-sdk 1.0.9 → 1.0.10
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/cjs/config/networks.d.ts +3 -0
- package/dist/cjs/config/networks.d.ts.map +1 -0
- package/dist/cjs/config/networks.js.map +1 -0
- package/dist/cjs/controllers/swap-sdk.controller.cjs +3 -3
- package/dist/cjs/controllers/swap-sdk.controller.d.ts +1 -2
- package/dist/cjs/controllers/swap-sdk.controller.d.ts.map +1 -1
- package/dist/cjs/controllers/swap-sdk.controller.js.map +1 -1
- package/dist/cjs/index.cjs +8 -8
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/swap.service.d.ts +1 -2
- package/dist/cjs/services/swap.service.d.ts.map +1 -1
- package/dist/cjs/services/swap.service.js.map +1 -1
- package/dist/cjs/services/wallet.service.d.ts +1 -1
- package/dist/cjs/services/wallet.service.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +12 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/config/networks.d.ts +3 -0
- package/dist/config/networks.d.ts.map +1 -0
- package/dist/controllers/swap-sdk.controller.d.ts +26 -0
- package/dist/controllers/swap-sdk.controller.d.ts.map +1 -0
- package/dist/esm/config/networks.d.ts +3 -0
- package/dist/esm/config/networks.d.ts.map +1 -0
- package/dist/esm/config/networks.js.map +1 -0
- package/dist/esm/controllers/swap-sdk.controller.d.ts +1 -2
- package/dist/esm/controllers/swap-sdk.controller.d.ts.map +1 -1
- package/dist/esm/controllers/swap-sdk.controller.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/swap.service.d.ts +1 -2
- package/dist/esm/services/swap.service.d.ts.map +1 -1
- package/dist/esm/services/swap.service.js.map +1 -1
- package/dist/esm/services/wallet.service.d.ts +1 -1
- package/dist/esm/services/wallet.service.d.ts.map +1 -1
- package/dist/esm/types/index.d.ts +12 -1
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/services/swap.service.d.ts +108 -0
- package/dist/services/swap.service.d.ts.map +1 -0
- package/dist/services/wallet.service.d.ts +21 -0
- package/dist/services/wallet.service.d.ts.map +1 -0
- package/dist/types/index.d.ts +82 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/umd/index.js +2 -0
- package/dist/umd/index.js.LICENSE.txt +12 -0
- package/package.json +11 -31
- package/dist/cjs/types/networks.d.ts +0 -14
- package/dist/cjs/types/networks.d.ts.map +0 -1
- package/dist/cjs/types/networks.js.map +0 -1
- package/dist/esm/types/networks.d.ts +0 -14
- package/dist/esm/types/networks.d.ts.map +0 -1
- package/dist/esm/types/networks.js.map +0 -1
- /package/dist/cjs/{types → config}/networks.cjs +0 -0
- /package/dist/esm/{types → config}/networks.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAkB;gBAGvC,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,CAAC,EAAE,eAAe;IAa9B,OAAO,CAAC,gBAAgB,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAyElE,UAAU,IAAI,IAAI;IAKlB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,WAAW,IAAI,eAAe,GAAG,eAAe,GAAG,IAAI;IAIvD,SAAS,IAAI,MAAM,GAAG,IAAI;IAKpB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAWpC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBtC,gBAAgB;CAIjB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Trade } from "@uniswap/v2-sdk";
|
|
2
|
-
import { SwapSdkNetworkConfig } from "./networks";
|
|
3
2
|
import { Currency, TradeType } from "@uniswap/sdk-core";
|
|
4
3
|
import { Eip1193Provider } from "ethers";
|
|
5
4
|
export interface Erc20Token {
|
|
@@ -68,4 +67,16 @@ export interface SwapControllerOutput {
|
|
|
68
67
|
computed?: ComputedAmounts;
|
|
69
68
|
loader: LoaderStatuses | null;
|
|
70
69
|
}
|
|
70
|
+
export interface SwapSdkNetworkConfig {
|
|
71
|
+
name: string;
|
|
72
|
+
chainId: number;
|
|
73
|
+
rpcUrl: string;
|
|
74
|
+
routerAddress: string;
|
|
75
|
+
factoryAddress: string;
|
|
76
|
+
proxyAddress?: string;
|
|
77
|
+
wethAddress: string;
|
|
78
|
+
graphEndpoint: string;
|
|
79
|
+
blockExplorerUrl?: string;
|
|
80
|
+
additionalJsonRpcApiProviderOptionsOptions?: any;
|
|
81
|
+
}
|
|
71
82
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAuDA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6EAAqB,CAAA;IACrB,6DAAa,CAAA;IACb,2DAAY,CAAA;AACd,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export { WalletService } from './services/wallet.service';
|
|
3
|
+
export { SwapService } from './services/swap.service';
|
|
4
|
+
import { SwapSdkController } from './controllers/swap-sdk.controller';
|
|
5
|
+
export { SwapSdkController } from './controllers/swap-sdk.controller';
|
|
6
|
+
import { SwapSdkOptions } from './types';
|
|
7
|
+
export { NETWORKS } from './config/networks';
|
|
8
|
+
export { DEFAULT_SETTINGS as DEFAULT_SWAP_SETTINGS } from './controllers/swap-sdk.controller';
|
|
9
|
+
/**
|
|
10
|
+
* Create a new headless swap controller
|
|
11
|
+
* @param options Configuration options for the controller
|
|
12
|
+
* @returns SwapSdkController instance
|
|
13
|
+
*/
|
|
14
|
+
export declare function createKaspaComSwapController(options: SwapSdkOptions): SwapSdkController;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE9F;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAWvF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Contract, Signer, BrowserProvider, JsonRpcProvider, ContractTransactionResponse, TransactionResponse } from 'ethers';
|
|
2
|
+
import { Currency, Token, TradeType } from '@uniswap/sdk-core';
|
|
3
|
+
import { Trade, Pair } from '@uniswap/v2-sdk';
|
|
4
|
+
import { ComputedAmounts, Erc20Token, SwapSdkNetworkConfig, SwapSdkOptions } from '../types';
|
|
5
|
+
export declare const PARTNER_FEE_BPS_DIVISOR = 10000n;
|
|
6
|
+
export declare class SwapService {
|
|
7
|
+
private config;
|
|
8
|
+
private swapOptions;
|
|
9
|
+
private provider;
|
|
10
|
+
private signer;
|
|
11
|
+
private routerContract;
|
|
12
|
+
private factoryContract;
|
|
13
|
+
private proxyContract?;
|
|
14
|
+
private wethAddress;
|
|
15
|
+
private chainId;
|
|
16
|
+
private pairs;
|
|
17
|
+
private pairsLoadedPromise;
|
|
18
|
+
private resolvePairsLoaded;
|
|
19
|
+
private partnerFeeLoadedPromise;
|
|
20
|
+
private resolvePartnerFeeLoaded;
|
|
21
|
+
private partnerFee;
|
|
22
|
+
private isFeeActive;
|
|
23
|
+
private wethToken;
|
|
24
|
+
constructor(provider: BrowserProvider | JsonRpcProvider, config: SwapSdkNetworkConfig, swapOptions: SwapSdkOptions);
|
|
25
|
+
loadPartnerFee(): Promise<bigint>;
|
|
26
|
+
setSigner(signer: Signer): void;
|
|
27
|
+
/**
|
|
28
|
+
* Rounds a number string to the specified number of decimal places
|
|
29
|
+
* to avoid parseUnits errors with too many decimals
|
|
30
|
+
*/
|
|
31
|
+
private roundToDecimals;
|
|
32
|
+
/**
|
|
33
|
+
* Loads all pairs from The Graph and caches them as Uniswap SDK Pair instances.
|
|
34
|
+
* @param graphEndpoint The GraphQL endpoint URL
|
|
35
|
+
*/
|
|
36
|
+
loadAllPairsFromGraph(): Promise<void>;
|
|
37
|
+
waitForPairsLoaded(): Promise<void>;
|
|
38
|
+
waitForPartnerFeeLoaded(): Promise<void>;
|
|
39
|
+
createSDKPair(pair: {
|
|
40
|
+
id: string;
|
|
41
|
+
token0: {
|
|
42
|
+
id: string;
|
|
43
|
+
symbol: string;
|
|
44
|
+
name: string;
|
|
45
|
+
decimals: string | number;
|
|
46
|
+
};
|
|
47
|
+
token1: {
|
|
48
|
+
id: string;
|
|
49
|
+
symbol: string;
|
|
50
|
+
name: string;
|
|
51
|
+
decimals: string | number;
|
|
52
|
+
};
|
|
53
|
+
reserve0?: string;
|
|
54
|
+
reserve1?: string;
|
|
55
|
+
positionValueUsd?: number;
|
|
56
|
+
totalTokens?: number;
|
|
57
|
+
}): Pair;
|
|
58
|
+
/**
|
|
59
|
+
* Returns the cached pairs for use in routing.
|
|
60
|
+
*/
|
|
61
|
+
getPairs(): Pair[];
|
|
62
|
+
/**
|
|
63
|
+
* Finds the best trade path using Uniswap SDK for a given input amount.
|
|
64
|
+
* Returns the best path as an array of addresses, or null if no trade found.
|
|
65
|
+
*/
|
|
66
|
+
private getBestTrade;
|
|
67
|
+
private trimTrailingZeros;
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* @param sellToken
|
|
71
|
+
* @param buyToken
|
|
72
|
+
* @param targetAmount
|
|
73
|
+
* @param isOutputAmount true if user input output (How much tokens to receive) and not input (how much tokens to sell)
|
|
74
|
+
* @param slippage
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
calculateTrade(sellToken: Erc20Token, buyToken: Erc20Token, targetAmount: string, isOutputAmount: boolean, slippage: string): Promise<{
|
|
78
|
+
trade: Trade<Currency, Currency, TradeType.EXACT_INPUT> | Trade<Currency, Currency, TradeType.EXACT_OUTPUT>;
|
|
79
|
+
computed: ComputedAmounts;
|
|
80
|
+
}>;
|
|
81
|
+
checkApproval(tokenAddress: string, amount: string, spenderAddress: string): Promise<boolean>;
|
|
82
|
+
isApprovalNeeded(fromToken: Erc20Token, amountInWei: bigint): Promise<{
|
|
83
|
+
isApprovalNeeded: boolean;
|
|
84
|
+
tokenContract?: Contract;
|
|
85
|
+
signerAddress?: string;
|
|
86
|
+
allowanceTo?: string;
|
|
87
|
+
}>;
|
|
88
|
+
approveIfNeedApproval(fromToken: Erc20Token, amountInWei: bigint): Promise<ContractTransactionResponse | null>;
|
|
89
|
+
swapTokens(fromToken: Erc20Token, toToken: Erc20Token, amountInWei: string, amountOutWei: string, path: string[], isOutputAmount: boolean, deadline: number): Promise<TransactionResponse>;
|
|
90
|
+
getPairAddress(tokenA: string, tokenB: string): Promise<string>;
|
|
91
|
+
checkLiquidityExists(tokenA: string, tokenB: string): Promise<boolean>;
|
|
92
|
+
createTrade(fromToken: Erc20Token, toToken: Erc20Token, amountIn: string, slippageTolerance?: number): Promise<Trade<Token, Token, TradeType>>;
|
|
93
|
+
/**
|
|
94
|
+
* Fetch tokens from the graph endpoint (subgraph)
|
|
95
|
+
* @param graphEndpoint The GraphQL endpoint URL
|
|
96
|
+
* @param search Optional search string for symbol or name
|
|
97
|
+
*/
|
|
98
|
+
getTokensFromGraph(limit?: number, search?: string): Promise<Erc20Token[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Concatenates bytes: selector, array of bytes (each element is Uint8Array), array length (uint8, 1 byte), marker (bytes16(keccak256(markerString)))
|
|
101
|
+
* @param selectorBytes Uint8Array — function selector (usually 4 bytes)
|
|
102
|
+
* @param arrayOfBytes Uint8Array[] — array of bytes (each element is Uint8Array)
|
|
103
|
+
* @param markerString string — string from which bytes16(keccak256(...)) will be derived
|
|
104
|
+
* @returns Uint8Array — concatenated result
|
|
105
|
+
*/
|
|
106
|
+
private concatSelectorAndParams;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=swap.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swap.service.d.ts","sourceRoot":"","sources":["../../src/services/swap.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BrowserProvider, JsonRpcProvider, Signer, Eip1193Provider } from 'ethers';
|
|
2
|
+
import { SwapSdkNetworkConfig } from '../types';
|
|
3
|
+
export declare class WalletService {
|
|
4
|
+
private networkProvider;
|
|
5
|
+
private signer;
|
|
6
|
+
private address;
|
|
7
|
+
private config;
|
|
8
|
+
private injectedProvider?;
|
|
9
|
+
private walletProvider?;
|
|
10
|
+
constructor(config: SwapSdkNetworkConfig, injectedProvider?: Eip1193Provider);
|
|
11
|
+
connect(injectedProvider?: Eip1193Provider): Promise<string>;
|
|
12
|
+
disconnect(): void;
|
|
13
|
+
isConnected(): boolean;
|
|
14
|
+
getAddress(): string | null;
|
|
15
|
+
getProvider(): BrowserProvider | JsonRpcProvider | null;
|
|
16
|
+
getSigner(): Signer | null;
|
|
17
|
+
getCurrentChainId(): Promise<number>;
|
|
18
|
+
connectWallet(): Promise<string>;
|
|
19
|
+
disconnectWallet(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=wallet.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../src/services/wallet.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAkB;gBAGvC,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,CAAC,EAAE,eAAe;IAa9B,OAAO,CAAC,gBAAgB,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAyElE,UAAU,IAAI,IAAI;IAKlB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,WAAW,IAAI,eAAe,GAAG,eAAe,GAAG,IAAI;IAIvD,SAAS,IAAI,MAAM,GAAG,IAAI;IAKpB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAWpC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBtC,gBAAgB;CAIjB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Trade } from "@uniswap/v2-sdk";
|
|
2
|
+
import { Currency, TradeType } from "@uniswap/sdk-core";
|
|
3
|
+
import { Eip1193Provider } from "ethers";
|
|
4
|
+
export interface Erc20Token {
|
|
5
|
+
address: string;
|
|
6
|
+
symbol: string;
|
|
7
|
+
name: string;
|
|
8
|
+
decimals: number;
|
|
9
|
+
balance?: number;
|
|
10
|
+
rawBalance?: string;
|
|
11
|
+
logoURI?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface SwapSettings {
|
|
14
|
+
maxSlippage: string;
|
|
15
|
+
swapDeadline: number;
|
|
16
|
+
}
|
|
17
|
+
export interface SwapState {
|
|
18
|
+
needsApproval: boolean;
|
|
19
|
+
isApproved: boolean;
|
|
20
|
+
isApproving: boolean;
|
|
21
|
+
isSwapping: boolean;
|
|
22
|
+
error: string | null;
|
|
23
|
+
success: boolean;
|
|
24
|
+
transactionHash: string | null;
|
|
25
|
+
status: string | null;
|
|
26
|
+
expectedAmountOut: string | null;
|
|
27
|
+
isCalculating: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface SwapSectionData {
|
|
30
|
+
title: string;
|
|
31
|
+
amount: string;
|
|
32
|
+
usdValue: string;
|
|
33
|
+
}
|
|
34
|
+
export interface SwapSdkOptions {
|
|
35
|
+
networkConfig: SwapSdkNetworkConfig | string;
|
|
36
|
+
walletProvider?: Eip1193Provider;
|
|
37
|
+
partnerKey?: string;
|
|
38
|
+
onChange?: (state: SwapControllerOutput, patch: Partial<SwapControllerOutput>) => Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
export interface SwapControllerInput {
|
|
41
|
+
fromToken?: Erc20Token | null;
|
|
42
|
+
toToken?: Erc20Token | null;
|
|
43
|
+
amount?: number;
|
|
44
|
+
isOutputAmount?: boolean;
|
|
45
|
+
settings?: Partial<SwapSettings>;
|
|
46
|
+
}
|
|
47
|
+
export declare enum LoaderStatuses {
|
|
48
|
+
CALCULATING_QUOTE = 1,
|
|
49
|
+
APPROVING = 2,
|
|
50
|
+
SWAPPING = 3
|
|
51
|
+
}
|
|
52
|
+
export interface ComputedAmounts {
|
|
53
|
+
maxAmountIn?: string;
|
|
54
|
+
minAmountOut?: string;
|
|
55
|
+
amountIn: string;
|
|
56
|
+
amountOut: string;
|
|
57
|
+
amountInRaw: string;
|
|
58
|
+
amountOutRaw: string;
|
|
59
|
+
maxAmountInRaw?: string;
|
|
60
|
+
minAmountOutRaw?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface SwapControllerOutput {
|
|
63
|
+
error?: string;
|
|
64
|
+
txHash?: string;
|
|
65
|
+
approveTxHash?: string;
|
|
66
|
+
tradeInfo?: Trade<Currency, Currency, TradeType.EXACT_INPUT> | Trade<Currency, Currency, TradeType.EXACT_OUTPUT>;
|
|
67
|
+
computed?: ComputedAmounts;
|
|
68
|
+
loader: LoaderStatuses | null;
|
|
69
|
+
}
|
|
70
|
+
export interface SwapSdkNetworkConfig {
|
|
71
|
+
name: string;
|
|
72
|
+
chainId: number;
|
|
73
|
+
rpcUrl: string;
|
|
74
|
+
routerAddress: string;
|
|
75
|
+
factoryAddress: string;
|
|
76
|
+
proxyAddress?: string;
|
|
77
|
+
wethAddress: string;
|
|
78
|
+
graphEndpoint: string;
|
|
79
|
+
blockExplorerUrl?: string;
|
|
80
|
+
additionalJsonRpcApiProviderOptionsOptions?: any;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|