@pioneer-platform/helpers 4.0.12 → 4.1.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/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # @pioneer-platform/helpers
2
+
3
+ ## 4.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Release: minor version bump for all packages
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @pioneer-platform/loggerdog@8.4.0
@@ -16,7 +16,7 @@ export declare const getCommonAssetInfo: (assetString: CommonAssetString) => {
16
16
  export declare const getAssetType: ({ chain, symbol }: {
17
17
  chain: Chain;
18
18
  symbol: string;
19
- }) => Chain.Avalanche | Chain.Cosmos | Chain.Kujira | "Synth" | "Native" | "BEP2" | "BEP20" | "ERC20" | "POLYGON" | "ARBITRUM" | "OPTIMISM" | undefined;
19
+ }) => Chain.Avalanche | Chain.Cosmos | Chain.Kujira | "Synth" | "Native" | "ERC20" | "POLYGON" | "ARBITRUM" | "OPTIMISM" | undefined;
20
20
  export declare const assetFromString: (assetString: string) => {
21
21
  chain: Chain;
22
22
  symbol: string;
@@ -8,127 +8,73 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var _a;
39
11
  Object.defineProperty(exports, "__esModule", { value: true });
40
12
  exports.filterAssets = exports.assetFromString = exports.getAssetType = exports.getCommonAssetInfo = exports.isGasAsset = exports.gasFeeMultiplier = exports.getDecimal = void 0;
41
- var types_1 = require("@coinmasters/types");
42
- var index_1 = require("../index");
43
- var getDecimalMethodHex = '0x313ce567';
44
- var getContractDecimals = function (_a) {
45
- var chain = _a.chain, to = _a.to;
46
- return __awaiter(void 0, void 0, void 0, function () {
47
- var result, error_1;
48
- return __generator(this, function (_b) {
49
- switch (_b.label) {
50
- case 0:
51
- _b.trys.push([0, 2, , 3]);
52
- return [4 /*yield*/, index_1.RequestClient.post(types_1.ChainToRPC[chain], {
53
- headers: {
54
- accept: '*/*',
55
- 'content-type': 'application/json',
56
- 'cache-control': 'no-cache',
57
- },
58
- body: JSON.stringify({
59
- id: 44,
60
- jsonrpc: '2.0',
61
- method: 'eth_call',
62
- params: [{ to: to.toLowerCase(), data: getDecimalMethodHex }, 'latest'],
63
- }),
64
- })];
65
- case 1:
66
- result = (_b.sent()).result;
67
- return [2 /*return*/, parseInt(BigInt(result).toString())];
68
- case 2:
69
- error_1 = _b.sent();
70
- console.error(error_1);
71
- // @ts-ignore
72
- return [2 /*return*/, types_1.BaseDecimal[chain]];
73
- case 3: return [2 /*return*/];
74
- }
13
+ const types_1 = require("@coinmasters/types");
14
+ const index_1 = require("../index");
15
+ const getDecimalMethodHex = '0x313ce567';
16
+ const getContractDecimals = (_a) => __awaiter(void 0, [_a], void 0, function* ({ chain, to }) {
17
+ try {
18
+ const { result } = yield index_1.RequestClient.post(types_1.ChainToRPC[chain], {
19
+ headers: {
20
+ accept: '*/*',
21
+ 'content-type': 'application/json',
22
+ 'cache-control': 'no-cache',
23
+ },
24
+ body: JSON.stringify({
25
+ id: 44,
26
+ jsonrpc: '2.0',
27
+ method: 'eth_call',
28
+ params: [{ to: to.toLowerCase(), data: getDecimalMethodHex }, 'latest'],
29
+ }),
75
30
  });
76
- });
77
- };
78
- var getETHAssetDecimal = function (symbol) { return __awaiter(void 0, void 0, void 0, function () {
79
- var _a, address;
80
- return __generator(this, function (_b) {
81
- if (symbol === types_1.Chain.Ethereum)
82
- return [2 /*return*/, types_1.BaseDecimal.ETH];
83
- _a = symbol.split('-'), address = _a[1];
84
- return [2 /*return*/, (address === null || address === void 0 ? void 0 : address.startsWith('0x'))
85
- ? getContractDecimals({ chain: types_1.Chain.Ethereum, to: address })
86
- : types_1.BaseDecimal.ETH];
87
- });
88
- }); };
89
- var getAVAXAssetDecimal = function (symbol) { return __awaiter(void 0, void 0, void 0, function () {
90
- var _a, address;
91
- return __generator(this, function (_b) {
92
- _a = symbol.split('-'), address = _a[1];
93
- return [2 /*return*/, (address === null || address === void 0 ? void 0 : address.startsWith('0x'))
94
- ? getContractDecimals({ chain: types_1.Chain.Avalanche, to: address.toLowerCase() })
95
- : types_1.BaseDecimal.AVAX];
96
- });
97
- }); };
98
- var getBSCAssetDecimal = function (symbol) { return __awaiter(void 0, void 0, void 0, function () {
99
- return __generator(this, function (_a) {
100
- if (symbol === types_1.Chain.BinanceSmartChain)
101
- return [2 /*return*/, types_1.BaseDecimal.BSC];
102
- return [2 /*return*/, types_1.BaseDecimal.BSC];
103
- });
104
- }); };
105
- var getDecimal = function (_a) {
106
- var chain = _a.chain, symbol = _a.symbol;
107
- return __awaiter(void 0, void 0, void 0, function () {
108
- return __generator(this, function (_b) {
109
- switch (chain) {
110
- case types_1.Chain.Ethereum:
111
- return [2 /*return*/, getETHAssetDecimal(symbol)];
112
- case types_1.Chain.Avalanche:
113
- return [2 /*return*/, getAVAXAssetDecimal(symbol)];
114
- case types_1.Chain.BinanceSmartChain:
115
- return [2 /*return*/, getBSCAssetDecimal(symbol)];
116
- default:
117
- // @ts-ignore
118
- return [2 /*return*/, types_1.BaseDecimal[chain]];
119
- }
120
- return [2 /*return*/];
121
- });
122
- });
123
- };
31
+ return parseInt(BigInt(result).toString());
32
+ }
33
+ catch (error) {
34
+ console.error(error);
35
+ // @ts-ignore
36
+ return types_1.BaseDecimal[chain];
37
+ }
38
+ });
39
+ const getETHAssetDecimal = (symbol) => __awaiter(void 0, void 0, void 0, function* () {
40
+ if (symbol === types_1.Chain.Ethereum)
41
+ return types_1.BaseDecimal.ETH;
42
+ const [, address] = symbol.split('-');
43
+ return (address === null || address === void 0 ? void 0 : address.startsWith('0x'))
44
+ ? getContractDecimals({ chain: types_1.Chain.Ethereum, to: address })
45
+ : types_1.BaseDecimal.ETH;
46
+ });
47
+ const getAVAXAssetDecimal = (symbol) => __awaiter(void 0, void 0, void 0, function* () {
48
+ const [, address] = symbol.split('-');
49
+ return (address === null || address === void 0 ? void 0 : address.startsWith('0x'))
50
+ ? getContractDecimals({ chain: types_1.Chain.Avalanche, to: address.toLowerCase() })
51
+ : types_1.BaseDecimal.AVAX;
52
+ });
53
+ const getBSCAssetDecimal = (symbol) => __awaiter(void 0, void 0, void 0, function* () {
54
+ if (symbol === types_1.Chain.BinanceSmartChain)
55
+ return types_1.BaseDecimal.BSC;
56
+ return types_1.BaseDecimal.BSC;
57
+ });
58
+ const getDecimal = (_a) => __awaiter(void 0, [_a], void 0, function* ({ chain, symbol }) {
59
+ switch (chain) {
60
+ case types_1.Chain.Ethereum:
61
+ return getETHAssetDecimal(symbol);
62
+ case types_1.Chain.Avalanche:
63
+ return getAVAXAssetDecimal(symbol);
64
+ case types_1.Chain.BinanceSmartChain:
65
+ return getBSCAssetDecimal(symbol);
66
+ default:
67
+ // @ts-ignore
68
+ return types_1.BaseDecimal[chain];
69
+ }
70
+ });
124
71
  exports.getDecimal = getDecimal;
125
- exports.gasFeeMultiplier = (_a = {},
126
- _a[types_1.FeeOption.Average] = 1.2,
127
- _a[types_1.FeeOption.Fast] = 1.5,
128
- _a[types_1.FeeOption.Fastest] = 2,
129
- _a);
130
- var isGasAsset = function (_a) {
131
- var chain = _a.chain, symbol = _a.symbol;
72
+ exports.gasFeeMultiplier = {
73
+ [types_1.FeeOption.Average]: 1.2,
74
+ [types_1.FeeOption.Fast]: 1.5,
75
+ [types_1.FeeOption.Fastest]: 2,
76
+ };
77
+ const isGasAsset = ({ chain, symbol }) => {
132
78
  switch (chain) {
133
79
  case types_1.Chain.Bitcoin:
134
80
  case types_1.Chain.BitcoinCash:
@@ -138,7 +84,6 @@ var isGasAsset = function (_a) {
138
84
  case types_1.Chain.Ripple:
139
85
  case types_1.Chain.Litecoin:
140
86
  case types_1.Chain.Dogecoin:
141
- case types_1.Chain.Binance:
142
87
  case types_1.Chain.Ethereum:
143
88
  case types_1.Chain.Avalanche:
144
89
  return symbol === chain;
@@ -162,7 +107,7 @@ var isGasAsset = function (_a) {
162
107
  }
163
108
  };
164
109
  exports.isGasAsset = isGasAsset;
165
- var getCommonAssetInfo = function (assetString) {
110
+ const getCommonAssetInfo = (assetString) => {
166
111
  switch (assetString) {
167
112
  case 'ETH.THOR':
168
113
  return { identifier: 'ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044', decimal: 18 };
@@ -194,16 +139,14 @@ var getCommonAssetInfo = function (assetString) {
194
139
  case types_1.Chain.Dash:
195
140
  case types_1.Chain.Litecoin:
196
141
  case types_1.Chain.Dogecoin:
197
- case types_1.Chain.Binance:
198
142
  case types_1.Chain.Polygon:
199
143
  case types_1.Chain.Bitcoin:
200
144
  case types_1.Chain.Ethereum:
201
- return { identifier: "".concat(assetString, ".").concat(assetString), decimal: types_1.BaseDecimal[assetString] };
145
+ return { identifier: `${assetString}.${assetString}`, decimal: types_1.BaseDecimal[assetString] };
202
146
  }
203
147
  };
204
148
  exports.getCommonAssetInfo = getCommonAssetInfo;
205
- var getAssetType = function (_a) {
206
- var chain = _a.chain, symbol = _a.symbol;
149
+ const getAssetType = ({ chain, symbol }) => {
207
150
  if (symbol.includes('/'))
208
151
  return 'Synth';
209
152
  switch (chain) {
@@ -223,10 +166,7 @@ var getAssetType = function (_a) {
223
166
  return symbol === 'ATOM' ? 'Native' : types_1.Chain.Cosmos;
224
167
  case types_1.Chain.Kujira:
225
168
  return symbol === types_1.Chain.Kujira ? 'Native' : types_1.Chain.Kujira;
226
- case types_1.Chain.Binance:
227
- return symbol === types_1.Chain.Binance ? 'Native' : 'BEP2';
228
169
  case types_1.Chain.BinanceSmartChain:
229
- return symbol === types_1.Chain.Binance ? 'Native' : 'BEP20';
230
170
  case types_1.Chain.Ethereum:
231
171
  return symbol === types_1.Chain.Ethereum ? 'Native' : 'ERC20';
232
172
  case types_1.Chain.Avalanche:
@@ -242,29 +182,27 @@ var getAssetType = function (_a) {
242
182
  }
243
183
  };
244
184
  exports.getAssetType = getAssetType;
245
- var assetFromString = function (assetString) {
185
+ const assetFromString = (assetString) => {
246
186
  var _a;
247
- var _b = assetString.split('.'), chain = _b[0], symbolArray = _b.slice(1);
248
- var synth = assetString.includes('/');
249
- var symbol = symbolArray.join('.');
250
- var ticker = (_a = symbol === null || symbol === void 0 ? void 0 : symbol.split('-')) === null || _a === void 0 ? void 0 : _a[0];
251
- return { chain: chain, symbol: symbol, ticker: ticker, synth: synth };
187
+ const [chain, ...symbolArray] = assetString.split('.');
188
+ const synth = assetString.includes('/');
189
+ const symbol = symbolArray.join('.');
190
+ const ticker = (_a = symbol === null || symbol === void 0 ? void 0 : symbol.split('-')) === null || _a === void 0 ? void 0 : _a[0];
191
+ return { chain, symbol, ticker, synth };
252
192
  };
253
193
  exports.assetFromString = assetFromString;
254
- var potentialScamRegex = new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/, 'gmi');
255
- var evmAssetHasAddress = function (assetString) {
256
- var _a = assetString.split('.'), chain = _a[0], symbol = _a[1];
194
+ const potentialScamRegex = new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/, 'gmi');
195
+ const evmAssetHasAddress = (assetString) => {
196
+ const [chain, symbol] = assetString.split('.');
257
197
  if (!types_1.EVMChainList.includes(chain))
258
198
  return true;
259
- var _b = symbol.split('-'), address = _b[1];
260
- return (0, exports.isGasAsset)({ chain: chain, symbol: symbol }) || !!address;
261
- };
262
- var filterAssets = function (tokens) {
263
- return tokens.filter(function (token) {
264
- var assetString = "".concat(token.chain, ".").concat(token.symbol);
265
- return (!potentialScamRegex.test(assetString) &&
266
- evmAssetHasAddress(assetString) &&
267
- token.value !== '0');
268
- });
199
+ const [, address] = symbol.split('-');
200
+ return (0, exports.isGasAsset)({ chain: chain, symbol }) || !!address;
269
201
  };
202
+ const filterAssets = (tokens) => tokens.filter((token) => {
203
+ const assetString = `${token.chain}.${token.symbol}`;
204
+ return (!potentialScamRegex.test(assetString) &&
205
+ evmAssetHasAddress(assetString) &&
206
+ token.value !== '0');
207
+ });
270
208
  exports.filterAssets = filterAssets;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLiquiditySlippage = exports.getEstimatedPoolShare = exports.getSymmetricWithdraw = exports.getSymmetricPoolShare = exports.getAsymmetricAssetWithdrawAmount = exports.getAsymmetricRuneWithdrawAmount = exports.getAsymmetricAssetShare = exports.getAsymmetricRuneShare = void 0;
4
- var types_1 = require("@coinmasters/types");
5
- var index_1 = require("../index");
4
+ const types_1 = require("@coinmasters/types");
5
+ const index_1 = require("../index");
6
6
  /**
7
7
  * Ref: https://gitlab.com/thorchain/thornode/-/issues/657
8
8
  * share = (s * A * (2 * T^2 - 2 * T * s + s^2))/T^3
@@ -14,98 +14,77 @@ var index_1 = require("../index");
14
14
  * share = (s * A * (2 * T^2 - 2 * T * s + s^2))/T^3
15
15
  * (part1 * (part2 - part3 + part4)) / part5
16
16
  */
17
- var getAsymmetricRuneShare = function (_a) {
18
- var liquidityUnits = _a.liquidityUnits, poolUnits = _a.poolUnits, runeDepth = _a.runeDepth;
19
- var s = toTCSwapKitNumber(liquidityUnits);
20
- var T = toTCSwapKitNumber(poolUnits);
21
- var A = toTCSwapKitNumber(runeDepth);
22
- var part1 = s.mul(A);
23
- var part2 = T.mul(T).mul(2);
24
- var part3 = T.mul(s).mul(2);
25
- var part4 = s.mul(s);
26
- var part5 = T.mul(T).mul(T);
27
- var numerator = part1.mul(part2.sub(part3).add(part4));
17
+ const getAsymmetricRuneShare = ({ liquidityUnits, poolUnits, runeDepth, }) => {
18
+ const s = toTCSwapKitNumber(liquidityUnits);
19
+ const T = toTCSwapKitNumber(poolUnits);
20
+ const A = toTCSwapKitNumber(runeDepth);
21
+ const part1 = s.mul(A);
22
+ const part2 = T.mul(T).mul(2);
23
+ const part3 = T.mul(s).mul(2);
24
+ const part4 = s.mul(s);
25
+ const part5 = T.mul(T).mul(T);
26
+ const numerator = part1.mul(part2.sub(part3).add(part4));
28
27
  return numerator.div(part5);
29
28
  };
30
29
  exports.getAsymmetricRuneShare = getAsymmetricRuneShare;
31
- var getAsymmetricAssetShare = function (_a) {
32
- var liquidityUnits = _a.liquidityUnits, poolUnits = _a.poolUnits, assetDepth = _a.assetDepth;
33
- var s = toTCSwapKitNumber(liquidityUnits);
34
- var T = toTCSwapKitNumber(poolUnits);
35
- var A = toTCSwapKitNumber(assetDepth);
36
- var part1 = s.mul(A);
37
- var part2 = T.mul(T).mul(2);
38
- var part3 = T.mul(s).mul(2);
39
- var part4 = s.mul(s);
40
- var numerator = part1.mul(part2.sub(part3).add(part4));
41
- var part5 = T.mul(T).mul(T);
30
+ const getAsymmetricAssetShare = ({ liquidityUnits, poolUnits, assetDepth, }) => {
31
+ const s = toTCSwapKitNumber(liquidityUnits);
32
+ const T = toTCSwapKitNumber(poolUnits);
33
+ const A = toTCSwapKitNumber(assetDepth);
34
+ const part1 = s.mul(A);
35
+ const part2 = T.mul(T).mul(2);
36
+ const part3 = T.mul(s).mul(2);
37
+ const part4 = s.mul(s);
38
+ const numerator = part1.mul(part2.sub(part3).add(part4));
39
+ const part5 = T.mul(T).mul(T);
42
40
  return numerator.div(part5);
43
41
  };
44
42
  exports.getAsymmetricAssetShare = getAsymmetricAssetShare;
45
- var getAsymmetricRuneWithdrawAmount = function (_a) {
46
- var percent = _a.percent, runeDepth = _a.runeDepth, liquidityUnits = _a.liquidityUnits, poolUnits = _a.poolUnits;
47
- return (0, exports.getAsymmetricRuneShare)({ runeDepth: runeDepth, liquidityUnits: liquidityUnits, poolUnits: poolUnits }).mul(percent);
48
- };
43
+ const getAsymmetricRuneWithdrawAmount = ({ percent, runeDepth, liquidityUnits, poolUnits, }) => (0, exports.getAsymmetricRuneShare)({ runeDepth, liquidityUnits, poolUnits }).mul(percent);
49
44
  exports.getAsymmetricRuneWithdrawAmount = getAsymmetricRuneWithdrawAmount;
50
- var getAsymmetricAssetWithdrawAmount = function (_a) {
51
- var percent = _a.percent, assetDepth = _a.assetDepth, liquidityUnits = _a.liquidityUnits, poolUnits = _a.poolUnits;
52
- return (0, exports.getAsymmetricAssetShare)({ assetDepth: assetDepth, liquidityUnits: liquidityUnits, poolUnits: poolUnits }).mul(percent);
53
- };
45
+ const getAsymmetricAssetWithdrawAmount = ({ percent, assetDepth, liquidityUnits, poolUnits, }) => (0, exports.getAsymmetricAssetShare)({ assetDepth, liquidityUnits, poolUnits }).mul(percent);
54
46
  exports.getAsymmetricAssetWithdrawAmount = getAsymmetricAssetWithdrawAmount;
55
- var toTCSwapKitNumber = function (value) {
56
- return index_1.SwapKitNumber.fromBigInt(BigInt(value), types_1.BaseDecimal.THOR);
57
- };
58
- var getSymmetricPoolShare = function (_a) {
59
- var liquidityUnits = _a.liquidityUnits, poolUnits = _a.poolUnits, runeDepth = _a.runeDepth, assetDepth = _a.assetDepth;
60
- return ({
61
- assetAmount: toTCSwapKitNumber(assetDepth).mul(liquidityUnits).div(poolUnits),
62
- runeAmount: toTCSwapKitNumber(runeDepth).mul(liquidityUnits).div(poolUnits),
63
- });
64
- };
47
+ const toTCSwapKitNumber = (value) => index_1.SwapKitNumber.fromBigInt(BigInt(value), types_1.BaseDecimal.THOR);
48
+ const getSymmetricPoolShare = ({ liquidityUnits, poolUnits, runeDepth, assetDepth, }) => ({
49
+ assetAmount: toTCSwapKitNumber(assetDepth).mul(liquidityUnits).div(poolUnits),
50
+ runeAmount: toTCSwapKitNumber(runeDepth).mul(liquidityUnits).div(poolUnits),
51
+ });
65
52
  exports.getSymmetricPoolShare = getSymmetricPoolShare;
66
- var getSymmetricWithdraw = function (_a) {
67
- var liquidityUnits = _a.liquidityUnits, poolUnits = _a.poolUnits, runeDepth = _a.runeDepth, assetDepth = _a.assetDepth, percent = _a.percent;
68
- return Object.fromEntries(Object.entries((0, exports.getSymmetricPoolShare)({ liquidityUnits: liquidityUnits, poolUnits: poolUnits, runeDepth: runeDepth, assetDepth: assetDepth })).map(function (_a) {
69
- var name = _a[0], value = _a[1];
70
- return [name, value.mul(percent)];
71
- }));
72
- };
53
+ const getSymmetricWithdraw = ({ liquidityUnits, poolUnits, runeDepth, assetDepth, percent, }) => Object.fromEntries(Object.entries((0, exports.getSymmetricPoolShare)({ liquidityUnits, poolUnits, runeDepth, assetDepth })).map(([name, value]) => [name, value.mul(percent)]));
73
54
  exports.getSymmetricWithdraw = getSymmetricWithdraw;
74
- var getEstimatedPoolShare = function (_a) {
75
- var runeDepth = _a.runeDepth, poolUnits = _a.poolUnits, assetDepth = _a.assetDepth, liquidityUnits = _a.liquidityUnits, runeAmount = _a.runeAmount, assetAmount = _a.assetAmount;
76
- var R = new index_1.SwapKitNumber({ value: runeDepth, decimal: 8 });
77
- var A = new index_1.SwapKitNumber({ value: assetDepth, decimal: 8 });
78
- var P = new index_1.SwapKitNumber({ value: poolUnits, decimal: 8 });
79
- var runeAddAmount = new index_1.SwapKitNumber({ value: runeAmount, decimal: 8 });
80
- var assetAddAmount = new index_1.SwapKitNumber({ value: assetAmount, decimal: 8 });
55
+ const getEstimatedPoolShare = ({ runeDepth, poolUnits, assetDepth, liquidityUnits, runeAmount, assetAmount, }) => {
56
+ const R = new index_1.SwapKitNumber({ value: runeDepth, decimal: 8 });
57
+ const A = new index_1.SwapKitNumber({ value: assetDepth, decimal: 8 });
58
+ const P = new index_1.SwapKitNumber({ value: poolUnits, decimal: 8 });
59
+ const runeAddAmount = new index_1.SwapKitNumber({ value: runeAmount, decimal: 8 });
60
+ const assetAddAmount = new index_1.SwapKitNumber({ value: assetAmount, decimal: 8 });
81
61
  // liquidityUnits = P * (r*A + a*R + 2*r*a) / (r*A + a*R + 2*R*A)
82
- var rA = runeAddAmount.mul(A);
83
- var aR = assetAddAmount.mul(R);
84
- var ra = runeAddAmount.mul(assetAddAmount);
85
- var RA = R.mul(A);
86
- var numerator = P.mul(rA.add(aR.add(ra.mul(2))));
87
- var denominator = rA.add(aR.add(RA.mul(2)));
88
- var liquidityUnitsAfterAdd = numerator.div(denominator);
89
- var estimatedLiquidityUnits = toTCSwapKitNumber(liquidityUnits).add(liquidityUnitsAfterAdd);
62
+ const rA = runeAddAmount.mul(A);
63
+ const aR = assetAddAmount.mul(R);
64
+ const ra = runeAddAmount.mul(assetAddAmount);
65
+ const RA = R.mul(A);
66
+ const numerator = P.mul(rA.add(aR.add(ra.mul(2))));
67
+ const denominator = rA.add(aR.add(RA.mul(2)));
68
+ const liquidityUnitsAfterAdd = numerator.div(denominator);
69
+ const estimatedLiquidityUnits = toTCSwapKitNumber(liquidityUnits).add(liquidityUnitsAfterAdd);
90
70
  if (liquidityUnitsAfterAdd.getBaseValue('number') === 0) {
91
71
  return estimatedLiquidityUnits.div(P).getBaseValue('number');
92
72
  }
93
73
  // get pool units after add
94
- var newPoolUnits = P.add(estimatedLiquidityUnits);
74
+ const newPoolUnits = P.add(estimatedLiquidityUnits);
95
75
  return estimatedLiquidityUnits.div(newPoolUnits).getBaseValue('number');
96
76
  };
97
77
  exports.getEstimatedPoolShare = getEstimatedPoolShare;
98
- var getLiquiditySlippage = function (_a) {
99
- var runeAmount = _a.runeAmount, assetAmount = _a.assetAmount, runeDepth = _a.runeDepth, assetDepth = _a.assetDepth;
78
+ const getLiquiditySlippage = ({ runeAmount, assetAmount, runeDepth, assetDepth, }) => {
100
79
  if (runeAmount === '0' || assetAmount === '0' || runeDepth === '0' || assetDepth === '0')
101
80
  return 0;
102
81
  // formula: (t * R - T * r)/ (T*r + R*T)
103
- var R = toTCSwapKitNumber(runeDepth);
104
- var T = toTCSwapKitNumber(assetDepth);
105
- var assetAddAmount = toTCSwapKitNumber(assetAmount);
106
- var runeAddAmount = toTCSwapKitNumber(runeAmount);
107
- var numerator = assetAddAmount.mul(R).sub(T.mul(runeAddAmount));
108
- var denominator = T.mul(runeAddAmount).add(R.mul(T));
82
+ const R = toTCSwapKitNumber(runeDepth);
83
+ const T = toTCSwapKitNumber(assetDepth);
84
+ const assetAddAmount = toTCSwapKitNumber(assetAmount);
85
+ const runeAddAmount = toTCSwapKitNumber(runeAmount);
86
+ const numerator = assetAddAmount.mul(R).sub(T.mul(runeAddAmount));
87
+ const denominator = T.mul(runeAddAmount).add(R.mul(T));
109
88
  // set absolute value of percent, no negative allowed
110
89
  return Math.abs(numerator.div(denominator).getBaseValue('number'));
111
90
  };
@@ -1,43 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMemoFor = void 0;
4
- var types_1 = require("@coinmasters/types");
5
- var getShortenedSymbol = function (_a) {
6
- var symbol = _a.symbol, ticker = _a.ticker, chain = _a.chain;
7
- return (chain === 'ETH' && ticker !== 'ETH' ? "".concat(ticker, "-").concat(symbol.slice(-3)) : symbol);
8
- };
9
- var getMemoFor = function (memoType, options) {
4
+ const types_1 = require("@coinmasters/types");
5
+ const getShortenedSymbol = ({ symbol, ticker, chain, }) => (chain === 'ETH' && ticker !== 'ETH' ? `${ticker}-${symbol.slice(-3)}` : symbol);
6
+ const getMemoFor = (memoType, options) => {
10
7
  switch (memoType) {
11
8
  case types_1.MemoType.LEAVE:
12
9
  case types_1.MemoType.BOND: {
13
- var address = options.address;
14
- return "".concat(memoType, ":").concat(address);
10
+ const { address } = options;
11
+ return `${memoType}:${address}`;
15
12
  }
16
13
  case types_1.MemoType.UNBOND: {
17
- var _a = options, address = _a.address, unbondAmount = _a.unbondAmount;
18
- return "".concat(memoType, ":").concat(address, ":").concat(unbondAmount * Math.pow(10, 8));
14
+ const { address, unbondAmount } = options;
15
+ return `${memoType}:${address}:${unbondAmount * Math.pow(10, 8)}`;
19
16
  }
20
17
  case types_1.MemoType.THORNAME_REGISTER: {
21
- var _b = options, name_1 = _b.name, chain = _b.chain, address = _b.address, owner = _b.owner;
22
- return "".concat(memoType, ":").concat(name_1, ":").concat(chain, ":").concat(address).concat(owner ? ":".concat(owner) : '');
18
+ const { name, chain, address, owner } = options;
19
+ return `${memoType}:${name}:${chain}:${address}${owner ? `:${owner}` : ''}`;
23
20
  }
24
21
  case types_1.MemoType.DEPOSIT: {
25
- var _c = options, chain = _c.chain, symbol = _c.symbol, address = _c.address, singleSide = _c.singleSide;
22
+ const { chain, symbol, address, singleSide } = options;
26
23
  return singleSide
27
- ? "".concat(memoType, ":").concat(chain, "/").concat(symbol, "::t:0")
28
- : "".concat(memoType, ":").concat(chain, ".").concat(symbol, ":").concat(address || '', ":t:0");
24
+ ? `${memoType}:${chain}/${symbol}::t:0`
25
+ : `${memoType}:${chain}.${symbol}:${address || ''}:t:0`;
29
26
  }
30
27
  case types_1.MemoType.WITHDRAW: {
31
- var _d = options, chain = _d.chain, ticker = _d.ticker, symbol = _d.symbol, basisPoints = _d.basisPoints, targetAssetString = _d.targetAssetString, singleSide = _d.singleSide;
32
- var target = !singleSide && targetAssetString ? ":".concat(targetAssetString) : '';
33
- var shortenedSymbol = getShortenedSymbol({ chain: chain, symbol: symbol, ticker: ticker });
34
- var assetDivider = singleSide ? '/' : '.';
35
- return "".concat(memoType, ":").concat(chain).concat(assetDivider).concat(shortenedSymbol, ":").concat(basisPoints).concat(target);
28
+ const { chain, ticker, symbol, basisPoints, targetAssetString, singleSide } = options;
29
+ const target = !singleSide && targetAssetString ? `:${targetAssetString}` : '';
30
+ const shortenedSymbol = getShortenedSymbol({ chain, symbol, ticker });
31
+ const assetDivider = singleSide ? '/' : '.';
32
+ return `${memoType}:${chain}${assetDivider}${shortenedSymbol}:${basisPoints}${target}`;
36
33
  }
37
34
  case types_1.MemoType.OPEN_LOAN:
38
35
  case types_1.MemoType.CLOSE_LOAN: {
39
- var _e = options, asset = _e.asset, address = _e.address;
40
- return "".concat(memoType, ":").concat(asset, ":").concat(address); //:${minAmount ? `${minAmount}` : ''}:t:0`;
36
+ const { asset, address } = options;
37
+ return `${memoType}:${asset}:${address}`; //:${minAmount ? `${minAmount}` : ''}:t:0`;
41
38
  }
42
39
  default:
43
40
  return '';
@@ -3,22 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.derivationPathToString = exports.validateTHORName = exports.getTHORNameCost = void 0;
4
4
  // 10 rune for register, 1 rune per year
5
5
  // MINIMUM_REGISTRATION_FEE = 11
6
- var getTHORNameCost = function (year) {
6
+ const getTHORNameCost = (year) => {
7
7
  if (year < 0)
8
8
  throw new Error('Invalid number of year');
9
9
  return 10 + year;
10
10
  };
11
11
  exports.getTHORNameCost = getTHORNameCost;
12
- var validateTHORName = function (name) {
12
+ const validateTHORName = (name) => {
13
13
  if (name.length > 30)
14
14
  return false;
15
- var regex = /^[a-zA-Z0-9+_-]+$/g;
15
+ const regex = /^[a-zA-Z0-9+_-]+$/g;
16
16
  return !!name.match(regex);
17
17
  };
18
18
  exports.validateTHORName = validateTHORName;
19
- var derivationPathToString = function (_a) {
20
- var network = _a[0], chainId = _a[1], account = _a[2], change = _a[3], index = _a[4];
21
- var shortPath = typeof index !== 'number';
22
- return "".concat(network, "'/").concat(chainId, "'/").concat(account, "'/").concat(change).concat(shortPath ? '' : "/".concat(index));
19
+ const derivationPathToString = ([network, chainId, account, change, index]) => {
20
+ const shortPath = typeof index !== 'number';
21
+ return `${network}'/${chainId}'/${account}'/${change}${shortPath ? '' : `/${index}`}`;
23
22
  };
24
23
  exports.derivationPathToString = derivationPathToString;
@@ -1,5 +1,5 @@
1
1
  import { type Options } from 'ky';
2
2
  export declare const RequestClient: {
3
3
  get: <T>(url: string | URL | Request, options?: Options) => Promise<T>;
4
- post: <T_1>(url: string | URL | Request, options?: Options) => Promise<T_1>;
4
+ post: <T>(url: string | URL | Request, options?: Options) => Promise<T>;
5
5
  };