@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.
Files changed (60) hide show
  1. package/dist/cjs/config/networks.d.ts +3 -0
  2. package/dist/cjs/config/networks.d.ts.map +1 -0
  3. package/dist/cjs/config/networks.js.map +1 -0
  4. package/dist/cjs/controllers/swap-sdk.controller.cjs +3 -3
  5. package/dist/cjs/controllers/swap-sdk.controller.d.ts +1 -2
  6. package/dist/cjs/controllers/swap-sdk.controller.d.ts.map +1 -1
  7. package/dist/cjs/controllers/swap-sdk.controller.js.map +1 -1
  8. package/dist/cjs/index.cjs +8 -8
  9. package/dist/cjs/index.d.ts +1 -1
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/services/swap.service.d.ts +1 -2
  13. package/dist/cjs/services/swap.service.d.ts.map +1 -1
  14. package/dist/cjs/services/swap.service.js.map +1 -1
  15. package/dist/cjs/services/wallet.service.d.ts +1 -1
  16. package/dist/cjs/services/wallet.service.d.ts.map +1 -1
  17. package/dist/cjs/types/index.d.ts +12 -1
  18. package/dist/cjs/types/index.d.ts.map +1 -1
  19. package/dist/cjs/types/index.js.map +1 -1
  20. package/dist/config/networks.d.ts +3 -0
  21. package/dist/config/networks.d.ts.map +1 -0
  22. package/dist/controllers/swap-sdk.controller.d.ts +26 -0
  23. package/dist/controllers/swap-sdk.controller.d.ts.map +1 -0
  24. package/dist/esm/config/networks.d.ts +3 -0
  25. package/dist/esm/config/networks.d.ts.map +1 -0
  26. package/dist/esm/config/networks.js.map +1 -0
  27. package/dist/esm/controllers/swap-sdk.controller.d.ts +1 -2
  28. package/dist/esm/controllers/swap-sdk.controller.d.ts.map +1 -1
  29. package/dist/esm/controllers/swap-sdk.controller.js.map +1 -1
  30. package/dist/esm/index.d.ts +1 -1
  31. package/dist/esm/index.d.ts.map +1 -1
  32. package/dist/esm/index.js +2 -2
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/services/swap.service.d.ts +1 -2
  35. package/dist/esm/services/swap.service.d.ts.map +1 -1
  36. package/dist/esm/services/swap.service.js.map +1 -1
  37. package/dist/esm/services/wallet.service.d.ts +1 -1
  38. package/dist/esm/services/wallet.service.d.ts.map +1 -1
  39. package/dist/esm/types/index.d.ts +12 -1
  40. package/dist/esm/types/index.d.ts.map +1 -1
  41. package/dist/esm/types/index.js.map +1 -1
  42. package/dist/index.d.ts +15 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/services/swap.service.d.ts +108 -0
  45. package/dist/services/swap.service.d.ts.map +1 -0
  46. package/dist/services/wallet.service.d.ts +21 -0
  47. package/dist/services/wallet.service.d.ts.map +1 -0
  48. package/dist/types/index.d.ts +82 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/umd/index.js +2 -0
  51. package/dist/umd/index.js.LICENSE.txt +12 -0
  52. package/package.json +11 -31
  53. package/dist/cjs/types/networks.d.ts +0 -14
  54. package/dist/cjs/types/networks.d.ts.map +0 -1
  55. package/dist/cjs/types/networks.js.map +0 -1
  56. package/dist/esm/types/networks.d.ts +0 -14
  57. package/dist/esm/types/networks.d.ts.map +0 -1
  58. package/dist/esm/types/networks.js.map +0 -1
  59. /package/dist/cjs/{types → config}/networks.cjs +0 -0
  60. /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,mBAAmB,CAAC;AAEzD,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
+ {"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":"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"}
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":"AAwDA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6EAAqB,CAAA;IACrB,6DAAa,CAAA;IACb,2DAAY,CAAA;AACd,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
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"}
@@ -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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"}