@folks-router/js-sdk 0.4.0 → 0.5.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/FolksRouterClient.d.mts +2 -1
- package/dist/FolksRouterClient.d.ts +2 -1
- package/dist/FolksRouterClient.js +3 -3
- package/dist/FolksRouterClient.mjs +2 -2
- package/dist/checks.js +1 -1
- package/dist/checks.mjs +1 -1
- package/dist/{chunk-CV77XZT3.mjs → chunk-A42RM7RK.mjs} +1 -1
- package/dist/chunk-A42RM7RK.mjs.map +1 -0
- package/dist/{chunk-VPHDL2GP.js → chunk-ATKFNBCY.js} +11 -1
- package/dist/chunk-ATKFNBCY.js.map +1 -0
- package/dist/{chunk-YPK7GFUE.mjs → chunk-MQ4K4P2T.mjs} +11 -1
- package/dist/chunk-MQ4K4P2T.mjs.map +1 -0
- package/dist/{chunk-MEC4OKES.js → chunk-TCD6JCIP.js} +1 -1
- package/dist/chunk-TCD6JCIP.js.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/types.d.mts +9 -1
- package/dist/types.d.ts +9 -1
- package/dist/types.js +2 -2
- package/dist/types.mjs +1 -1
- package/package.json +2 -2
- package/dist/chunk-CV77XZT3.mjs.map +0 -1
- package/dist/chunk-MEC4OKES.js.map +0 -1
- package/dist/chunk-VPHDL2GP.js.map +0 -1
- package/dist/chunk-YPK7GFUE.mjs.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Network, SwapParams, SwapQuote, SwapTransactions } from './types.mjs';
|
|
1
|
+
import { Network, DiscountTiers, SwapParams, SwapQuote, SwapTransactions } from './types.mjs';
|
|
2
2
|
|
|
3
3
|
declare class FolksRouterClient {
|
|
4
4
|
private readonly network;
|
|
5
5
|
private readonly api;
|
|
6
6
|
constructor(network: Network, apiKey?: string);
|
|
7
|
+
fetchDiscountTiers(): Promise<DiscountTiers>;
|
|
7
8
|
fetchUserDiscount(userAddress: string): Promise<number>;
|
|
8
9
|
fetchSwapQuote(params: SwapParams, maxGroupSize?: number, feeBps?: number | bigint, userFeeDiscount?: number | bigint, referrer?: string): Promise<SwapQuote>;
|
|
9
10
|
prepareSwapTransactions(params: SwapParams, userAddress: string, slippageBps: number | bigint, swapQuote: SwapQuote): Promise<SwapTransactions>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Network, SwapParams, SwapQuote, SwapTransactions } from './types.js';
|
|
1
|
+
import { Network, DiscountTiers, SwapParams, SwapQuote, SwapTransactions } from './types.js';
|
|
2
2
|
|
|
3
3
|
declare class FolksRouterClient {
|
|
4
4
|
private readonly network;
|
|
5
5
|
private readonly api;
|
|
6
6
|
constructor(network: Network, apiKey?: string);
|
|
7
|
+
fetchDiscountTiers(): Promise<DiscountTiers>;
|
|
7
8
|
fetchUserDiscount(userAddress: string): Promise<number>;
|
|
8
9
|
fetchSwapQuote(params: SwapParams, maxGroupSize?: number, feeBps?: number | bigint, userFeeDiscount?: number | bigint, referrer?: string): Promise<SwapQuote>;
|
|
9
10
|
prepareSwapTransactions(params: SwapParams, userAddress: string, slippageBps: number | bigint, swapQuote: SwapQuote): Promise<SwapTransactions>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkATKFNBCYjs = require('./chunk-ATKFNBCY.js');
|
|
4
4
|
require('./chunk-35AIBYIP.js');
|
|
5
5
|
require('./chunk-WSXBJBEU.js');
|
|
6
6
|
require('./chunk-IVNVWRCM.js');
|
|
7
|
-
require('./chunk-
|
|
7
|
+
require('./chunk-TCD6JCIP.js');
|
|
8
8
|
require('./chunk-OM7CUUOV.js');
|
|
9
9
|
require('./chunk-WKV4G7E6.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.FolksRouterClient =
|
|
12
|
+
exports.FolksRouterClient = _chunkATKFNBCYjs.FolksRouterClient;
|
|
13
13
|
//# sourceMappingURL=FolksRouterClient.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FolksRouterClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MQ4K4P2T.mjs";
|
|
4
4
|
import "./chunk-B3QVYTBC.mjs";
|
|
5
5
|
import "./chunk-VGT24JDM.mjs";
|
|
6
6
|
import "./chunk-YMVA5ZDD.mjs";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-A42RM7RK.mjs";
|
|
8
8
|
import "./chunk-JUBOHIQC.mjs";
|
|
9
9
|
import "./chunk-EYGQH356.mjs";
|
|
10
10
|
export {
|
package/dist/checks.js
CHANGED
package/dist/checks.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["type ReferrerGroupTransaction = {\n unsignedTxn: Uint8Array;\n lsig?: Uint8Array;\n}[];\n\nenum Network {\n MAINNET = \"mainnet\",\n TESTNET = \"testnet\",\n}\n\nexport type Tier = {\n amount: bigint;\n discount: number; // 0 d.p. (20=20%)\n};\n\nexport type DiscountTiers = {\n assetId: number;\n tiers: Array<Tier>;\n};\n\nenum SwapMode {\n FIXED_INPUT = \"FIXED_INPUT\",\n FIXED_OUTPUT = \"FIXED_OUTPUT\",\n}\n\ninterface SwapParams {\n fromAssetId: number;\n toAssetId: number;\n amount: number | bigint;\n swapMode: SwapMode;\n}\n\ninterface SwapQuote {\n quoteAmount: bigint;\n priceImpact: number;\n microalgoTxnsFee: number;\n txnPayload: string;\n}\n\ntype SwapTransactions = string[];\n\nexport { ReferrerGroupTransaction, Network, SwapMode, SwapParams, SwapQuote, SwapTransactions };\n"],"mappings":";AAKA,IAAK,UAAL,kBAAKA,aAAL;AACE,EAAAA,SAAA,aAAU;AACV,EAAAA,SAAA,aAAU;AAFP,SAAAA;AAAA,GAAA;AAeL,IAAK,WAAL,kBAAKC,cAAL;AACE,EAAAA,UAAA,iBAAc;AACd,EAAAA,UAAA,kBAAe;AAFZ,SAAAA;AAAA,GAAA;","names":["Network","SwapMode"]}
|
|
@@ -17,6 +17,16 @@ var FolksRouterClient = class {
|
|
|
17
17
|
this.network = network;
|
|
18
18
|
this.api = _axios2.default.create({ baseURL: url, headers: { "x-api-key": apiKey } });
|
|
19
19
|
}
|
|
20
|
+
async fetchDiscountTiers() {
|
|
21
|
+
const { data } = await this.api.get("/fetch/tiers", {
|
|
22
|
+
params: {
|
|
23
|
+
network: this.network
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (!data.success) throw Error(data.errors);
|
|
27
|
+
data.result.tiers = data.result.tiers.map(({ amount, discount }) => ({ amount: BigInt(amount), discount }));
|
|
28
|
+
return data.result;
|
|
29
|
+
}
|
|
20
30
|
async fetchUserDiscount(userAddress) {
|
|
21
31
|
const { data } = await this.api.get("/fetch/discount", {
|
|
22
32
|
params: {
|
|
@@ -71,4 +81,4 @@ var FolksRouterClient = class {
|
|
|
71
81
|
|
|
72
82
|
|
|
73
83
|
exports.FolksRouterClient = FolksRouterClient;
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-ATKFNBCY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-ATKFNBCY.js","../src/FolksRouterClient.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACJA,kCAAuD;AACvD,4EAAqC;AAIrC,IAAM,SAAA,EAAW,4BAAA;AAEV,IAAM,kBAAA,EAAN,MAAwB;AAAA,EAI7B,WAAA,CAAY,OAAA,EAAkB,MAAA,EAAiB;AAE7C,IAAA,IAAI,IAAA,EAAM,QAAA;AACV,IAAA,GAAA,CAAI,QAAA,IAAA,uBAAA,EAA6B,IAAA,GAAO,UAAA;AACxC,IAAA,IAAA,GAAO,KAAA;AACP,IAAA,GAAA,CAAI,OAAA,IAAW,KAAA,CAAA,EAAW;AACxB,MAAA,IAAA,GAAO,MAAA;AAAA,IACT;AAGA,IAAA,IAAA,CAAK,QAAA,EAAU,OAAA;AACf,IAAA,IAAA,CAAK,IAAA,EAAM,eAAA,CAAM,MAAA,CAAO,EAAE,OAAA,EAAS,GAAA,EAAK,OAAA,EAAS,EAAE,WAAA,EAAa,OAAO,EAAE,CAAC,CAAA;AAAA,EAC5E;AAAA,EAEA,MAAa,kBAAA,CAAA,EAA6C;AACxD,IAAA,MAAM,EAAE,KAAK,EAAA,EAAI,MAAM,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,cAAA,EAAgB;AAAA,MAClD,MAAA,EAAQ;AAAA,QACN,OAAA,EAAS,IAAA,CAAK;AAAA,MAChB;AAAA,IACF,CAAC,CAAA;AACD,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,OAAA,EAAS,MAAM,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAG1C,IAAA,IAAA,CAAK,MAAA,CAAO,MAAA,EAAQ,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,GAAA,CAAI,CAAC,EAAE,MAAA,EAAQ,SAAS,CAAA,EAAA,GAAA,CAAO,EAAE,MAAA,EAAQ,MAAA,CAAO,MAAM,CAAA,EAAG,SAAS,CAAA,CAAE,CAAA;AAE1G,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AAAA,EAEA,MAAa,iBAAA,CAAkB,WAAA,EAAsC;AACnE,IAAA,MAAM,EAAE,KAAK,EAAA,EAAI,MAAM,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,iBAAA,EAAmB;AAAA,MACrD,MAAA,EAAQ;AAAA,QACN,OAAA,EAAS,IAAA,CAAK,OAAA;AAAA,QACd;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AACD,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,OAAA,EAAS,MAAM,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAE1C,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AAAA,EAEA,MAAa,cAAA,CACX,MAAA,EACA,YAAA,EACA,MAAA,EACA,eAAA,EACA,QAAA,EACoB;AACpB,IAAA,MAAM,EAAE,WAAA,EAAa,SAAA,EAAW,MAAA,EAAQ,SAAS,EAAA,EAAI,MAAA;AAErD,IAAA,MAAM,EAAE,KAAK,EAAA,EAAI,MAAM,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,cAAA,EAAgB;AAAA,MAClD,MAAA,EAAQ;AAAA,QACN,OAAA,EAAS,IAAA,CAAK,OAAA;AAAA,QACd,SAAA,EAAW,WAAA;AAAA,QACX,OAAA,EAAS,SAAA;AAAA,QACT,MAAA;AAAA,QACA,IAAA,EAAM,QAAA;AAAA,QACN,YAAA;AAAA,QACA,MAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AACD,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,OAAA,EAAS,MAAM,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAE1C,IAAA,MAAM,EAAE,WAAA,EAAa,WAAA,EAAa,gBAAA,EAAkB,WAAW,EAAA,EAAI,IAAA,CAAK,MAAA;AAExE,IAAA,OAAO;AAAA,MACL,WAAA,EAAa,MAAA,CAAO,WAAW,CAAA;AAAA,MAC/B,WAAA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA,IACF,CAAA;AAAA,EACF;AAAA,EAEA,MAAa,uBAAA,CACX,MAAA,EACA,WAAA,EACA,WAAA,EACA,SAAA,EAC2B;AAE3B,IAAA,MAAM,EAAE,KAAK,EAAA,EAAI,MAAM,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,eAAA,EAAiB;AAAA,MACnD,MAAA,EAAQ;AAAA,QACN,WAAA;AAAA,QACA,WAAA;AAAA,QACA,UAAA,EAAY,SAAA,CAAU;AAAA,MACxB;AAAA,IACF,CAAC,CAAA;AACD,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,OAAA,EAAS,MAAM,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAG1C,IAAA,MAAM,aAAA,EAA8B,IAAA,CAAK,MAAA,CAAO,GAAA;AAAA,MAAI,CAAC,GAAA,EAAA,GACnD,gDAAA,MAA0B,CAAO,IAAA,CAAK,GAAA,EAAK,QAAQ,CAAC;AAAA,IACtD,CAAA;AACA,IAAA,oDAAA,IAAsB,CAAK,OAAA,EAAS,YAAA,EAAc,MAAA,EAAQ,WAAA,EAAa,WAAA,EAAa,SAAS,CAAA;AAG7F,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AACF,CAAA;AD/BA;AACA;AACE;AACF,8CAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-ATKFNBCY.js","sourcesContent":[null,"import { decodeUnsignedTransaction, Transaction } from \"algosdk\";\nimport axios, { AxiosInstance } from \"axios\";\nimport { DiscountTiers, Network, SwapParams, SwapQuote, SwapTransactions, Tier } from \"./types\";\nimport { checkSwapTransactions } from \"./checks\";\n\nconst BASE_URL = \"https://api.folksrouter.io\";\n\nexport class FolksRouterClient {\n private readonly network: Network;\n private readonly api: AxiosInstance;\n\n constructor(network: Network, apiKey?: string) {\n // construct url\n let url = BASE_URL;\n if (network === Network.TESTNET) url += \"/testnet\";\n url += \"/v2\";\n if (apiKey !== undefined) {\n url += \"/pro\";\n }\n\n // set\n this.network = network;\n this.api = axios.create({ baseURL: url, headers: { \"x-api-key\": apiKey } });\n }\n\n public async fetchDiscountTiers(): Promise<DiscountTiers> {\n const { data } = await this.api.get(\"/fetch/tiers\", {\n params: {\n network: this.network,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n // @ts-ignore\n data.result.tiers = data.result.tiers.map(({ amount, discount }) => ({ amount: BigInt(amount), discount }));\n\n return data.result;\n }\n\n public async fetchUserDiscount(userAddress: string): Promise<number> {\n const { data } = await this.api.get(\"/fetch/discount\", {\n params: {\n network: this.network,\n userAddress,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n return data.result;\n }\n\n public async fetchSwapQuote(\n params: SwapParams,\n maxGroupSize?: number,\n feeBps?: number | bigint,\n userFeeDiscount?: number | bigint,\n referrer?: string,\n ): Promise<SwapQuote> {\n const { fromAssetId, toAssetId, amount, swapMode } = params;\n\n const { data } = await this.api.get(\"/fetch/quote\", {\n params: {\n network: this.network,\n fromAsset: fromAssetId,\n toAsset: toAssetId,\n amount,\n type: swapMode,\n maxGroupSize,\n feeBps,\n userFeeDiscount,\n referrer,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;\n\n return {\n quoteAmount: BigInt(quoteAmount),\n priceImpact,\n microalgoTxnsFee,\n txnPayload,\n };\n }\n\n public async prepareSwapTransactions(\n params: SwapParams,\n userAddress: string,\n slippageBps: number | bigint,\n swapQuote: SwapQuote,\n ): Promise<SwapTransactions> {\n // fetch transactions\n const { data } = await this.api.get(\"/prepare/swap\", {\n params: {\n userAddress,\n slippageBps,\n txnPayload: swapQuote.txnPayload,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n // check transactions\n const unsignedTxns: Transaction[] = data.result.map((txn: string) =>\n decodeUnsignedTransaction(Buffer.from(txn, \"base64\")),\n );\n checkSwapTransactions(this.network, unsignedTxns, params, userAddress, slippageBps, swapQuote);\n\n // return\n return data.result;\n }\n}\n"]}
|
|
@@ -17,6 +17,16 @@ var FolksRouterClient = class {
|
|
|
17
17
|
this.network = network;
|
|
18
18
|
this.api = axios.create({ baseURL: url, headers: { "x-api-key": apiKey } });
|
|
19
19
|
}
|
|
20
|
+
async fetchDiscountTiers() {
|
|
21
|
+
const { data } = await this.api.get("/fetch/tiers", {
|
|
22
|
+
params: {
|
|
23
|
+
network: this.network
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (!data.success) throw Error(data.errors);
|
|
27
|
+
data.result.tiers = data.result.tiers.map(({ amount, discount }) => ({ amount: BigInt(amount), discount }));
|
|
28
|
+
return data.result;
|
|
29
|
+
}
|
|
20
30
|
async fetchUserDiscount(userAddress) {
|
|
21
31
|
const { data } = await this.api.get("/fetch/discount", {
|
|
22
32
|
params: {
|
|
@@ -71,4 +81,4 @@ var FolksRouterClient = class {
|
|
|
71
81
|
export {
|
|
72
82
|
FolksRouterClient
|
|
73
83
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-MQ4K4P2T.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/FolksRouterClient.ts"],"sourcesContent":["import { decodeUnsignedTransaction, Transaction } from \"algosdk\";\nimport axios, { AxiosInstance } from \"axios\";\nimport { DiscountTiers, Network, SwapParams, SwapQuote, SwapTransactions, Tier } from \"./types\";\nimport { checkSwapTransactions } from \"./checks\";\n\nconst BASE_URL = \"https://api.folksrouter.io\";\n\nexport class FolksRouterClient {\n private readonly network: Network;\n private readonly api: AxiosInstance;\n\n constructor(network: Network, apiKey?: string) {\n // construct url\n let url = BASE_URL;\n if (network === Network.TESTNET) url += \"/testnet\";\n url += \"/v2\";\n if (apiKey !== undefined) {\n url += \"/pro\";\n }\n\n // set\n this.network = network;\n this.api = axios.create({ baseURL: url, headers: { \"x-api-key\": apiKey } });\n }\n\n public async fetchDiscountTiers(): Promise<DiscountTiers> {\n const { data } = await this.api.get(\"/fetch/tiers\", {\n params: {\n network: this.network,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n // @ts-ignore\n data.result.tiers = data.result.tiers.map(({ amount, discount }) => ({ amount: BigInt(amount), discount }));\n\n return data.result;\n }\n\n public async fetchUserDiscount(userAddress: string): Promise<number> {\n const { data } = await this.api.get(\"/fetch/discount\", {\n params: {\n network: this.network,\n userAddress,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n return data.result;\n }\n\n public async fetchSwapQuote(\n params: SwapParams,\n maxGroupSize?: number,\n feeBps?: number | bigint,\n userFeeDiscount?: number | bigint,\n referrer?: string,\n ): Promise<SwapQuote> {\n const { fromAssetId, toAssetId, amount, swapMode } = params;\n\n const { data } = await this.api.get(\"/fetch/quote\", {\n params: {\n network: this.network,\n fromAsset: fromAssetId,\n toAsset: toAssetId,\n amount,\n type: swapMode,\n maxGroupSize,\n feeBps,\n userFeeDiscount,\n referrer,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;\n\n return {\n quoteAmount: BigInt(quoteAmount),\n priceImpact,\n microalgoTxnsFee,\n txnPayload,\n };\n }\n\n public async prepareSwapTransactions(\n params: SwapParams,\n userAddress: string,\n slippageBps: number | bigint,\n swapQuote: SwapQuote,\n ): Promise<SwapTransactions> {\n // fetch transactions\n const { data } = await this.api.get(\"/prepare/swap\", {\n params: {\n userAddress,\n slippageBps,\n txnPayload: swapQuote.txnPayload,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n // check transactions\n const unsignedTxns: Transaction[] = data.result.map((txn: string) =>\n decodeUnsignedTransaction(Buffer.from(txn, \"base64\")),\n );\n checkSwapTransactions(this.network, unsignedTxns, params, userAddress, slippageBps, swapQuote);\n\n // return\n return data.result;\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,iCAA8C;AACvD,OAAO,WAA8B;AAIrC,IAAM,WAAW;AAEV,IAAM,oBAAN,MAAwB;AAAA,EAI7B,YAAY,SAAkB,QAAiB;AAE7C,QAAI,MAAM;AACV,QAAI,oCAA6B,QAAO;AACxC,WAAO;AACP,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAGA,SAAK,UAAU;AACf,SAAK,MAAM,MAAM,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,aAAa,OAAO,EAAE,CAAC;AAAA,EAC5E;AAAA,EAEA,MAAa,qBAA6C;AACxD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,gBAAgB;AAAA,MAClD,QAAQ;AAAA,QACN,SAAS,KAAK;AAAA,MAChB;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAG1C,SAAK,OAAO,QAAQ,KAAK,OAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,SAAS,OAAO,EAAE,QAAQ,OAAO,MAAM,GAAG,SAAS,EAAE;AAE1G,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,kBAAkB,aAAsC;AACnE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,mBAAmB;AAAA,MACrD,QAAQ;AAAA,QACN,SAAS,KAAK;AAAA,QACd;AAAA,MACF;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAE1C,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,eACX,QACA,cACA,QACA,iBACA,UACoB;AACpB,UAAM,EAAE,aAAa,WAAW,QAAQ,SAAS,IAAI;AAErD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,gBAAgB;AAAA,MAClD,QAAQ;AAAA,QACN,SAAS,KAAK;AAAA,QACd,WAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAE1C,UAAM,EAAE,aAAa,aAAa,kBAAkB,WAAW,IAAI,KAAK;AAExE,WAAO;AAAA,MACL,aAAa,OAAO,WAAW;AAAA,MAC/B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAa,wBACX,QACA,aACA,aACA,WAC2B;AAE3B,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,iBAAiB;AAAA,MACnD,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,YAAY,UAAU;AAAA,MACxB;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAG1C,UAAM,eAA8B,KAAK,OAAO;AAAA,MAAI,CAAC,QACnD,0BAA0B,OAAO,KAAK,KAAK,QAAQ,CAAC;AAAA,IACtD;AACA,0BAAsB,KAAK,SAAS,cAAc,QAAQ,aAAa,aAAa,SAAS;AAG7F,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-TCD6JCIP.js","../src/types.ts"],"names":["Network","SwapMode"],"mappings":"AAAA;ACKA,IAAK,QAAA,kBAAL,CAAA,CAAKA,QAAAA,EAAAA,GAAL;AACE,EAAAA,QAAAA,CAAA,SAAA,EAAA,EAAU,SAAA;AACV,EAAAA,QAAAA,CAAA,SAAA,EAAA,EAAU,SAAA;AAFP,EAAA,OAAAA,QAAAA;AAAA,CAAA,CAAA,CAAA,QAAA,GAAA,CAAA,CAAA,CAAA;AAeL,IAAK,SAAA,kBAAL,CAAA,CAAKC,SAAAA,EAAAA,GAAL;AACE,EAAAA,SAAAA,CAAA,aAAA,EAAA,EAAc,aAAA;AACd,EAAAA,SAAAA,CAAA,cAAA,EAAA,EAAe,cAAA;AAFZ,EAAA,OAAAA,SAAAA;AAAA,CAAA,CAAA,CAAA,SAAA,GAAA,CAAA,CAAA,CAAA;ADTL;AACA;AACE;AACA;AACF,uDAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-TCD6JCIP.js","sourcesContent":[null,"type ReferrerGroupTransaction = {\n unsignedTxn: Uint8Array;\n lsig?: Uint8Array;\n}[];\n\nenum Network {\n MAINNET = \"mainnet\",\n TESTNET = \"testnet\",\n}\n\nexport type Tier = {\n amount: bigint;\n discount: number; // 0 d.p. (20=20%)\n};\n\nexport type DiscountTiers = {\n assetId: number;\n tiers: Array<Tier>;\n};\n\nenum SwapMode {\n FIXED_INPUT = \"FIXED_INPUT\",\n FIXED_OUTPUT = \"FIXED_OUTPUT\",\n}\n\ninterface SwapParams {\n fromAssetId: number;\n toAssetId: number;\n amount: number | bigint;\n swapMode: SwapMode;\n}\n\ninterface SwapQuote {\n quoteAmount: bigint;\n priceImpact: number;\n microalgoTxnsFee: number;\n txnPayload: string;\n}\n\ntype SwapTransactions = string[];\n\nexport { ReferrerGroupTransaction, Network, SwapMode, SwapParams, SwapQuote, SwapTransactions };\n"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { checkSwapTransactions } from './checks.mjs';
|
|
2
2
|
export { getReferrerLogicSig, prepareClaimReferrerFees, prepareReferrerOptIntoAsset } from './referrer.mjs';
|
|
3
3
|
export { prepareEnableAssetToBeSwapped } from './swap.mjs';
|
|
4
|
-
export { Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions } from './types.mjs';
|
|
4
|
+
export { DiscountTiers, Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions, Tier } from './types.mjs';
|
|
5
5
|
export { routerABIContract } from './abiContracts/index.mjs';
|
|
6
6
|
export { MainnetFolksRouterAppId } from './constants/mainnetConstants.mjs';
|
|
7
7
|
export { TestnetFolksRouterAppId } from './constants/testnetConstants.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { checkSwapTransactions } from './checks.js';
|
|
2
2
|
export { getReferrerLogicSig, prepareClaimReferrerFees, prepareReferrerOptIntoAsset } from './referrer.js';
|
|
3
3
|
export { prepareEnableAssetToBeSwapped } from './swap.js';
|
|
4
|
-
export { Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions } from './types.js';
|
|
4
|
+
export { DiscountTiers, Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions, Tier } from './types.js';
|
|
5
5
|
export { routerABIContract } from './abiContracts/index.js';
|
|
6
6
|
export { MainnetFolksRouterAppId } from './constants/mainnetConstants.js';
|
|
7
7
|
export { TestnetFolksRouterAppId } from './constants/testnetConstants.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkATKFNBCYjs = require('./chunk-ATKFNBCY.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunk35AIBYIPjs = require('./chunk-35AIBYIP.js');
|
|
@@ -21,7 +21,7 @@ var _chunkZVM64SDRjs = require('./chunk-ZVM64SDR.js');
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkTCD6JCIPjs = require('./chunk-TCD6JCIP.js');
|
|
25
25
|
require('./chunk-OM7CUUOV.js');
|
|
26
26
|
|
|
27
27
|
|
|
@@ -38,5 +38,5 @@ var _chunkWKV4G7E6js = require('./chunk-WKV4G7E6.js');
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
exports.FolksRouterClient =
|
|
41
|
+
exports.FolksRouterClient = _chunkATKFNBCYjs.FolksRouterClient; exports.MainnetFolksRouterAppId = _chunkWSXBJBEUjs.MainnetFolksRouterAppId; exports.Network = _chunkTCD6JCIPjs.Network; exports.SwapMode = _chunkTCD6JCIPjs.SwapMode; exports.TestnetFolksRouterAppId = _chunkIVNVWRCMjs.TestnetFolksRouterAppId; exports.checkSwapTransactions = _chunk35AIBYIPjs.checkSwapTransactions; exports.getReferrerLogicSig = _chunkKLU7UE4Djs.getReferrerLogicSig; exports.prepareClaimReferrerFees = _chunkKLU7UE4Djs.prepareClaimReferrerFees; exports.prepareEnableAssetToBeSwapped = _chunkZVM64SDRjs.prepareEnableAssetToBeSwapped; exports.prepareReferrerOptIntoAsset = _chunkKLU7UE4Djs.prepareReferrerOptIntoAsset; exports.routerABIContract = _chunkWKV4G7E6js.routerABIContract;
|
|
42
42
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FolksRouterClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MQ4K4P2T.mjs";
|
|
4
4
|
import {
|
|
5
5
|
checkSwapTransactions
|
|
6
6
|
} from "./chunk-B3QVYTBC.mjs";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
Network,
|
|
23
23
|
SwapMode
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-A42RM7RK.mjs";
|
|
25
25
|
import "./chunk-JUBOHIQC.mjs";
|
|
26
26
|
import {
|
|
27
27
|
routerABIContract
|
package/dist/types.d.mts
CHANGED
|
@@ -6,6 +6,14 @@ declare enum Network {
|
|
|
6
6
|
MAINNET = "mainnet",
|
|
7
7
|
TESTNET = "testnet"
|
|
8
8
|
}
|
|
9
|
+
type Tier = {
|
|
10
|
+
amount: bigint;
|
|
11
|
+
discount: number;
|
|
12
|
+
};
|
|
13
|
+
type DiscountTiers = {
|
|
14
|
+
assetId: number;
|
|
15
|
+
tiers: Array<Tier>;
|
|
16
|
+
};
|
|
9
17
|
declare enum SwapMode {
|
|
10
18
|
FIXED_INPUT = "FIXED_INPUT",
|
|
11
19
|
FIXED_OUTPUT = "FIXED_OUTPUT"
|
|
@@ -24,4 +32,4 @@ interface SwapQuote {
|
|
|
24
32
|
}
|
|
25
33
|
type SwapTransactions = string[];
|
|
26
34
|
|
|
27
|
-
export { Network, type ReferrerGroupTransaction, SwapMode, type SwapParams, type SwapQuote, type SwapTransactions };
|
|
35
|
+
export { type DiscountTiers, Network, type ReferrerGroupTransaction, SwapMode, type SwapParams, type SwapQuote, type SwapTransactions, type Tier };
|
package/dist/types.d.ts
CHANGED
|
@@ -6,6 +6,14 @@ declare enum Network {
|
|
|
6
6
|
MAINNET = "mainnet",
|
|
7
7
|
TESTNET = "testnet"
|
|
8
8
|
}
|
|
9
|
+
type Tier = {
|
|
10
|
+
amount: bigint;
|
|
11
|
+
discount: number;
|
|
12
|
+
};
|
|
13
|
+
type DiscountTiers = {
|
|
14
|
+
assetId: number;
|
|
15
|
+
tiers: Array<Tier>;
|
|
16
|
+
};
|
|
9
17
|
declare enum SwapMode {
|
|
10
18
|
FIXED_INPUT = "FIXED_INPUT",
|
|
11
19
|
FIXED_OUTPUT = "FIXED_OUTPUT"
|
|
@@ -24,4 +32,4 @@ interface SwapQuote {
|
|
|
24
32
|
}
|
|
25
33
|
type SwapTransactions = string[];
|
|
26
34
|
|
|
27
|
-
export { Network, type ReferrerGroupTransaction, SwapMode, type SwapParams, type SwapQuote, type SwapTransactions };
|
|
35
|
+
export { type DiscountTiers, Network, type ReferrerGroupTransaction, SwapMode, type SwapParams, type SwapQuote, type SwapTransactions, type Tier };
|
package/dist/types.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkTCD6JCIPjs = require('./chunk-TCD6JCIP.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.Network =
|
|
8
|
+
exports.Network = _chunkTCD6JCIPjs.Network; exports.SwapMode = _chunkTCD6JCIPjs.SwapMode;
|
|
9
9
|
//# sourceMappingURL=types.js.map
|
package/dist/types.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@folks-router/js-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"algosdk": "^3.5.2",
|
|
35
|
-
"axios": "^1.
|
|
35
|
+
"axios": "^1.13.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^20.7.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["type ReferrerGroupTransaction = {\n unsignedTxn: Uint8Array;\n lsig?: Uint8Array;\n}[];\n\nenum Network {\n MAINNET = \"mainnet\",\n TESTNET = \"testnet\",\n}\n\nenum SwapMode {\n FIXED_INPUT = \"FIXED_INPUT\",\n FIXED_OUTPUT = \"FIXED_OUTPUT\",\n}\n\ninterface SwapParams {\n fromAssetId: number;\n toAssetId: number;\n amount: number | bigint;\n swapMode: SwapMode;\n}\n\ninterface SwapQuote {\n quoteAmount: bigint;\n priceImpact: number;\n microalgoTxnsFee: number;\n txnPayload: string;\n}\n\ntype SwapTransactions = string[];\n\nexport { ReferrerGroupTransaction, Network, SwapMode, SwapParams, SwapQuote, SwapTransactions };\n"],"mappings":";AAKA,IAAK,UAAL,kBAAKA,aAAL;AACE,EAAAA,SAAA,aAAU;AACV,EAAAA,SAAA,aAAU;AAFP,SAAAA;AAAA,GAAA;AAKL,IAAK,WAAL,kBAAKC,cAAL;AACE,EAAAA,UAAA,iBAAc;AACd,EAAAA,UAAA,kBAAe;AAFZ,SAAAA;AAAA,GAAA;","names":["Network","SwapMode"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-MEC4OKES.js","../src/types.ts"],"names":["Network","SwapMode"],"mappings":"AAAA;ACKA,IAAK,QAAA,kBAAL,CAAA,CAAKA,QAAAA,EAAAA,GAAL;AACE,EAAAA,QAAAA,CAAA,SAAA,EAAA,EAAU,SAAA;AACV,EAAAA,QAAAA,CAAA,SAAA,EAAA,EAAU,SAAA;AAFP,EAAA,OAAAA,QAAAA;AAAA,CAAA,CAAA,CAAA,QAAA,GAAA,CAAA,CAAA,CAAA;AAKL,IAAK,SAAA,kBAAL,CAAA,CAAKC,SAAAA,EAAAA,GAAL;AACE,EAAAA,SAAAA,CAAA,aAAA,EAAA,EAAc,aAAA;AACd,EAAAA,SAAAA,CAAA,cAAA,EAAA,EAAe,cAAA;AAFZ,EAAA,OAAAA,SAAAA;AAAA,CAAA,CAAA,CAAA,SAAA,GAAA,CAAA,CAAA,CAAA;ADCL;AACA;AACE;AACA;AACF,uDAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-MEC4OKES.js","sourcesContent":[null,"type ReferrerGroupTransaction = {\n unsignedTxn: Uint8Array;\n lsig?: Uint8Array;\n}[];\n\nenum Network {\n MAINNET = \"mainnet\",\n TESTNET = \"testnet\",\n}\n\nenum SwapMode {\n FIXED_INPUT = \"FIXED_INPUT\",\n FIXED_OUTPUT = \"FIXED_OUTPUT\",\n}\n\ninterface SwapParams {\n fromAssetId: number;\n toAssetId: number;\n amount: number | bigint;\n swapMode: SwapMode;\n}\n\ninterface SwapQuote {\n quoteAmount: bigint;\n priceImpact: number;\n microalgoTxnsFee: number;\n txnPayload: string;\n}\n\ntype SwapTransactions = string[];\n\nexport { ReferrerGroupTransaction, Network, SwapMode, SwapParams, SwapQuote, SwapTransactions };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-VPHDL2GP.js","../src/FolksRouterClient.ts"],"names":[],"mappings":"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","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-VPHDL2GP.js","sourcesContent":[null,"import { decodeUnsignedTransaction, Transaction } from \"algosdk\";\nimport axios, { AxiosInstance } from \"axios\";\nimport { Network, SwapParams, SwapQuote, SwapTransactions } from \"./types\";\nimport { checkSwapTransactions } from \"./checks\";\n\nconst BASE_URL = \"https://api.folksrouter.io\";\n\nexport class FolksRouterClient {\n private readonly network: Network;\n private readonly api: AxiosInstance;\n\n constructor(network: Network, apiKey?: string) {\n // construct url\n let url = BASE_URL;\n if (network === Network.TESTNET) url += \"/testnet\";\n url += \"/v2\";\n if (apiKey !== undefined) {\n url += \"/pro\";\n }\n\n // set\n this.network = network;\n this.api = axios.create({ baseURL: url, headers: { \"x-api-key\": apiKey } });\n }\n\n public async fetchUserDiscount(userAddress: string): Promise<number> {\n const { data } = await this.api.get(\"/fetch/discount\", {\n params: {\n network: this.network,\n userAddress,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n return data.result;\n }\n\n public async fetchSwapQuote(\n params: SwapParams,\n maxGroupSize?: number,\n feeBps?: number | bigint,\n userFeeDiscount?: number | bigint,\n referrer?: string,\n ): Promise<SwapQuote> {\n const { fromAssetId, toAssetId, amount, swapMode } = params;\n\n const { data } = await this.api.get(\"/fetch/quote\", {\n params: {\n network: this.network,\n fromAsset: fromAssetId,\n toAsset: toAssetId,\n amount,\n type: swapMode,\n maxGroupSize,\n feeBps,\n userFeeDiscount,\n referrer,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;\n\n return {\n quoteAmount: BigInt(quoteAmount),\n priceImpact,\n microalgoTxnsFee,\n txnPayload,\n };\n }\n\n public async prepareSwapTransactions(\n params: SwapParams,\n userAddress: string,\n slippageBps: number | bigint,\n swapQuote: SwapQuote,\n ): Promise<SwapTransactions> {\n // fetch transactions\n const { data } = await this.api.get(\"/prepare/swap\", {\n params: {\n userAddress,\n slippageBps,\n txnPayload: swapQuote.txnPayload,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n // check transactions\n const unsignedTxns: Transaction[] = data.result.map((txn: string) =>\n decodeUnsignedTransaction(Buffer.from(txn, \"base64\")),\n );\n checkSwapTransactions(this.network, unsignedTxns, params, userAddress, slippageBps, swapQuote);\n\n // return\n return data.result;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/FolksRouterClient.ts"],"sourcesContent":["import { decodeUnsignedTransaction, Transaction } from \"algosdk\";\nimport axios, { AxiosInstance } from \"axios\";\nimport { Network, SwapParams, SwapQuote, SwapTransactions } from \"./types\";\nimport { checkSwapTransactions } from \"./checks\";\n\nconst BASE_URL = \"https://api.folksrouter.io\";\n\nexport class FolksRouterClient {\n private readonly network: Network;\n private readonly api: AxiosInstance;\n\n constructor(network: Network, apiKey?: string) {\n // construct url\n let url = BASE_URL;\n if (network === Network.TESTNET) url += \"/testnet\";\n url += \"/v2\";\n if (apiKey !== undefined) {\n url += \"/pro\";\n }\n\n // set\n this.network = network;\n this.api = axios.create({ baseURL: url, headers: { \"x-api-key\": apiKey } });\n }\n\n public async fetchUserDiscount(userAddress: string): Promise<number> {\n const { data } = await this.api.get(\"/fetch/discount\", {\n params: {\n network: this.network,\n userAddress,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n return data.result;\n }\n\n public async fetchSwapQuote(\n params: SwapParams,\n maxGroupSize?: number,\n feeBps?: number | bigint,\n userFeeDiscount?: number | bigint,\n referrer?: string,\n ): Promise<SwapQuote> {\n const { fromAssetId, toAssetId, amount, swapMode } = params;\n\n const { data } = await this.api.get(\"/fetch/quote\", {\n params: {\n network: this.network,\n fromAsset: fromAssetId,\n toAsset: toAssetId,\n amount,\n type: swapMode,\n maxGroupSize,\n feeBps,\n userFeeDiscount,\n referrer,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;\n\n return {\n quoteAmount: BigInt(quoteAmount),\n priceImpact,\n microalgoTxnsFee,\n txnPayload,\n };\n }\n\n public async prepareSwapTransactions(\n params: SwapParams,\n userAddress: string,\n slippageBps: number | bigint,\n swapQuote: SwapQuote,\n ): Promise<SwapTransactions> {\n // fetch transactions\n const { data } = await this.api.get(\"/prepare/swap\", {\n params: {\n userAddress,\n slippageBps,\n txnPayload: swapQuote.txnPayload,\n },\n });\n if (!data.success) throw Error(data.errors);\n\n // check transactions\n const unsignedTxns: Transaction[] = data.result.map((txn: string) =>\n decodeUnsignedTransaction(Buffer.from(txn, \"base64\")),\n );\n checkSwapTransactions(this.network, unsignedTxns, params, userAddress, slippageBps, swapQuote);\n\n // return\n return data.result;\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,iCAA8C;AACvD,OAAO,WAA8B;AAIrC,IAAM,WAAW;AAEV,IAAM,oBAAN,MAAwB;AAAA,EAI7B,YAAY,SAAkB,QAAiB;AAE7C,QAAI,MAAM;AACV,QAAI,oCAA6B,QAAO;AACxC,WAAO;AACP,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT;AAGA,SAAK,UAAU;AACf,SAAK,MAAM,MAAM,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,aAAa,OAAO,EAAE,CAAC;AAAA,EAC5E;AAAA,EAEA,MAAa,kBAAkB,aAAsC;AACnE,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,mBAAmB;AAAA,MACrD,QAAQ;AAAA,QACN,SAAS,KAAK;AAAA,QACd;AAAA,MACF;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAE1C,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,eACX,QACA,cACA,QACA,iBACA,UACoB;AACpB,UAAM,EAAE,aAAa,WAAW,QAAQ,SAAS,IAAI;AAErD,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,gBAAgB;AAAA,MAClD,QAAQ;AAAA,QACN,SAAS,KAAK;AAAA,QACd,WAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAE1C,UAAM,EAAE,aAAa,aAAa,kBAAkB,WAAW,IAAI,KAAK;AAExE,WAAO;AAAA,MACL,aAAa,OAAO,WAAW;AAAA,MAC/B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAa,wBACX,QACA,aACA,aACA,WAC2B;AAE3B,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,iBAAiB;AAAA,MACnD,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,YAAY,UAAU;AAAA,MACxB;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK,QAAS,OAAM,MAAM,KAAK,MAAM;AAG1C,UAAM,eAA8B,KAAK,OAAO;AAAA,MAAI,CAAC,QACnD,0BAA0B,OAAO,KAAK,KAAK,QAAQ,CAAC;AAAA,IACtD;AACA,0BAAsB,KAAK,SAAS,cAAc,QAAQ,aAAa,aAAa,SAAS;AAG7F,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
|