myria-core-sdk
Version:
Latest version SDK
59 lines • 3.88 kB
JavaScript
import { BigNumber, ethers } from "ethers";
import { QUANTUM_USDT, TOKEN_ADDRESS_USDT } from "./Constants";
const QUANTUM = "10000000000";
const USDT_DECIMALS = 1000000; // 10^6
export const USDT_TOKEN = {
tokenAddress: TOKEN_ADDRESS_USDT,
quantum: QUANTUM_USDT,
};
// /**
// * // Convert ETH unit 1 to WEI
// * @param amount
// * @returns
// */
export function convertAmountToQuantizedAmount(amount) {
const wei = convertEthToWei(String(amount));
return BigNumber.from(wei).div(BigNumber.from(QUANTUM)).toNumber();
}
// /**
// * Convert eth to wei
// * @param amount
// * @returns
// */
export function convertEthToWei(amount) {
return ethers.utils.parseEther(String(amount)).toString();
}
// /**
// * Convert wei to eth
// * @param amount
// * @returns
// */
export function convertWeiToEth(amount) {
const balance = BigNumber.from(amount);
return ethers.utils.formatEther(balance);
}
/**
* Convert USDT amount to quantized amount
* Since USDT has 6 decimals and uses quantum of 10^6,
* we just need to multiply by 10^6 to get the quantized amount and then divide by 10^6 (quantum) to get the quantized amount
* @param amount USDT amount (e.g. 1.5 USDT)
* @returns quantized amount
*/
export function convertUsdtToQuantizedAmount(amount) {
const amountWithBaseUnit = convertUsdtToBaseUnit(String(amount));
return BigNumber.from(amountWithBaseUnit)
.div(BigNumber.from(USDT_TOKEN.quantum))
.toNumber();
}
/**
* Convert USDT amount to base unit
* @param amount USDT amount (e.g. 1.5 USDT)
* @returns base unit amount
*/
export function convertUsdtToBaseUnit(amount) {
if (!amount || Number(amount) === 0)
return '0';
// USDT has 6 decimals
return (Number(amount) * USDT_DECIMALS).toFixed(0);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL0NvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9ELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQztBQUM5QixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQyxPQUFPO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE9BQU8sRUFBRSxZQUFZO0NBQ3RCLENBQUE7QUFFRCxNQUFNO0FBQ04sa0NBQWtDO0FBQ2xDLG1CQUFtQjtBQUNuQixjQUFjO0FBQ2QsTUFBTTtBQUNOLE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsTUFBdUI7SUFFdkIsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNO0FBQ04sd0JBQXdCO0FBQ3hCLG9CQUFvQjtBQUNwQixlQUFlO0FBQ2YsTUFBTTtBQUNOLE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBYztJQUM1QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNO0FBQ04sd0JBQXdCO0FBQ3hCLG9CQUFvQjtBQUNwQixlQUFlO0FBQ2YsTUFBTTtBQUNOLE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBYztJQUM1QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxNQUF1QjtJQUNsRSxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUN0QyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdkMsUUFBUSxFQUFFLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBYztJQUNsRCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxHQUFHLENBQUM7SUFDaEQsc0JBQXNCO0lBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMifQ==