@folks-router/js-sdk 0.0.3 → 0.0.5
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 +48 -0
- package/dist/FolksRouterClient.d.mts +11 -0
- package/dist/FolksRouterClient.d.ts +11 -0
- package/dist/FolksRouterClient.js +8 -0
- package/dist/FolksRouterClient.js.map +1 -0
- package/dist/FolksRouterClient.mjs +8 -0
- package/dist/FolksRouterClient.mjs.map +1 -0
- package/dist/abiContracts/index.d.mts +5 -0
- package/dist/abiContracts/index.d.ts +5 -0
- package/dist/abiContracts/index.js +7 -0
- package/dist/abiContracts/index.js.map +1 -0
- package/dist/abiContracts/index.mjs +7 -0
- package/dist/abiContracts/index.mjs.map +1 -0
- package/dist/chunk-3LWHLTYR.js +17 -0
- package/dist/chunk-3LWHLTYR.js.map +1 -0
- package/dist/chunk-3SISBSYJ.mjs +15 -0
- package/dist/chunk-3SISBSYJ.mjs.map +1 -0
- package/dist/chunk-5KRFY72J.js +15 -0
- package/dist/chunk-5KRFY72J.js.map +1 -0
- package/dist/chunk-6756PQ2I.mjs +207 -0
- package/dist/chunk-6756PQ2I.mjs.map +1 -0
- package/dist/chunk-BDETNMUS.mjs +39 -0
- package/dist/chunk-BDETNMUS.mjs.map +1 -0
- package/dist/chunk-BG4SYX7Y.js +56 -0
- package/dist/chunk-BG4SYX7Y.js.map +1 -0
- package/dist/chunk-P22I3FWL.mjs +7 -0
- package/dist/chunk-P22I3FWL.mjs.map +1 -0
- package/dist/chunk-PFXLGIPX.js +207 -0
- package/dist/chunk-PFXLGIPX.js.map +1 -0
- package/dist/chunk-S2SNZROA.mjs +106 -0
- package/dist/chunk-S2SNZROA.mjs.map +1 -0
- package/dist/chunk-T37SGVC7.js +7 -0
- package/dist/chunk-T37SGVC7.js.map +1 -0
- package/dist/chunk-UBG6SOYP.js +39 -0
- package/dist/chunk-UBG6SOYP.js.map +1 -0
- package/dist/chunk-VT2DNZR6.js +106 -0
- package/dist/chunk-VT2DNZR6.js.map +1 -0
- package/dist/chunk-XVPB7BHI.js +7 -0
- package/dist/chunk-XVPB7BHI.js.map +1 -0
- package/dist/chunk-Z537KBSF.mjs +7 -0
- package/dist/chunk-Z537KBSF.mjs.map +1 -0
- package/dist/chunk-ZDVIQZ3R.mjs +56 -0
- package/dist/chunk-ZDVIQZ3R.mjs.map +1 -0
- package/dist/chunk-ZTQMUDZG.mjs +17 -0
- package/dist/chunk-ZTQMUDZG.mjs.map +1 -0
- package/dist/constants/mainnetConstants.d.mts +3 -0
- package/dist/constants/mainnetConstants.d.ts +3 -0
- package/dist/constants/mainnetConstants.js +7 -0
- package/dist/constants/mainnetConstants.js.map +1 -0
- package/dist/constants/mainnetConstants.mjs +7 -0
- package/dist/constants/mainnetConstants.mjs.map +1 -0
- package/dist/constants/testnetConstants.d.mts +3 -0
- package/dist/constants/testnetConstants.d.ts +3 -0
- package/dist/constants/testnetConstants.js +7 -0
- package/dist/constants/testnetConstants.js.map +1 -0
- package/dist/constants/testnetConstants.mjs +7 -0
- package/dist/constants/testnetConstants.mjs.map +1 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +38 -0
- package/dist/index.mjs.map +1 -0
- package/dist/referrer.d.mts +8 -0
- package/dist/referrer.d.ts +8 -0
- package/dist/referrer.js +12 -0
- package/dist/referrer.js.map +1 -0
- package/dist/referrer.mjs +12 -0
- package/dist/referrer.mjs.map +1 -0
- package/dist/swap.d.mts +5 -0
- package/dist/swap.d.ts +5 -0
- package/dist/swap.js +9 -0
- package/dist/swap.js.map +1 -0
- package/dist/swap.mjs +9 -0
- package/dist/swap.mjs.map +1 -0
- package/dist/types.d.mts +21 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +9 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils.d.mts +9 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +9 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +8 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunk5KRFY72Jjs = require('./chunk-5KRFY72J.js');
|
|
4
|
+
|
|
5
|
+
// src/referrer.ts
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _algosdk = require('algosdk');
|
|
13
|
+
function getReferrerLogicSig(referrerAddr) {
|
|
14
|
+
const prefix = Uint8Array.from([
|
|
15
|
+
9,
|
|
16
|
+
32,
|
|
17
|
+
3,
|
|
18
|
+
1,
|
|
19
|
+
4,
|
|
20
|
+
0,
|
|
21
|
+
128,
|
|
22
|
+
12,
|
|
23
|
+
70,
|
|
24
|
+
79,
|
|
25
|
+
76,
|
|
26
|
+
75,
|
|
27
|
+
83,
|
|
28
|
+
95,
|
|
29
|
+
82,
|
|
30
|
+
79,
|
|
31
|
+
85,
|
|
32
|
+
84,
|
|
33
|
+
69,
|
|
34
|
+
82,
|
|
35
|
+
72,
|
|
36
|
+
49,
|
|
37
|
+
1,
|
|
38
|
+
36,
|
|
39
|
+
18,
|
|
40
|
+
68,
|
|
41
|
+
49,
|
|
42
|
+
32,
|
|
43
|
+
50,
|
|
44
|
+
3,
|
|
45
|
+
18,
|
|
46
|
+
68,
|
|
47
|
+
49,
|
|
48
|
+
9,
|
|
49
|
+
50,
|
|
50
|
+
3,
|
|
51
|
+
18,
|
|
52
|
+
68,
|
|
53
|
+
49,
|
|
54
|
+
21,
|
|
55
|
+
50,
|
|
56
|
+
3,
|
|
57
|
+
18,
|
|
58
|
+
68,
|
|
59
|
+
49,
|
|
60
|
+
16,
|
|
61
|
+
34,
|
|
62
|
+
18,
|
|
63
|
+
49,
|
|
64
|
+
16,
|
|
65
|
+
35,
|
|
66
|
+
18,
|
|
67
|
+
17,
|
|
68
|
+
68,
|
|
69
|
+
49,
|
|
70
|
+
16,
|
|
71
|
+
35,
|
|
72
|
+
18,
|
|
73
|
+
49,
|
|
74
|
+
20,
|
|
75
|
+
49,
|
|
76
|
+
0,
|
|
77
|
+
18,
|
|
78
|
+
16,
|
|
79
|
+
64,
|
|
80
|
+
0,
|
|
81
|
+
53,
|
|
82
|
+
49,
|
|
83
|
+
16,
|
|
84
|
+
35,
|
|
85
|
+
18,
|
|
86
|
+
64,
|
|
87
|
+
0,
|
|
88
|
+
41,
|
|
89
|
+
49,
|
|
90
|
+
7,
|
|
91
|
+
128,
|
|
92
|
+
32
|
|
93
|
+
]);
|
|
94
|
+
const suffix = Uint8Array.from([
|
|
95
|
+
18,
|
|
96
|
+
68,
|
|
97
|
+
66,
|
|
98
|
+
0,
|
|
99
|
+
79,
|
|
100
|
+
49,
|
|
101
|
+
20,
|
|
102
|
+
66,
|
|
103
|
+
255,
|
|
104
|
+
212,
|
|
105
|
+
49,
|
|
106
|
+
22,
|
|
107
|
+
34,
|
|
108
|
+
9,
|
|
109
|
+
56,
|
|
110
|
+
16,
|
|
111
|
+
34,
|
|
112
|
+
18,
|
|
113
|
+
68,
|
|
114
|
+
49,
|
|
115
|
+
22,
|
|
116
|
+
34,
|
|
117
|
+
9,
|
|
118
|
+
56,
|
|
119
|
+
0,
|
|
120
|
+
49,
|
|
121
|
+
0,
|
|
122
|
+
19,
|
|
123
|
+
68,
|
|
124
|
+
49,
|
|
125
|
+
22,
|
|
126
|
+
34,
|
|
127
|
+
9,
|
|
128
|
+
56,
|
|
129
|
+
7,
|
|
130
|
+
49,
|
|
131
|
+
0,
|
|
132
|
+
18,
|
|
133
|
+
68,
|
|
134
|
+
49,
|
|
135
|
+
22,
|
|
136
|
+
34,
|
|
137
|
+
9,
|
|
138
|
+
56,
|
|
139
|
+
8,
|
|
140
|
+
50,
|
|
141
|
+
1,
|
|
142
|
+
18,
|
|
143
|
+
68,
|
|
144
|
+
49,
|
|
145
|
+
22,
|
|
146
|
+
34,
|
|
147
|
+
9,
|
|
148
|
+
56,
|
|
149
|
+
32,
|
|
150
|
+
50,
|
|
151
|
+
3,
|
|
152
|
+
18,
|
|
153
|
+
68,
|
|
154
|
+
49,
|
|
155
|
+
22,
|
|
156
|
+
34,
|
|
157
|
+
9,
|
|
158
|
+
56,
|
|
159
|
+
9,
|
|
160
|
+
50,
|
|
161
|
+
3,
|
|
162
|
+
18,
|
|
163
|
+
68,
|
|
164
|
+
49,
|
|
165
|
+
22,
|
|
166
|
+
34,
|
|
167
|
+
9,
|
|
168
|
+
56,
|
|
169
|
+
21,
|
|
170
|
+
50,
|
|
171
|
+
3,
|
|
172
|
+
18,
|
|
173
|
+
68,
|
|
174
|
+
49,
|
|
175
|
+
18,
|
|
176
|
+
36,
|
|
177
|
+
18,
|
|
178
|
+
68,
|
|
179
|
+
34,
|
|
180
|
+
67
|
|
181
|
+
]);
|
|
182
|
+
return new (0, _algosdk.LogicSigAccount)(new Uint8Array([...prefix, ..._algosdk.decodeAddress.call(void 0, referrerAddr).publicKey, ...suffix]));
|
|
183
|
+
}
|
|
184
|
+
var buildReferrerGroupTransaction = (txns, lsig) => _algosdk.assignGroupID.call(void 0, txns).map((txn) => ({
|
|
185
|
+
unsignedTxn: _algosdk.encodeUnsignedTransaction.call(void 0, txn),
|
|
186
|
+
lsig: _algosdk.encodeAddress.call(void 0, txn.from.publicKey) === lsig.address() ? lsig.toByte() : void 0
|
|
187
|
+
}));
|
|
188
|
+
function prepareReferrerOptIntoAsset(senderAddr, referrerAddr, assetId, params) {
|
|
189
|
+
const lsig = getReferrerLogicSig(referrerAddr);
|
|
190
|
+
const MIN_BALANCE = BigInt(1e5);
|
|
191
|
+
const minBalancePayment = _chunk5KRFY72Jjs.transferAlgoOrAsset.call(void 0, 0, senderAddr, lsig.address(), MIN_BALANCE, { ...params, fee: 2e3 });
|
|
192
|
+
const assetOptIn = _chunk5KRFY72Jjs.transferAlgoOrAsset.call(void 0, assetId, lsig.address(), lsig.address(), 0, { ...params, fee: 0 });
|
|
193
|
+
return buildReferrerGroupTransaction([minBalancePayment, assetOptIn], lsig);
|
|
194
|
+
}
|
|
195
|
+
function prepareClaimReferrerFees(senderAddr, referrerAddr, assetId, amount, params) {
|
|
196
|
+
const lsig = getReferrerLogicSig(referrerAddr);
|
|
197
|
+
const groupFeePayment = _chunk5KRFY72Jjs.transferAlgoOrAsset.call(void 0, 0, senderAddr, senderAddr, 0, { ...params, fee: 2e3 });
|
|
198
|
+
const claim = _chunk5KRFY72Jjs.transferAlgoOrAsset.call(void 0, assetId, lsig.address(), referrerAddr, amount, { ...params, fee: 0 });
|
|
199
|
+
return buildReferrerGroupTransaction([groupFeePayment, claim], lsig);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
exports.getReferrerLogicSig = getReferrerLogicSig; exports.prepareReferrerOptIntoAsset = prepareReferrerOptIntoAsset; exports.prepareClaimReferrerFees = prepareClaimReferrerFees;
|
|
207
|
+
//# sourceMappingURL=chunk-PFXLGIPX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/referrer.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assignGroupID,\n decodeAddress, encodeAddress,\n encodeUnsignedTransaction,\n LogicSigAccount,\n SuggestedParams, Transaction\n} from \"algosdk\";\nimport { ReferrerGroupTransaction } from \"./types\";\nimport { transferAlgoOrAsset } from \"./utils\";\n\nfunction getReferrerLogicSig(referrerAddr: string): LogicSigAccount {\n const prefix = Uint8Array.from([\n 9, 32, 3, 1, 4, 0, 128, 12, 70, 79, 76, 75, 83, 95, 82, 79, 85, 84, 69, 82, 72, 49, 1, 36, 18, 68, 49, 32, 50, 3,\n 18, 68, 49, 9, 50, 3, 18, 68, 49, 21, 50, 3, 18, 68, 49, 16, 34, 18, 49, 16, 35, 18, 17, 68, 49, 16, 35, 18, 49, 20,\n 49, 0, 18, 16, 64, 0, 53, 49, 16, 35, 18, 64, 0, 41, 49, 7, 128, 32,\n ]);\n const suffix = Uint8Array.from([\n 18, 68, 66, 0, 79, 49, 20, 66, 255, 212, 49, 22, 34, 9, 56, 16, 34, 18, 68, 49, 22, 34, 9, 56, 0, 49, 0, 19, 68, 49,\n 22, 34, 9, 56, 7, 49, 0, 18, 68, 49, 22, 34, 9, 56, 8, 50, 1, 18, 68, 49, 22, 34, 9, 56, 32, 50, 3, 18, 68, 49, 22,\n 34, 9, 56, 9, 50, 3, 18, 68, 49, 22, 34, 9, 56, 21, 50, 3, 18, 68, 49, 18, 36, 18, 68, 34, 67,\n ]);\n return new LogicSigAccount(new Uint8Array([...prefix, ...decodeAddress(referrerAddr).publicKey, ...suffix]));\n}\n\nconst buildReferrerGroupTransaction = (txns: Transaction[], lsig: LogicSigAccount): ReferrerGroupTransaction =>\n assignGroupID(txns).map((txn) => ({\n unsignedTxn: encodeUnsignedTransaction(txn),\n lsig: encodeAddress(txn.from.publicKey) === lsig.address() ? lsig.toByte() : undefined,\n }));\n\nfunction prepareReferrerOptIntoAsset(\n senderAddr: string,\n referrerAddr: string,\n assetId: number,\n params: SuggestedParams,\n): ReferrerGroupTransaction {\n const lsig = getReferrerLogicSig(referrerAddr);\n\n // generate transactions\n const MIN_BALANCE = BigInt(0.1e6);\n const minBalancePayment = transferAlgoOrAsset(0, senderAddr, lsig.address(), MIN_BALANCE, { ...params, fee: 2000 });\n const assetOptIn = transferAlgoOrAsset(assetId, lsig.address(), lsig.address(), 0, { ...params, fee: 0 });\n\n // group, encode and attach lsig\n return buildReferrerGroupTransaction([minBalancePayment, assetOptIn], lsig);\n}\n\nfunction prepareClaimReferrerFees(\n senderAddr: string,\n referrerAddr: string,\n assetId: number,\n amount: number | bigint,\n params: SuggestedParams,\n): ReferrerGroupTransaction {\n const lsig = getReferrerLogicSig(referrerAddr);\n\n // generate transactions\n const groupFeePayment = transferAlgoOrAsset(0, senderAddr, senderAddr, 0, { ...params, fee: 2000 });\n const claim = transferAlgoOrAsset(assetId, lsig.address(), referrerAddr, amount, { ...params, fee: 0 });\n\n // group, encode and attach lsig\n return buildReferrerGroupTransaction([groupFeePayment, claim], lsig);\n}\n\nexport { getReferrerLogicSig, prepareReferrerOptIntoAsset, prepareClaimReferrerFees };\n"]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// src/abiContracts/index.ts
|
|
2
|
+
import { ABIContract } from "algosdk";
|
|
3
|
+
|
|
4
|
+
// src/abiContracts/router.json
|
|
5
|
+
var router_default = {
|
|
6
|
+
name: "router",
|
|
7
|
+
methods: [
|
|
8
|
+
{
|
|
9
|
+
name: "opt_into_assets",
|
|
10
|
+
args: [
|
|
11
|
+
{
|
|
12
|
+
type: "uint64[]",
|
|
13
|
+
name: "opt_in_assets"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
returns: {
|
|
17
|
+
type: "void"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "swap_forward",
|
|
22
|
+
args: [
|
|
23
|
+
{
|
|
24
|
+
type: "uint64",
|
|
25
|
+
name: "end_swap_txn_offset_index"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: "uint64",
|
|
29
|
+
name: "input_asset_id"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: "uint64",
|
|
33
|
+
name: "percent_input_asset"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: "(uint64,bool,uint64,uint64,uint64,address,uint64,uint64,address,address,uint64,uint64)[]",
|
|
37
|
+
name: "forward_path"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
returns: {
|
|
41
|
+
type: "void"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "fi_end_swap",
|
|
46
|
+
args: [
|
|
47
|
+
{
|
|
48
|
+
type: "uint64",
|
|
49
|
+
name: "output_asset_id"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: "uint64",
|
|
53
|
+
name: "min_received"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: "uint64",
|
|
57
|
+
name: "fee"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: "address",
|
|
61
|
+
name: "referrer"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
returns: {
|
|
65
|
+
type: "void"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "fo_end_swap",
|
|
70
|
+
args: [
|
|
71
|
+
{
|
|
72
|
+
type: "uint64",
|
|
73
|
+
name: "output_asset_id"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: "uint64",
|
|
77
|
+
name: "exact_received"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: "uint64",
|
|
81
|
+
name: "fee"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "address",
|
|
85
|
+
name: "referrer"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: "(uint64,bool,uint64,uint64,uint64,address,uint64,uint64,address,address,uint64,uint64)[]",
|
|
89
|
+
name: "excess_path"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
returns: {
|
|
93
|
+
type: "void"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
networks: {}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// src/abiContracts/index.ts
|
|
101
|
+
var routerABIContract = new ABIContract(router_default);
|
|
102
|
+
|
|
103
|
+
export {
|
|
104
|
+
routerABIContract
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=chunk-S2SNZROA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abiContracts/index.ts","../src/abiContracts/router.json"],"sourcesContent":["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\": \"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,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"],"mappings":";AAAA,SAAS,mBAAmB;;;ACA5B;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,IACT;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAY,CAAC;AACf;;;AD1FO,IAAM,oBAAoB,IAAI,YAAY,cAAS;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants/testnetConstants.ts"],"names":[],"mappings":";AAAA,IAAM,0BAA0B","sourcesContent":["const TestnetFolksRouterAppId = 430586725;\n\nexport { TestnetFolksRouterAppId };\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunk5KRFY72Jjs = require('./chunk-5KRFY72J.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkVT2DNZR6js = require('./chunk-VT2DNZR6.js');
|
|
8
|
+
|
|
9
|
+
// src/swap.ts
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _algosdk = require('algosdk');
|
|
16
|
+
function prepareEnableAssetToBeSwapped(appId, senderAddr, assetIds, params) {
|
|
17
|
+
const amount = assetIds.length * 1e5;
|
|
18
|
+
const paymentTxn = _chunk5KRFY72Jjs.transferAlgoOrAsset.call(void 0, 0, senderAddr, _algosdk.getApplicationAddress.call(void 0, appId), amount, params);
|
|
19
|
+
const atc = new (0, _algosdk.AtomicTransactionComposer)();
|
|
20
|
+
atc.addMethodCall({
|
|
21
|
+
sender: senderAddr,
|
|
22
|
+
signer: _chunk5KRFY72Jjs.signer,
|
|
23
|
+
appID: appId,
|
|
24
|
+
method: _algosdk.getMethodByName.call(void 0, _chunkVT2DNZR6js.routerABIContract.methods, "opt_into_assets"),
|
|
25
|
+
methodArgs: [assetIds],
|
|
26
|
+
appForeignAssets: assetIds,
|
|
27
|
+
suggestedParams: { ...params, fee: (1 + assetIds.length) * 1e3 }
|
|
28
|
+
});
|
|
29
|
+
const txns = atc.buildGroup().map(({ txn }) => {
|
|
30
|
+
txn.group = void 0;
|
|
31
|
+
return txn;
|
|
32
|
+
});
|
|
33
|
+
return _algosdk.assignGroupID.call(void 0, [paymentTxn, txns[0]]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
exports.prepareEnableAssetToBeSwapped = prepareEnableAssetToBeSwapped;
|
|
39
|
+
//# sourceMappingURL=chunk-UBG6SOYP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/swap.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAIP,SAAS,8BACP,OACA,YACA,UACA,QACe;AAEf,QAAM,SAAS,SAAS,SAAS;AACjC,QAAM,aAAa,oBAAoB,GAAG,YAAY,sBAAsB,KAAK,GAAG,QAAQ,MAAM;AAGlG,QAAM,MAAM,IAAI,0BAA0B;AAC1C,MAAI,cAAc;AAAA,IAChB,QAAQ;AAAA,IACR;AAAA,IACA,OAAO;AAAA,IACP,QAAQ,gBAAgB,kBAAkB,SAAS,iBAAiB;AAAA,IACpE,YAAY,CAAC,QAAQ;AAAA,IACrB,kBAAkB;AAAA,IAClB,iBAAiB,EAAE,GAAG,QAAQ,MAAM,IAAI,SAAS,UAAU,IAAK;AAAA,EAClE,CAAC;AACD,QAAM,OAAO,IAAI,WAAW,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM;AAC7C,QAAI,QAAQ;AACZ,WAAO;AAAA,EACT,CAAC;AACD,SAAO,cAAc,CAAC,YAAY,KAAK,CAAC,CAAE,CAAC;AAC7C","sourcesContent":["import {\n assignGroupID,\n AtomicTransactionComposer,\n getApplicationAddress,\n getMethodByName,\n SuggestedParams,\n Transaction\n} from \"algosdk\";\nimport { routerABIContract } from \"./abiContracts\";\nimport { signer, transferAlgoOrAsset } from \"./utils\";\n\nfunction prepareEnableAssetToBeSwapped(\n appId: number,\n senderAddr: string,\n assetIds: number[],\n params: SuggestedParams,\n): Transaction[] {\n // payment txn\n const amount = assetIds.length * 0.1e6;\n const paymentTxn = transferAlgoOrAsset(0, senderAddr, getApplicationAddress(appId), amount, params);\n\n // opt in txn\n const atc = new AtomicTransactionComposer();\n atc.addMethodCall({\n sender: senderAddr,\n signer,\n appID: appId,\n method: getMethodByName(routerABIContract.methods, \"opt_into_assets\"),\n methodArgs: [assetIds],\n appForeignAssets: assetIds,\n suggestedParams: { ...params, fee: (1 + assetIds.length) * 1000 },\n });\n const txns = atc.buildGroup().map(({ txn }) => {\n txn.group = undefined;\n return txn;\n });\n return assignGroupID([paymentTxn, txns[0]!]);\n}\n\nexport { prepareEnableAssetToBeSwapped };\n"]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/abiContracts/index.ts
|
|
2
|
+
var _algosdk = require('algosdk');
|
|
3
|
+
|
|
4
|
+
// src/abiContracts/router.json
|
|
5
|
+
var router_default = {
|
|
6
|
+
name: "router",
|
|
7
|
+
methods: [
|
|
8
|
+
{
|
|
9
|
+
name: "opt_into_assets",
|
|
10
|
+
args: [
|
|
11
|
+
{
|
|
12
|
+
type: "uint64[]",
|
|
13
|
+
name: "opt_in_assets"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
returns: {
|
|
17
|
+
type: "void"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "swap_forward",
|
|
22
|
+
args: [
|
|
23
|
+
{
|
|
24
|
+
type: "uint64",
|
|
25
|
+
name: "end_swap_txn_offset_index"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: "uint64",
|
|
29
|
+
name: "input_asset_id"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: "uint64",
|
|
33
|
+
name: "percent_input_asset"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: "(uint64,bool,uint64,uint64,uint64,address,uint64,uint64,address,address,uint64,uint64)[]",
|
|
37
|
+
name: "forward_path"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
returns: {
|
|
41
|
+
type: "void"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "fi_end_swap",
|
|
46
|
+
args: [
|
|
47
|
+
{
|
|
48
|
+
type: "uint64",
|
|
49
|
+
name: "output_asset_id"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: "uint64",
|
|
53
|
+
name: "min_received"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: "uint64",
|
|
57
|
+
name: "fee"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: "address",
|
|
61
|
+
name: "referrer"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
returns: {
|
|
65
|
+
type: "void"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "fo_end_swap",
|
|
70
|
+
args: [
|
|
71
|
+
{
|
|
72
|
+
type: "uint64",
|
|
73
|
+
name: "output_asset_id"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: "uint64",
|
|
77
|
+
name: "exact_received"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: "uint64",
|
|
81
|
+
name: "fee"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "address",
|
|
85
|
+
name: "referrer"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: "(uint64,bool,uint64,uint64,uint64,address,uint64,uint64,address,address,uint64,uint64)[]",
|
|
89
|
+
name: "excess_path"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
returns: {
|
|
93
|
+
type: "void"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
networks: {}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// src/abiContracts/index.ts
|
|
101
|
+
var routerABIContract = new (0, _algosdk.ABIContract)(router_default);
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
exports.routerABIContract = routerABIContract;
|
|
106
|
+
//# sourceMappingURL=chunk-VT2DNZR6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abiContracts/index.ts","../src/abiContracts/router.json"],"names":[],"mappings":";AAAA,SAAS,mBAAmB;;;ACA5B;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,IACT;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,MAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAY,CAAC;AACf;;;AD1FO,IAAM,oBAAoB,IAAI,YAAY,cAAS","sourcesContent":["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\": \"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,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 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants/mainnetConstants.ts"],"names":[],"mappings":";AAAA,IAAM,0BAA0B","sourcesContent":["const MainnetFolksRouterAppId = 1212658560;\n\nexport { MainnetFolksRouterAppId };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants/mainnetConstants.ts"],"sourcesContent":["const MainnetFolksRouterAppId = 1212658560;\n\nexport { MainnetFolksRouterAppId };\n"],"mappings":";AAAA,IAAM,0BAA0B;","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// src/FolksRouterClient.ts
|
|
2
|
+
import axios from "axios";
|
|
3
|
+
var BASE_URL = "https://api.folksrouter.io";
|
|
4
|
+
var FolksRouterClient = class {
|
|
5
|
+
constructor(network, apiKey) {
|
|
6
|
+
let url = BASE_URL;
|
|
7
|
+
if (network === "testnet" /* TESTNET */)
|
|
8
|
+
url += "/testnet";
|
|
9
|
+
url += "/v1";
|
|
10
|
+
if (apiKey !== void 0) {
|
|
11
|
+
url += "/pro";
|
|
12
|
+
}
|
|
13
|
+
this.network = network;
|
|
14
|
+
this.api = axios.create({ baseURL: url, headers: { "x-api-key": apiKey } });
|
|
15
|
+
}
|
|
16
|
+
async fetchSwapQuote(fromAssetId, toAssetId, amount, swapMode, maxGroupSize, feeBps, referrer) {
|
|
17
|
+
const { data } = await this.api.get("/fetch/quote", {
|
|
18
|
+
params: {
|
|
19
|
+
network: this.network,
|
|
20
|
+
fromAsset: fromAssetId,
|
|
21
|
+
toAsset: toAssetId,
|
|
22
|
+
amount,
|
|
23
|
+
type: swapMode,
|
|
24
|
+
maxGroupSize,
|
|
25
|
+
feeBps,
|
|
26
|
+
referrer
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
if (!data.success)
|
|
30
|
+
throw Error(data.errors);
|
|
31
|
+
const { quoteAmount, priceImpact, microalgoTxnsFee, txnPayload } = data.result;
|
|
32
|
+
return {
|
|
33
|
+
quoteAmount: BigInt(quoteAmount),
|
|
34
|
+
priceImpact,
|
|
35
|
+
microalgoTxnsFee,
|
|
36
|
+
txnPayload
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async prepareSwapTransactions(userAddress, slippageBps, swapQuote) {
|
|
40
|
+
const { data } = await this.api.get("/prepare/swap", {
|
|
41
|
+
params: {
|
|
42
|
+
userAddress,
|
|
43
|
+
slippageBps,
|
|
44
|
+
txnPayload: swapQuote.txnPayload
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (!data.success)
|
|
48
|
+
throw Error(data.errors);
|
|
49
|
+
return data.result;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
FolksRouterClient
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-ZDVIQZ3R.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/FolksRouterClient.ts"],"sourcesContent":["import axios, { AxiosInstance} from \"axios\";\nimport { Network, SwapMode, SwapQuote, SwapTransactions } from \"./types\";\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 += \"/v1\";\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 fetchSwapQuote(\n fromAssetId: number,\n toAssetId: number,\n amount: number | bigint,\n swapMode: SwapMode,\n maxGroupSize?: number,\n feeBps?: number | bigint,\n referrer?: string,\n ): Promise<SwapQuote> {\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 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 userAddress: string,\n slippageBps: number | bigint,\n swapQuote: SwapQuote,\n ): Promise<SwapTransactions> {\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 return data.result;\n }\n}\n"],"mappings":";AAAA,OAAO,WAA6B;AAGpC,IAAM,WAAW;AAEV,IAAM,oBAAN,MAAwB;AAAA,EAI7B,YAAY,SAAkB,QAAiB;AAE7C,QAAI,MAAM;AACV,QAAI;AAA6B,aAAO;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,EAAC,CAAC;AAAA,EAC3E;AAAA,EAEA,MAAa,eACX,aACA,WACA,QACA,UACA,cACA,QACA,UACoB;AACpB,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,MACF;AAAA,IACF,CAAC;AACD,QAAI,CAAC,KAAK;AAAS,YAAM,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,aACA,aACA,WAC2B;AAC3B,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;AAAS,YAAM,MAAM,KAAK,MAAM;AAE1C,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// src/types.ts
|
|
2
|
+
var Network = /* @__PURE__ */ ((Network2) => {
|
|
3
|
+
Network2["MAINNET"] = "mainnet";
|
|
4
|
+
Network2["TESTNET"] = "testnet";
|
|
5
|
+
return Network2;
|
|
6
|
+
})(Network || {});
|
|
7
|
+
var SwapMode = /* @__PURE__ */ ((SwapMode2) => {
|
|
8
|
+
SwapMode2["FIXED_INPUT"] = "FIXED_INPUT";
|
|
9
|
+
SwapMode2["FIXED_OUTPUT"] = "FIXED_OUTPUT";
|
|
10
|
+
return SwapMode2;
|
|
11
|
+
})(SwapMode || {});
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
Network,
|
|
15
|
+
SwapMode
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-ZTQMUDZG.mjs.map
|
|
@@ -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\nenum SwapMode {\n FIXED_INPUT = \"FIXED_INPUT\",\n FIXED_OUTPUT = \"FIXED_OUTPUT\",\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, 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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|