@saberhq/token-utils
Version:
Token-related math and transaction utilities for Solana.
49 lines (44 loc) • 1.01 kB
text/typescript
import type { BigintIsh } from "@ubeswap/token-math";
import { Price as UPrice } from "@ubeswap/token-math";
import type { Token } from "./token.js";
/**
* A price of one token relative to another.
*/
export class Price extends UPrice<Token> {
/**
* Constructs a price.
* @param baseCurrency
* @param quoteCurrency
* @param denominator
* @param numerator
*/
constructor(
baseCurrency: Token,
quoteCurrency: Token,
denominator: BigintIsh,
numerator: BigintIsh,
) {
super(baseCurrency, quoteCurrency, denominator, numerator);
}
new(
baseCurrency: Token,
quoteCurrency: Token,
denominator: BigintIsh,
numerator: BigintIsh,
): this {
return new Price(
baseCurrency,
quoteCurrency,
denominator,
numerator,
) as this;
}
static fromUPrice(price: UPrice<Token>): Price {
return new Price(
price.baseCurrency,
price.quoteCurrency,
price.denominator,
price.numerator,
);
}
}