@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
  }
@@ -12,7 +12,14 @@ class PriceMath {
12
12
  return quoteReserves.mul(PRICE_SCALE).div(baseReserves);
13
13
  }
14
14
  static getChainAmount(humanAmount, decimals) {
15
- return new bn_js_1.default(humanAmount * 10 ** decimals);
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;IAC9C,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,WAAe,EAAE,QAAgB;QAC5D,OAAO,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,QAAQ,CAAC;IACjD,CAAC;IAEM,MAAM,CAAC,aAAa,CACzB,QAAY,EACZ,YAAoB,EACpB,aAAqB;QAErB,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3E,IAAI,SAAS,GACX,aAAa,GAAG,YAAY;YAC1B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAElC,OAAO,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,WAAW,CACvB,UAAkB,EAClB,YAAoB,EACpB,aAAqB;QAErB,IAAI,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3E,IAAI,WAAW,GACb,aAAa,GAAG,YAAY;YAC1B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEnC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,YAAoB,EACpB,aAAqB,EACrB,GAAG,MAAgB;QAEnB,iEAAiE;QACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CACrD,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAc,EAAE,QAAgB;QAClD,OAAO,IAAI,eAAE,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC;QACvC,+DAA+D;IACjE,CAAC;CACF;AA/DD,8BA+DC"}
1
+ {"version":3,"file":"priceMath.js","sourceRoot":"","sources":["../../src/utils/priceMath.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metadaoproject/futarchy",
3
- "version": "0.3.0-alpha.2",
3
+ "version": "0.3.0-alpha.4",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [