UNPKG

@volare.finance/volare.js

Version:
71 lines 3.56 kB
"use strict"; /** * @file mirror.ts * @author astra <astra@volare.finance> * @date 2022 */ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const utils_js_1 = require("@volare.finance/utils.js"); const dotenv_1 = require("dotenv"); const src_1 = require("../src"); (0, dotenv_1.config)({ path: '.env', encoding: 'utf8', }); const VTOKEN_ADDRESS = '0xafd72081790D1820a5B298ea4E19B272AC0daacC'; const OWNER_ADDRESS = '0x5322d18080C18ED152C03C13f09817bB0B51a486'; const VAULT_ID = 47; const CHAIN_ID = Number(process.env.CHAIN_ID); const ENDPOINT = String(process.env.ENDPOINT); // const MAKER_PRIVATE_KEY = String(process.env.MAKER_PRIVATE_KEY); // const TAKER_PRIVATE_KEY = String(process.env.TAKER_PRIVATE_KEY); const Contracts = (0, src_1.getContractsForChain)(CHAIN_ID); // const Provider = new providers.JsonRpcProvider(ENDPOINT); // const AVAX = new Contract(Contracts.AVAX, ERC20Contract.ABI(), Provider); // const USDC = new Contract(Contracts.USDC, ERC20Contract.ABI(), Provider); // const Maker = new Wallet(MAKER_PRIVATE_KEY, Provider); // const Taker = new Wallet(TAKER_PRIVATE_KEY, Provider); // Helper.init(ENDPOINT); const vanilla = new src_1.Vanilla({ endpoint: ENDPOINT, contracts: Contracts, }); (() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const payout = yield vanilla.getPayout(VTOKEN_ADDRESS, new utils_js_1.BigNumber(1)); console.log(payout); // console.log(await cExpiryPrice('0xd00ae08403b9bbb9124bb305c09058e32c39a48c', 1663920000)); console.log(yield vanilla.getVault(OWNER_ADDRESS, VAULT_ID)); console.log(yield vanilla.getMarginRequired(OWNER_ADDRESS, VAULT_ID, src_1.VaultType.NakedMargin)); console.log(yield vanilla.getExcessCollateral(OWNER_ADDRESS, VAULT_ID, src_1.VaultType.NakedMargin)); const vTokenDetails = yield (0, src_1.cVTokenDetails)(VTOKEN_ADDRESS); console.log(vTokenDetails); const collateralPrice = yield (0, src_1.cExpiryPrice)(vTokenDetails.collateralAsset, vTokenDetails.expiry); console.log(`${yield (0, src_1.cSymbol)(vTokenDetails.collateralAsset)}`, collateralPrice); const underlyingPrice = yield (0, src_1.cExpiryPrice)(vTokenDetails.underlyingAsset, vTokenDetails.expiry); console.log(`${yield (0, src_1.cSymbol)(vTokenDetails.underlyingAsset)}`, underlyingPrice); const strikePrice = yield (0, src_1.cExpiryPrice)(vTokenDetails.strikeAsset, vTokenDetails.expiry); console.log(`${yield (0, src_1.cSymbol)(vTokenDetails.strikeAsset)}`, strikePrice); const vault = yield vanilla.getVault(OWNER_ADDRESS, VAULT_ID); console.log(vault); const marginRequired = yield (0, src_1.getMarginRequired)(vault, { [Contracts.AVAX.toLowerCase()]: new utils_js_1.BigNumber(18), [Contracts.USDC.toLowerCase()]: new utils_js_1.BigNumber(1), }); console.log(marginRequired); const collateralDetails = yield (0, src_1.getCollateralDetails)(vault, { [Contracts.ETH.toLowerCase()]: new utils_js_1.BigNumber(1329.81), [Contracts.AVAX.toLowerCase()]: new utils_js_1.BigNumber(16.92), [Contracts.USDC.toLowerCase()]: new utils_js_1.BigNumber(1), }); console.log(collateralDetails); console.log((0, src_1.getPayout)(vTokenDetails, collateralPrice, underlyingPrice, strikePrice, new utils_js_1.BigNumber(1))); // console.log(getMarginRequired( // vTokenDetails, // collateralPrice, // underlyingPrice, // strikePrice, // 1, // )); }))(); //# sourceMappingURL=mirror.js.map