Comparing version 0.2.84 to 0.2.85
@@ -59,2 +59,3 @@ import { Converter, nRelay, ChoppedRelay } from "./interfaces"; | ||
export declare function calculateReserveToSmart(reserveAmount: Asset, reserveBalance: Asset, smartSupply: Asset, ratio?: number): Asset; | ||
export declare function calculateSmartToReserve(smartTokens: Asset, reserveBalance: Asset, smartSupply: Asset, ratio?: number): Asset; | ||
/** | ||
@@ -61,0 +62,0 @@ * Compose Memo |
@@ -113,2 +113,16 @@ "use strict"; | ||
exports.calculateReserveToSmart = calculateReserveToSmart; | ||
function calculateSmartToReserve(smartTokens, reserveBalance, smartSupply, ratio = 0.5) { | ||
const smartTokensN = smartTokens.toDecimal(); | ||
const reserveBalanceN = reserveBalance.toDecimal(); | ||
const smartSupplyN = smartSupply.toDecimal(); | ||
const one = new decimal_js_1.default(1); | ||
const ratioN = one.div(new decimal_js_1.default(ratio)); | ||
decimal_js_1.default.set({ precision: 15, rounding: decimal_js_1.default.ROUND_DOWN }); | ||
const reward = reserveBalanceN.times(one.minus(decimal_js_1.default.pow(one.minus(smartTokensN.div(smartSupplyN)), ratioN))); | ||
return new eos_common_1.Asset(reward | ||
.times(Math.pow(10, reserveBalance.symbol.precision)) | ||
.toDecimalPlaces(0, decimal_js_1.default.ROUND_FLOOR) | ||
.toNumber(), reserveBalance.symbol); | ||
} | ||
exports.calculateSmartToReserve = calculateSmartToReserve; | ||
/** | ||
@@ -115,0 +129,0 @@ * Compose Memo |
{ | ||
"name": "bancorx", | ||
"version": "0.2.84", | ||
"version": "0.2.85", | ||
"description": "BancorX Utility", | ||
@@ -5,0 +5,0 @@ "main": "build/index.js", |
Sorry, the diff of this file is not supported yet
47959
708