@volare.finance/volare.js
Version:
The SDK for Volare Protocol
71 lines • 3.56 kB
JavaScript
;
/**
* @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