@folks-router/js-sdk 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -5
- package/dist/FolksRouterClient.d.mts +2 -1
- package/dist/FolksRouterClient.d.ts +2 -1
- package/dist/FolksRouterClient.js +7 -6
- package/dist/FolksRouterClient.js.map +1 -1
- package/dist/FolksRouterClient.mjs +6 -5
- package/dist/abiContracts/index.js +2 -2
- package/dist/abiContracts/index.js.map +1 -1
- package/dist/abiContracts/index.mjs +1 -1
- package/dist/checks.d.mts +6 -0
- package/dist/checks.d.ts +6 -0
- package/dist/checks.js +12 -0
- package/dist/checks.js.map +1 -0
- package/dist/checks.mjs +12 -0
- package/dist/checks.mjs.map +1 -0
- package/dist/{chunk-PT53HHNS.js → chunk-BVY7JBOW.js} +6 -6
- package/dist/chunk-BVY7JBOW.js.map +1 -0
- package/dist/chunk-DHU34JLH.mjs +74 -0
- package/dist/chunk-DHU34JLH.mjs.map +1 -0
- package/dist/{chunk-275BCIHG.mjs → chunk-EYGQH356.mjs} +13 -1
- package/dist/chunk-EYGQH356.mjs.map +1 -0
- package/dist/{chunk-FEVMPFNU.mjs → chunk-GQO2R6ON.mjs} +2 -2
- package/dist/{chunk-QLPM3CZI.js → chunk-GRBEXEIP.js} +6 -6
- package/dist/chunk-GRBEXEIP.js.map +1 -0
- package/dist/{chunk-HEZCGFMA.js → chunk-GTEUZNDL.js} +8 -2
- package/dist/chunk-GTEUZNDL.js.map +1 -0
- package/dist/{chunk-SAI2MUH2.mjs → chunk-GWQ2U3UO.mjs} +3 -3
- package/dist/{chunk-T37SGVC7.js → chunk-IVNVWRCM.js} +2 -2
- package/dist/chunk-IVNVWRCM.js.map +1 -0
- package/dist/{chunk-UBBN3ZYC.mjs → chunk-LE66KKNU.mjs} +10 -4
- package/dist/chunk-LE66KKNU.mjs.map +1 -0
- package/dist/chunk-MEC4OKES.js.map +1 -1
- package/dist/chunk-SADXHAXY.js +74 -0
- package/dist/chunk-SADXHAXY.js.map +1 -0
- package/dist/chunk-V4ANJGMA.js +76 -0
- package/dist/chunk-V4ANJGMA.js.map +1 -0
- package/dist/chunk-VGT24JDM.mjs +7 -0
- package/dist/{chunk-Z537KBSF.mjs.map → chunk-VGT24JDM.mjs.map} +1 -1
- package/dist/{chunk-J5OA3X2H.js → chunk-WKV4G7E6.js} +13 -1
- package/dist/chunk-WKV4G7E6.js.map +1 -0
- package/dist/chunk-WPZIOEUM.mjs +76 -0
- package/dist/chunk-WPZIOEUM.mjs.map +1 -0
- package/dist/{chunk-XVPB7BHI.js → chunk-WSXBJBEU.js} +2 -2
- package/dist/chunk-WSXBJBEU.js.map +1 -0
- package/dist/chunk-YMVA5ZDD.mjs +7 -0
- package/dist/{chunk-P22I3FWL.mjs.map → chunk-YMVA5ZDD.mjs.map} +1 -1
- package/dist/constants/mainnetConstants.d.mts +1 -1
- package/dist/constants/mainnetConstants.d.ts +1 -1
- package/dist/constants/mainnetConstants.js +2 -2
- package/dist/constants/mainnetConstants.js.map +1 -1
- package/dist/constants/mainnetConstants.mjs +1 -1
- package/dist/constants/testnetConstants.d.mts +1 -1
- package/dist/constants/testnetConstants.d.ts +1 -1
- package/dist/constants/testnetConstants.js +2 -2
- package/dist/constants/testnetConstants.js.map +1 -1
- package/dist/constants/testnetConstants.mjs +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +13 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -9
- package/dist/referrer.js +3 -3
- package/dist/referrer.js.map +1 -1
- package/dist/referrer.mjs +2 -2
- package/dist/swap.js +4 -4
- package/dist/swap.js.map +1 -1
- package/dist/swap.mjs +3 -3
- package/dist/types.d.mts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.js +2 -2
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +4 -4
- package/dist/chunk-275BCIHG.mjs.map +0 -1
- package/dist/chunk-HEZCGFMA.js.map +0 -1
- package/dist/chunk-J5OA3X2H.js.map +0 -1
- package/dist/chunk-P22I3FWL.mjs +0 -7
- package/dist/chunk-PT53HHNS.js.map +0 -1
- package/dist/chunk-PYVHIBBZ.mjs +0 -133
- package/dist/chunk-PYVHIBBZ.mjs.map +0 -1
- package/dist/chunk-QLPM3CZI.js.map +0 -1
- package/dist/chunk-T37SGVC7.js.map +0 -1
- package/dist/chunk-UBBN3ZYC.mjs.map +0 -1
- package/dist/chunk-XNH4DJ6G.js +0 -133
- package/dist/chunk-XNH4DJ6G.js.map +0 -1
- package/dist/chunk-XVPB7BHI.js.map +0 -1
- package/dist/chunk-Z537KBSF.mjs +0 -7
- /package/dist/{chunk-FEVMPFNU.mjs.map → chunk-GQO2R6ON.mjs.map} +0 -0
- /package/dist/{chunk-SAI2MUH2.mjs.map → chunk-GWQ2U3UO.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-SADXHAXY.js","../src/checks.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACdA;AACE;AACA;AACA;AACA;AACA;AAEA;AAAA,kCACK;AAOA,SAAS,qBAAA,CACd,OAAA,EACA,YAAA,EACA,MAAA,EACA,WAAA,EACA,WAAA,EACA,SAAA,EACA;AACA,EAAA,MAAM,EAAE,WAAA,EAAa,SAAA,EAAW,MAAA,EAAQ,SAAS,EAAA,EAAI,MAAA;AACrD,EAAA,MAAM,iBAAA,EAAmB,QAAA,GAAA,wBAAA,EAA6B,yCAAA,EAA0B,wCAAA;AAChF,EAAA,MAAM,gBAAA,EAAkB,4CAAA,gBAAsC,CAAA;AAC9D,EAAA,MAAM,eAAA,EAAiB,CAAC,MAAA,EAAA,GACtB,MAAA,CAAO,IAAA,CAAK,kCAAA,CAAkB,eAAA,CAAgB,MAAM,CAAA,CAAE,WAAA,CAAY,CAAC,CAAA,CAAE,QAAA,CAAS,KAAK,CAAA;AACrF,EAAA,MAAM,gBAAA,EAAkB,CAAC,UAAA,EAAA,GAA2B,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA,CAAE,QAAA,CAAS,KAAK,CAAA;AAE1F,EAAA,MAAM,aAAA,EAAe,YAAA,CAAa,CAAC,CAAA;AACnC,EAAA,MAAM,gBAAA,EAAkB,YAAA,CAAa,KAAA,CAAM,CAAA,EAAG,CAAA,CAAE,CAAA;AAChD,EAAA,MAAM,WAAA,EAAa,YAAA,CAAa,YAAA,CAAa,OAAA,EAAS,CAAC,CAAA;AAGvD,EAAA,GAAA,CAAI,YAAA,CAAa,QAAA,IAAY,KAAA,CAAA,EAAW,MAAM,KAAA,CAAM,kBAAkB,CAAA;AACtE,EAAA,GAAA,CAAI,YAAA,CAAa,iBAAA,IAAqB,KAAA,CAAA,EAAW,MAAM,KAAA,CAAM,+BAA+B,CAAA;AAC5F,EAAA,GAAA,CAAI,YAAA,CAAa,IAAA,CAAK,UAAA,IAAc,oCAAA,WAAyB,CAAA,CAAE,SAAA,EAAW,MAAM,KAAA,CAAM,kBAAkB,CAAA;AACxG,EAAA,GAAA,CAAI,oCAAA,YAAc,CAAa,EAAA,CAAG,SAAS,EAAA,IAAM,eAAA,EAAiB,MAAM,KAAA,CAAM,oBAAoB,CAAA;AAClG,EAAA,GAAA,CACE,CAAA,CAAE,YAAA,IAAgB,EAAA,GAAK,YAAA,CAAa,KAAA,GAAQ,wBAAA,CAAgB,GAAA,EAAA,GAC5D,CAAA,CAAE,YAAA,IAAgB,YAAA,CAAa,WAAA,GAAc,YAAA,CAAa,KAAA,IAAS,wBAAA,CAAgB,KAAA,CAAA;AAEnF,IAAA,MAAM,KAAA,CAAM,8BAA8B,CAAA;AAC5C,EAAA,MAAM,WAAA,EAAa,MAAA,CAAO,YAAA,CAAa,MAAM,CAAA;AAG7C,EAAA,eAAA,CAAgB,OAAA,CAAQ,CAAC,GAAA,EAAK,CAAA,EAAA,GAAM;AAClC,IAAA,GAAA,CAAI,GAAA,CAAI,IAAA,CAAK,UAAA,IAAc,oCAAA,WAAyB,CAAA,CAAE,SAAA,EAAW,MAAM,KAAA,CAAM,kBAAkB,CAAA;AAC/F,IAAA,GAAA,CAAI,GAAA,CAAI,SAAA,IAAa,gBAAA,EAAkB,MAAM,KAAA,CAAM,6BAA6B,CAAA;AAChF,IAAA,GAAA,CAAI,GAAA,CAAI,KAAA,IAAS,wBAAA,CAAgB,KAAA,GAAQ,GAAA,CAAI,cAAA,IAAkB,8BAAA,CAAsB,MAAA;AACnF,MAAA,MAAM,KAAA,CAAM,4BAA4B,CAAA;AAC1C,IAAA,MAAM,oBAAA,EAAsB,eAAA,CAAgB,GAAA,CAAI,OAAA,CAAS,EAAA,CAAG,CAAC,CAAE,CAAA;AAC/D,IAAA,GAAA,CAAI,oBAAA,IAAwB,cAAA,CAAe,cAAc,CAAA,EAAG,MAAM,KAAA,CAAM,oBAAoB,CAAA;AAAA,EAC9F,CAAC,CAAA;AAGD,EAAA,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,UAAA,IAAc,oCAAA,WAAyB,CAAA,CAAE,SAAA,EAAW,MAAM,KAAA,CAAM,kBAAkB,CAAA;AACtG,EAAA,GAAA,CAAI,UAAA,CAAW,SAAA,IAAa,gBAAA,EAAkB,MAAM,KAAA,CAAM,6BAA6B,CAAA;AACvF,EAAA,GAAA,CAAI,UAAA,CAAW,KAAA,IAAS,wBAAA,CAAgB,KAAA,GAAQ,UAAA,CAAW,cAAA,IAAkB,8BAAA,CAAsB,MAAA;AACjG,IAAA,MAAM,KAAA,CAAM,4BAA4B,CAAA;AAC1C,EAAA,MAAM,gBAAA,EAAkB,eAAA,CAAgB,UAAA,CAAW,OAAA,CAAS,EAAA,CAAG,CAAC,CAAE,CAAA;AAClE,EAAA,MAAM,aAAA,EAAe,gBAAA,IAAoB,cAAA,CAAe,aAAa,CAAA;AACrE,EAAA,MAAM,cAAA,EAAgB,gBAAA,IAAoB,cAAA,CAAe,aAAa,CAAA;AACtE,EAAA,GAAA,CAAK,aAAA,GAAgB,SAAA,IAAA,gCAAA,GAAuC,cAAA,GAAiB,SAAA,IAAA,iCAAA;AAC3E,IAAA,MAAM,KAAA,CAAM,qBAAqB,CAAA;AACnC,EAAA,GAAA,CAAI,gBAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA,CAAO,UAAA,CAAW,OAAA,CAAS,EAAA,CAAG,CAAC,CAAE,EAAA,IAAM,MAAA,CAAO,SAAS,CAAA;AAChF,IAAA,MAAM,KAAA,CAAM,gCAAgC,CAAA;AAC9C,EAAA,MAAM,cAAA,EAAgB,gBAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA,CAAO,UAAA,CAAW,OAAA,CAAS,EAAA,CAAG,CAAC,CAAE,CAAA;AAG9E,EAAA,MAAM,eAAA,EAAiB,uCAAA,SAAS,CAAU,WAAA,EAAa,MAAA,CAAO,WAAW,CAAA,EAAG,yBAAQ,CAAA;AACpF,EAAA,GAAA,CAAI,YAAA,EAAc;AAChB,IAAA,GAAA,CAAI,OAAA,IAAW,UAAA,EAAY,MAAM,KAAA,CAAM,sCAAsC,CAAA;AAC7E,IAAA,GAAA,CAAI,SAAA,CAAU,YAAA,EAAc,eAAA,IAAmB,aAAA,EAAe,MAAM,KAAA,CAAM,wCAAwC,CAAA;AAAA,EACpH;AACA,EAAA,GAAA,CAAI,aAAA,EAAe;AACjB,IAAA,GAAA,CAAI,SAAA,CAAU,YAAA,EAAc,eAAA,IAAmB,UAAA,EAAY,MAAM,KAAA,CAAM,uCAAuC,CAAA;AAC9G,IAAA,GAAA,CAAI,OAAA,IAAW,aAAA,EAAe,MAAM,KAAA,CAAM,yCAAyC,CAAA;AAAA,EACrF;AACF;ADXA;AACA;AACE;AACF,sDAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-SADXHAXY.js","sourcesContent":[null,"import {\n ABIType,\n decodeAddress,\n encodeAddress,\n getApplicationAddress,\n OnApplicationComplete,\n Transaction,\n TransactionType,\n} from \"algosdk\";\nimport { routerABIContract } from \"./abiContracts\";\nimport { MainnetFolksRouterAppId } from \"./constants/mainnetConstants\";\nimport { TestnetFolksRouterAppId } from \"./constants/testnetConstants\";\nimport { Network, SwapMode, SwapParams, SwapQuote } from \"./types\";\nimport { mulScale, ONE_4_DP } from \"./utils\";\n\nexport function checkSwapTransactions(\n network: Network,\n unsignedTxns: Transaction[],\n params: SwapParams,\n userAddress: string,\n slippageBps: number | bigint,\n swapQuote: SwapQuote,\n) {\n const { fromAssetId, toAssetId, amount, swapMode } = params;\n const folksRouterAppId = network == Network.MAINNET ? MainnetFolksRouterAppId : TestnetFolksRouterAppId;\n const folksRouterAddr = getApplicationAddress(folksRouterAppId);\n const getHexSelector = (method: string) =>\n Buffer.from(routerABIContract.getMethodByName(method).getSelector()).toString(\"hex\");\n const uint8ArrayToHex = (uint8Array: Uint8Array) => Buffer.from(uint8Array).toString(\"hex\");\n\n const sendAssetTxn = unsignedTxns[0]!;\n const swapForwardTxns = unsignedTxns.slice(1, -1)!;\n const swapEndTxn = unsignedTxns[unsignedTxns.length - 1]!;\n\n // send algo/asset\n if (sendAssetTxn.reKeyTo !== undefined) throw Error(\"Unexpected rekey\");\n if (sendAssetTxn.closeRemainderTo !== undefined) throw Error(\"Unexpected close remainder to\");\n if (sendAssetTxn.from.publicKey !== decodeAddress(userAddress).publicKey) throw Error(\"Incorrect sender\");\n if (encodeAddress(sendAssetTxn.to.publicKey) !== folksRouterAddr) throw Error(\"Incorrect receiver\");\n if (\n !(fromAssetId === 0 && sendAssetTxn.type == TransactionType.pay) &&\n !(fromAssetId === sendAssetTxn.assetIndex && sendAssetTxn.type === TransactionType.axfer)\n )\n throw Error(\"Sending incorrect algo/asset\");\n const sendAmount = BigInt(sendAssetTxn.amount);\n\n // swap forward txns\n swapForwardTxns.forEach((txn, i) => {\n if (txn.from.publicKey !== decodeAddress(userAddress).publicKey) throw Error(\"Incorrect sender\");\n if (txn.appIndex !== folksRouterAppId) throw Error(\"Incorrect application index\");\n if (txn.type !== TransactionType.appl && txn.appOnComplete !== OnApplicationComplete.NoOpOC)\n throw Error(\"Incorrect transaction type\");\n const swapForwardSelector = uint8ArrayToHex(txn.appArgs!.at(0)!);\n if (swapForwardSelector !== getHexSelector(\"swap_forward\")) throw Error(\"Incorrect selector\");\n });\n\n // receive algo/asset\n if (swapEndTxn.from.publicKey !== decodeAddress(userAddress).publicKey) throw Error(\"Incorrect sender\");\n if (swapEndTxn.appIndex !== folksRouterAppId) throw Error(\"Incorrect application index\");\n if (swapEndTxn.type !== TransactionType.appl && swapEndTxn.appOnComplete !== OnApplicationComplete.NoOpOC)\n throw Error(\"Incorrect transaction type\");\n const swapEndSelector = uint8ArrayToHex(swapEndTxn.appArgs!.at(0)!);\n const isFixedInput = swapEndSelector === getHexSelector(\"fi_end_swap\");\n const isFixedOutput = swapEndSelector === getHexSelector(\"fo_end_swap\");\n if ((isFixedInput && swapMode !== SwapMode.FIXED_INPUT) || (isFixedOutput && swapMode !== SwapMode.FIXED_OUTPUT))\n throw Error(\"Incorrect swap mode\");\n if (ABIType.from(\"uint64\").decode(swapEndTxn.appArgs!.at(1)!) !== BigInt(toAssetId))\n throw Error(\"Receiving incorrect algo/asset\");\n const receiveAmount = ABIType.from(\"uint64\").decode(swapEndTxn.appArgs!.at(2)!) as bigint;\n\n // check amounts\n const slippageAmount = mulScale(swapQuote.quoteAmount, BigInt(slippageBps), ONE_4_DP);\n if (isFixedInput) {\n if (amount !== sendAmount) throw Error(\"Sending incorrect fixed input amount\");\n if (swapQuote.quoteAmount - slippageAmount !== receiveAmount) throw Error(\"Receiving incorrect fixed input amount\");\n }\n if (isFixedOutput) {\n if (swapQuote.quoteAmount + slippageAmount !== sendAmount) throw Error(\"Sending incorrect fixed output amount\");\n if (amount !== receiveAmount) throw Error(\"Receiving incorrect fixed output amount\");\n }\n}\n"]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _chunkSADXHAXYjs = require('./chunk-SADXHAXY.js');
|
|
4
|
+
|
|
5
|
+
// src/FolksRouterClient.ts
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _algosdk = require('algosdk');
|
|
9
|
+
var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);
|
|
10
|
+
var BASE_URL = "https://api.folksrouter.io";
|
|
11
|
+
var FolksRouterClient = class {
|
|
12
|
+
constructor(network, apiKey) {
|
|
13
|
+
let url = BASE_URL;
|
|
14
|
+
if (network === "testnet" /* TESTNET */) url += "/testnet";
|
|
15
|
+
url += "/v2";
|
|
16
|
+
if (apiKey !== void 0) {
|
|
17
|
+
url += "/pro";
|
|
18
|
+
}
|
|
19
|
+
this.network = network;
|
|
20
|
+
this.api = _axios2.default.create({ baseURL: url, headers: { "x-api-key": apiKey } });
|
|
21
|
+
}
|
|
22
|
+
async fetchUserDiscount(userAddress) {
|
|
23
|
+
const { data } = await this.api.get("/fetch/discount", {
|
|
24
|
+
params: {
|
|
25
|
+
network: this.network,
|
|
26
|
+
userAddress
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
if (!data.success) throw Error(data.errors);
|
|
30
|
+
return data.result;
|
|
31
|
+
}
|
|
32
|
+
async fetchSwapQuote(params, maxGroupSize, feeBps, userFeeDiscount, referrer) {
|
|
33
|
+
const { fromAssetId, toAssetId, amount, swapMode } = params;
|
|
34
|
+
const { data } = await this.api.get("/fetch/quote", {
|
|
35
|
+
params: {
|
|
36
|
+
network: this.network,
|
|
37
|
+
fromAsset: fromAssetId,
|
|
38
|
+
toAsset: toAssetId,
|
|
39
|
+
amount,
|
|
40
|
+
type: swapMode,
|
|
41
|
+
maxGroupSize,
|
|
42
|
+
feeBps,
|
|
43
|
+
userFeeDiscount,
|
|
44
|
+
referrer
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (!data.success) throw Error(data.errors);
|
|
48
|
+
const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;
|
|
49
|
+
return {
|
|
50
|
+
quoteAmount: BigInt(quoteAmount),
|
|
51
|
+
priceImpact,
|
|
52
|
+
microalgoTxnsFee,
|
|
53
|
+
txnPayload
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async prepareSwapTransactions(params, userAddress, slippageBps, swapQuote) {
|
|
57
|
+
const { data } = await this.api.get("/prepare/swap", {
|
|
58
|
+
params: {
|
|
59
|
+
userAddress,
|
|
60
|
+
slippageBps,
|
|
61
|
+
txnPayload: swapQuote.txnPayload
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
if (!data.success) throw Error(data.errors);
|
|
65
|
+
const unsignedTxns = data.result.map(
|
|
66
|
+
(txn) => _algosdk.decodeUnsignedTransaction.call(void 0, Buffer.from(txn, "base64"))
|
|
67
|
+
);
|
|
68
|
+
_chunkSADXHAXYjs.checkSwapTransactions.call(void 0, this.network, unsignedTxns, params, userAddress, slippageBps, swapQuote);
|
|
69
|
+
return data.result;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
exports.FolksRouterClient = FolksRouterClient;
|
|
76
|
+
//# sourceMappingURL=chunk-V4ANJGMA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-V4ANJGMA.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-V4ANJGMA.js","sourcesContent":[null,"import {\n ABIType,\n decodeAddress,\n decodeUnsignedTransaction,\n encodeAddress,\n getApplicationAddress,\n OnApplicationComplete,\n Transaction,\n TransactionType,\n} from \"algosdk\";\nimport axios, { AxiosInstance } from \"axios\";\nimport { MainnetFolksRouterAppId } from \"./constants/mainnetConstants\";\nimport { TestnetFolksRouterAppId } from \"./constants/testnetConstants\";\nimport { Network, SwapMode, SwapParams, SwapQuote, SwapTransactions } from \"./types\";\nimport { routerABIContract } from \"./abiContracts\";\nimport { mulScale, ONE_4_DP } from \"./utils\";\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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants/mainnetConstants.ts"],"sourcesContent":["const MainnetFolksRouterAppId =
|
|
1
|
+
{"version":3,"sources":["../src/constants/mainnetConstants.ts"],"sourcesContent":["const MainnetFolksRouterAppId = 3279848327;\n\nexport { MainnetFolksRouterAppId };\n"],"mappings":";AAAA,IAAM,0BAA0B;","names":[]}
|
|
@@ -5,6 +5,18 @@ var _algosdk = require('algosdk');
|
|
|
5
5
|
var router_default = {
|
|
6
6
|
name: "router",
|
|
7
7
|
methods: [
|
|
8
|
+
{
|
|
9
|
+
name: "get_user_discount",
|
|
10
|
+
args: [
|
|
11
|
+
{
|
|
12
|
+
type: "address",
|
|
13
|
+
name: "user"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
returns: {
|
|
17
|
+
type: "uint64"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
8
20
|
{
|
|
9
21
|
name: "opt_into_assets",
|
|
10
22
|
args: [
|
|
@@ -107,4 +119,4 @@ var routerABIContract = new (0, _algosdk.ABIContract)(router_default);
|
|
|
107
119
|
|
|
108
120
|
|
|
109
121
|
exports.routerABIContract = routerABIContract;
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
122
|
+
//# sourceMappingURL=chunk-WKV4G7E6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-WKV4G7E6.js","../src/abiContracts/index.ts","../src/abiContracts/router.json"],"names":[],"mappings":"AAAA;ACAA,kCAA4B;ADE5B;AACA;AEHA,IAAA,eAAA,EAAA;AAAA,EACE,IAAA,EAAQ,QAAA;AAAA,EACR,OAAA,EAAW;AAAA,IACT;AAAA,MACE,IAAA,EAAQ,mBAAA;AAAA,MACR,IAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,OAAA,EAAW;AAAA,QACT,IAAA,EAAQ;AAAA,MACV;AAAA,IACF,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,iBAAA;AAAA,MACR,IAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,OAAA,EAAW;AAAA,QACT,IAAA,EAAQ;AAAA,MACV;AAAA,IACF,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,cAAA;AAAA,MACR,IAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,0FAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,OAAA,EAAW;AAAA,QACT,IAAA,EAAQ;AAAA,MACV;AAAA,IACF,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,aAAA;AAAA,MACR,IAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,OAAA,EAAW;AAAA,QACT,IAAA,EAAQ;AAAA,MACV;AAAA,IACF,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAQ,aAAA;AAAA,MACR,IAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV,CAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,0FAAA;AAAA,UACR,IAAA,EAAQ;AAAA,QACV;AAAA,MACF,CAAA;AAAA,MACA,OAAA,EAAW;AAAA,QACT,IAAA,EAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAY,CAAC;AACf,CAAA;AFKA;AACA;AChHO,IAAM,kBAAA,EAAoB,IAAI,yBAAA,CAAY,cAAS,CAAA;ADkH1D;AACA;AACE;AACF,8CAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-WKV4G7E6.js","sourcesContent":[null,"import { ABIContract } from \"algosdk\";\nimport routerABI from \"./router.json\";\n\nexport const routerABIContract = new ABIContract(routerABI);\n","{\n \"name\": \"router\",\n \"methods\": [\n {\n \"name\": \"get_user_discount\",\n \"args\": [\n {\n \"type\": \"address\",\n \"name\": \"user\"\n }\n ],\n \"returns\": {\n \"type\": \"uint64\"\n }\n },\n {\n \"name\": \"opt_into_assets\",\n \"args\": [\n {\n \"type\": \"uint64[]\",\n \"name\": \"opt_in_assets\"\n }\n ],\n \"returns\": {\n \"type\": \"void\"\n }\n },\n {\n \"name\": \"swap_forward\",\n \"args\": [\n {\n \"type\": \"uint64\",\n \"name\": \"end_swap_txn_offset_index\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"input_asset_id\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"percent_input_asset\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"increase_budget\"\n },\n {\n \"type\": \"(uint64,bool,uint64,uint64,uint64,address,uint64,uint64,address,address,uint64,uint64)[]\",\n \"name\": \"forward_path\"\n }\n ],\n \"returns\": {\n \"type\": \"void\"\n }\n },\n {\n \"name\": \"fi_end_swap\",\n \"args\": [\n {\n \"type\": \"uint64\",\n \"name\": \"output_asset_id\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"min_received\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"fee\"\n },\n {\n \"type\": \"address\",\n \"name\": \"referrer\"\n }\n ],\n \"returns\": {\n \"type\": \"void\"\n }\n },\n {\n \"name\": \"fo_end_swap\",\n \"args\": [\n {\n \"type\": \"uint64\",\n \"name\": \"output_asset_id\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"exact_received\"\n },\n {\n \"type\": \"uint64\",\n \"name\": \"fee\"\n },\n {\n \"type\": \"address\",\n \"name\": \"referrer\"\n },\n {\n \"type\": \"(uint64,bool,uint64,uint64,uint64,address,uint64,uint64,address,address,uint64,uint64)[]\",\n \"name\": \"excess_path\"\n }\n ],\n \"returns\": {\n \"type\": \"void\"\n }\n }\n ],\n \"networks\": {}\n}\n"]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import {
|
|
2
|
+
checkSwapTransactions
|
|
3
|
+
} from "./chunk-DHU34JLH.mjs";
|
|
4
|
+
|
|
5
|
+
// src/FolksRouterClient.ts
|
|
6
|
+
import {
|
|
7
|
+
decodeUnsignedTransaction
|
|
8
|
+
} from "algosdk";
|
|
9
|
+
import axios from "axios";
|
|
10
|
+
var BASE_URL = "https://api.folksrouter.io";
|
|
11
|
+
var FolksRouterClient = class {
|
|
12
|
+
constructor(network, apiKey) {
|
|
13
|
+
let url = BASE_URL;
|
|
14
|
+
if (network === "testnet" /* TESTNET */) url += "/testnet";
|
|
15
|
+
url += "/v2";
|
|
16
|
+
if (apiKey !== void 0) {
|
|
17
|
+
url += "/pro";
|
|
18
|
+
}
|
|
19
|
+
this.network = network;
|
|
20
|
+
this.api = axios.create({ baseURL: url, headers: { "x-api-key": apiKey } });
|
|
21
|
+
}
|
|
22
|
+
async fetchUserDiscount(userAddress) {
|
|
23
|
+
const { data } = await this.api.get("/fetch/discount", {
|
|
24
|
+
params: {
|
|
25
|
+
network: this.network,
|
|
26
|
+
userAddress
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
if (!data.success) throw Error(data.errors);
|
|
30
|
+
return data.result;
|
|
31
|
+
}
|
|
32
|
+
async fetchSwapQuote(params, maxGroupSize, feeBps, userFeeDiscount, referrer) {
|
|
33
|
+
const { fromAssetId, toAssetId, amount, swapMode } = params;
|
|
34
|
+
const { data } = await this.api.get("/fetch/quote", {
|
|
35
|
+
params: {
|
|
36
|
+
network: this.network,
|
|
37
|
+
fromAsset: fromAssetId,
|
|
38
|
+
toAsset: toAssetId,
|
|
39
|
+
amount,
|
|
40
|
+
type: swapMode,
|
|
41
|
+
maxGroupSize,
|
|
42
|
+
feeBps,
|
|
43
|
+
userFeeDiscount,
|
|
44
|
+
referrer
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (!data.success) throw Error(data.errors);
|
|
48
|
+
const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;
|
|
49
|
+
return {
|
|
50
|
+
quoteAmount: BigInt(quoteAmount),
|
|
51
|
+
priceImpact,
|
|
52
|
+
microalgoTxnsFee,
|
|
53
|
+
txnPayload
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async prepareSwapTransactions(params, userAddress, slippageBps, swapQuote) {
|
|
57
|
+
const { data } = await this.api.get("/prepare/swap", {
|
|
58
|
+
params: {
|
|
59
|
+
userAddress,
|
|
60
|
+
slippageBps,
|
|
61
|
+
txnPayload: swapQuote.txnPayload
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
if (!data.success) throw Error(data.errors);
|
|
65
|
+
const unsignedTxns = data.result.map(
|
|
66
|
+
(txn) => decodeUnsignedTransaction(Buffer.from(txn, "base64"))
|
|
67
|
+
);
|
|
68
|
+
checkSwapTransactions(this.network, unsignedTxns, params, userAddress, slippageBps, swapQuote);
|
|
69
|
+
return data.result;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export {
|
|
74
|
+
FolksRouterClient
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=chunk-WPZIOEUM.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/FolksRouterClient.ts"],"sourcesContent":["import {\n ABIType,\n decodeAddress,\n decodeUnsignedTransaction,\n encodeAddress,\n getApplicationAddress,\n OnApplicationComplete,\n Transaction,\n TransactionType,\n} from \"algosdk\";\nimport axios, { AxiosInstance } from \"axios\";\nimport { MainnetFolksRouterAppId } from \"./constants/mainnetConstants\";\nimport { TestnetFolksRouterAppId } from \"./constants/testnetConstants\";\nimport { Network, SwapMode, SwapParams, SwapQuote, SwapTransactions } from \"./types\";\nimport { routerABIContract } from \"./abiContracts\";\nimport { mulScale, ONE_4_DP } from \"./utils\";\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;AAAA,EAGE;AAAA,OAMK;AACP,OAAO,WAA8B;AAQrC,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":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/constants/mainnetConstants.ts
|
|
2
|
-
var MainnetFolksRouterAppId =
|
|
2
|
+
var MainnetFolksRouterAppId = 3279848327;
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
exports.MainnetFolksRouterAppId = MainnetFolksRouterAppId;
|
|
7
|
-
//# sourceMappingURL=chunk-
|
|
7
|
+
//# sourceMappingURL=chunk-WSXBJBEU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-WSXBJBEU.js","../src/constants/mainnetConstants.ts"],"names":[],"mappings":"AAAA;ACAA,IAAM,wBAAA,EAA0B,UAAA;ADEhC;AACA;AACE;AACF,0DAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/chunk-WSXBJBEU.js","sourcesContent":[null,"const MainnetFolksRouterAppId = 3279848327;\n\nexport { MainnetFolksRouterAppId };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants/testnetConstants.ts"],"sourcesContent":["const TestnetFolksRouterAppId =
|
|
1
|
+
{"version":3,"sources":["../src/constants/testnetConstants.ts"],"sourcesContent":["const TestnetFolksRouterAppId = 748314673;\n\nexport { TestnetFolksRouterAppId };\n"],"mappings":";AAAA,IAAM,0BAA0B;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkWSXBJBEUjs = require('../chunk-WSXBJBEU.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
exports.MainnetFolksRouterAppId =
|
|
6
|
+
exports.MainnetFolksRouterAppId = _chunkWSXBJBEUjs.MainnetFolksRouterAppId;
|
|
7
7
|
//# sourceMappingURL=mainnetConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/constants/mainnetConstants.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,2EAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/constants/mainnetConstants.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkIVNVWRCMjs = require('../chunk-IVNVWRCM.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
exports.TestnetFolksRouterAppId =
|
|
6
|
+
exports.TestnetFolksRouterAppId = _chunkIVNVWRCMjs.TestnetFolksRouterAppId;
|
|
7
7
|
//# sourceMappingURL=testnetConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/constants/testnetConstants.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,2EAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/constants/testnetConstants.js"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { checkSwapTransactions } from './checks.mjs';
|
|
1
2
|
export { getReferrerLogicSig, prepareClaimReferrerFees, prepareReferrerOptIntoAsset } from './referrer.mjs';
|
|
2
3
|
export { prepareEnableAssetToBeSwapped } from './swap.mjs';
|
|
3
4
|
export { Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions } from './types.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { checkSwapTransactions } from './checks.js';
|
|
1
2
|
export { getReferrerLogicSig, prepareClaimReferrerFees, prepareReferrerOptIntoAsset } from './referrer.js';
|
|
2
3
|
export { prepareEnableAssetToBeSwapped } from './swap.js';
|
|
3
4
|
export { Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions } from './types.js';
|
package/dist/index.js
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkV4ANJGMAjs = require('./chunk-V4ANJGMA.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkSADXHAXYjs = require('./chunk-SADXHAXY.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
var _chunkWSXBJBEUjs = require('./chunk-WSXBJBEU.js');
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
var
|
|
12
|
+
var _chunkIVNVWRCMjs = require('./chunk-IVNVWRCM.js');
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
var _chunkPT53HHNSjs = require('./chunk-PT53HHNS.js');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
+
var _chunkGRBEXEIPjs = require('./chunk-GRBEXEIP.js');
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
var _chunkBVY7JBOWjs = require('./chunk-BVY7JBOW.js');
|
|
17
21
|
|
|
18
|
-
var _chunkMEC4OKESjs = require('./chunk-MEC4OKES.js');
|
|
19
|
-
require('./chunk-HEZCGFMA.js');
|
|
20
22
|
|
|
21
23
|
|
|
22
|
-
var
|
|
24
|
+
var _chunkMEC4OKESjs = require('./chunk-MEC4OKES.js');
|
|
25
|
+
require('./chunk-GTEUZNDL.js');
|
|
26
|
+
|
|
23
27
|
|
|
28
|
+
var _chunkWKV4G7E6js = require('./chunk-WKV4G7E6.js');
|
|
24
29
|
|
|
25
|
-
var _chunkXVPB7BHIjs = require('./chunk-XVPB7BHI.js');
|
|
26
30
|
|
|
27
31
|
|
|
28
32
|
|
|
@@ -34,5 +38,5 @@ var _chunkXVPB7BHIjs = require('./chunk-XVPB7BHI.js');
|
|
|
34
38
|
|
|
35
39
|
|
|
36
40
|
|
|
37
|
-
exports.FolksRouterClient =
|
|
41
|
+
exports.FolksRouterClient = _chunkV4ANJGMAjs.FolksRouterClient; exports.MainnetFolksRouterAppId = _chunkWSXBJBEUjs.MainnetFolksRouterAppId; exports.Network = _chunkMEC4OKESjs.Network; exports.SwapMode = _chunkMEC4OKESjs.SwapMode; exports.TestnetFolksRouterAppId = _chunkIVNVWRCMjs.TestnetFolksRouterAppId; exports.checkSwapTransactions = _chunkSADXHAXYjs.checkSwapTransactions; exports.getReferrerLogicSig = _chunkGRBEXEIPjs.getReferrerLogicSig; exports.prepareClaimReferrerFees = _chunkGRBEXEIPjs.prepareClaimReferrerFees; exports.prepareEnableAssetToBeSwapped = _chunkBVY7JBOWjs.prepareEnableAssetToBeSwapped; exports.prepareReferrerOptIntoAsset = _chunkGRBEXEIPjs.prepareReferrerOptIntoAsset; exports.routerABIContract = _chunkWKV4G7E6js.routerABIContract;
|
|
38
42
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/index.js"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uvBAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/index.js"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,34 +1,38 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FolksRouterClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WPZIOEUM.mjs";
|
|
4
|
+
import {
|
|
5
|
+
checkSwapTransactions
|
|
6
|
+
} from "./chunk-DHU34JLH.mjs";
|
|
7
|
+
import {
|
|
8
|
+
MainnetFolksRouterAppId
|
|
9
|
+
} from "./chunk-VGT24JDM.mjs";
|
|
4
10
|
import {
|
|
5
11
|
TestnetFolksRouterAppId
|
|
6
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YMVA5ZDD.mjs";
|
|
7
13
|
import {
|
|
8
14
|
getReferrerLogicSig,
|
|
9
15
|
prepareClaimReferrerFees,
|
|
10
16
|
prepareReferrerOptIntoAsset
|
|
11
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GQO2R6ON.mjs";
|
|
12
18
|
import {
|
|
13
19
|
prepareEnableAssetToBeSwapped
|
|
14
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-GWQ2U3UO.mjs";
|
|
15
21
|
import {
|
|
16
22
|
Network,
|
|
17
23
|
SwapMode
|
|
18
24
|
} from "./chunk-CV77XZT3.mjs";
|
|
19
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-LE66KKNU.mjs";
|
|
20
26
|
import {
|
|
21
27
|
routerABIContract
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import {
|
|
24
|
-
MainnetFolksRouterAppId
|
|
25
|
-
} from "./chunk-Z537KBSF.mjs";
|
|
28
|
+
} from "./chunk-EYGQH356.mjs";
|
|
26
29
|
export {
|
|
27
30
|
FolksRouterClient,
|
|
28
31
|
MainnetFolksRouterAppId,
|
|
29
32
|
Network,
|
|
30
33
|
SwapMode,
|
|
31
34
|
TestnetFolksRouterAppId,
|
|
35
|
+
checkSwapTransactions,
|
|
32
36
|
getReferrerLogicSig,
|
|
33
37
|
prepareClaimReferrerFees,
|
|
34
38
|
prepareEnableAssetToBeSwapped,
|
package/dist/referrer.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('./chunk-
|
|
5
|
+
var _chunkGRBEXEIPjs = require('./chunk-GRBEXEIP.js');
|
|
6
|
+
require('./chunk-GTEUZNDL.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.getReferrerLogicSig =
|
|
11
|
+
exports.getReferrerLogicSig = _chunkGRBEXEIPjs.getReferrerLogicSig; exports.prepareClaimReferrerFees = _chunkGRBEXEIPjs.prepareClaimReferrerFees; exports.prepareReferrerOptIntoAsset = _chunkGRBEXEIPjs.prepareReferrerOptIntoAsset;
|
|
12
12
|
//# sourceMappingURL=referrer.js.map
|
package/dist/referrer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/referrer.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACF,qOAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/referrer.js"}
|
package/dist/referrer.mjs
CHANGED
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
getReferrerLogicSig,
|
|
3
3
|
prepareClaimReferrerFees,
|
|
4
4
|
prepareReferrerOptIntoAsset
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-GQO2R6ON.mjs";
|
|
6
|
+
import "./chunk-LE66KKNU.mjs";
|
|
7
7
|
export {
|
|
8
8
|
getReferrerLogicSig,
|
|
9
9
|
prepareClaimReferrerFees,
|
package/dist/swap.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
3
|
+
var _chunkBVY7JBOWjs = require('./chunk-BVY7JBOW.js');
|
|
4
|
+
require('./chunk-GTEUZNDL.js');
|
|
5
|
+
require('./chunk-WKV4G7E6.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.prepareEnableAssetToBeSwapped =
|
|
8
|
+
exports.prepareEnableAssetToBeSwapped = _chunkBVY7JBOWjs.prepareEnableAssetToBeSwapped;
|
|
9
9
|
//# sourceMappingURL=swap.js.map
|
package/dist/swap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/swap.js"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACF,uFAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/swap.js"}
|
package/dist/swap.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
prepareEnableAssetToBeSwapped
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-GWQ2U3UO.mjs";
|
|
4
|
+
import "./chunk-LE66KKNU.mjs";
|
|
5
|
+
import "./chunk-EYGQH356.mjs";
|
|
6
6
|
export {
|
|
7
7
|
prepareEnableAssetToBeSwapped
|
|
8
8
|
};
|
package/dist/types.d.mts
CHANGED
|
@@ -24,4 +24,4 @@ interface SwapQuote {
|
|
|
24
24
|
}
|
|
25
25
|
type SwapTransactions = string[];
|
|
26
26
|
|
|
27
|
-
export { Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions };
|
|
27
|
+
export { Network, type ReferrerGroupTransaction, SwapMode, type SwapParams, type SwapQuote, type SwapTransactions };
|
package/dist/types.d.ts
CHANGED
|
@@ -24,4 +24,4 @@ interface SwapQuote {
|
|
|
24
24
|
}
|
|
25
25
|
type SwapTransactions = string[];
|
|
26
26
|
|
|
27
|
-
export { Network, ReferrerGroupTransaction, SwapMode, SwapParams, SwapQuote, SwapTransactions };
|
|
27
|
+
export { Network, type ReferrerGroupTransaction, SwapMode, type SwapParams, type SwapQuote, type SwapTransactions };
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/types.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,yFAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/types.js"}
|
package/dist/utils.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkGTEUZNDLjs = require('./chunk-GTEUZNDL.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.ONE_4_DP =
|
|
12
|
+
exports.ONE_4_DP = _chunkGTEUZNDLjs.ONE_4_DP; exports.mulScale = _chunkGTEUZNDLjs.mulScale; exports.signer = _chunkGTEUZNDLjs.signer; exports.transferAlgoOrAsset = _chunkGTEUZNDLjs.transferAlgoOrAsset;
|
|
13
13
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/utils.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACF,yMAAC","file":"/home/runner/work/folks-router/folks-router/packages/folks-router-js-sdk/dist/utils.js"}
|
package/dist/utils.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.3.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"Algorand"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"algosdk": "^2.
|
|
35
|
-
"axios": "^1.
|
|
34
|
+
"algosdk": "^2.9.0",
|
|
35
|
+
"axios": "^1.11.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^20.7.1",
|
|
39
39
|
"check-export-map": "^1.3.0",
|
|
40
40
|
"ts-node": "^10.9.1",
|
|
41
|
-
"tsup": "^
|
|
41
|
+
"tsup": "^8.3.5",
|
|
42
42
|
"typedoc": "^0.25.1",
|
|
43
43
|
"typescript": "^5.2.2",
|
|
44
44
|
"tsconfig": "0.0.0"
|