@metadaoproject/futarchy 0.3.0-alpha.2 → 0.3.0-alpha.4
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.
|
@@ -7,4 +7,6 @@ export declare class PriceMath {
|
|
|
7
7
|
static getAmmPrice(humanPrice: number, baseDecimals: number, quoteDecimals: number): BN;
|
|
8
8
|
static getAmmPrices(baseDecimals: number, quoteDecimals: number, ...prices: number[]): BN[];
|
|
9
9
|
static scale(number: number, decimals: number): BN;
|
|
10
|
+
static addSlippage(chainAmount: BN, slippageBps: BN): BN;
|
|
11
|
+
static subtractSlippage(chainAmount: BN, slippageBps: BN): BN;
|
|
10
12
|
}
|
package/dist/utils/priceMath.js
CHANGED
|
@@ -12,7 +12,14 @@ class PriceMath {
|
|
|
12
12
|
return quoteReserves.mul(PRICE_SCALE).div(baseReserves);
|
|
13
13
|
}
|
|
14
14
|
static getChainAmount(humanAmount, decimals) {
|
|
15
|
-
|
|
15
|
+
// you have to do it this weird way because BN can't be constructed with
|
|
16
|
+
// numbers larger than 2**50
|
|
17
|
+
const [integerPart, fractionalPart = ""] = humanAmount
|
|
18
|
+
.toString()
|
|
19
|
+
.split(".");
|
|
20
|
+
return new bn_js_1.default(integerPart + fractionalPart)
|
|
21
|
+
.mul(new bn_js_1.default(10).pow(new bn_js_1.default(decimals)))
|
|
22
|
+
.div(new bn_js_1.default(10).pow(new bn_js_1.default(fractionalPart.length)));
|
|
16
23
|
}
|
|
17
24
|
static getHumanAmount(chainAmount, decimals) {
|
|
18
25
|
return chainAmount.toNumber() / 10 ** decimals;
|
|
@@ -40,6 +47,12 @@ class PriceMath {
|
|
|
40
47
|
return new bn_js_1.default(number * 10 ** decimals);
|
|
41
48
|
// return new BN(number).mul(new BN(10).pow(new BN(decimals)));
|
|
42
49
|
}
|
|
50
|
+
static addSlippage(chainAmount, slippageBps) {
|
|
51
|
+
return chainAmount.mul(slippageBps.addn(10_000)).divn(10_000);
|
|
52
|
+
}
|
|
53
|
+
static subtractSlippage(chainAmount, slippageBps) {
|
|
54
|
+
return chainAmount.mul(new bn_js_1.default(10_000).sub(slippageBps)).divn(10_000);
|
|
55
|
+
}
|
|
43
56
|
}
|
|
44
57
|
exports.PriceMath = PriceMath;
|
|
45
58
|
//# sourceMappingURL=priceMath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceMath.js","sourceRoot":"","sources":["../../src/utils/priceMath.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuB;AAEvB,MAAM,MAAM,GAAG,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC;AAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3C,MAAa,SAAS;IACb,MAAM,CAAC,uBAAuB,CACnC,YAAgB,EAChB,aAAiB;QAEjB,OAAO,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,WAAmB,EAAE,QAAgB;QAChE,OAAO,IAAI,eAAE,CAAC,WAAW,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"priceMath.js","sourceRoot":"","sources":["../../src/utils/priceMath.ts"],"names":[],"mappings":"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"}
|