UNPKG

@volare.finance/volare.js

Version:
54 lines 2.8 kB
"use strict"; /** * @file controller.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 ethers_1 = require("ethers"); const src_1 = require("../../src"); (0, dotenv_1.config)({ path: '.env', encoding: 'utf8', }); 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 VTOKEN_ADDRESS = String(process.env.VTOKEN_ADDRESS); const VAULT_ID = 1; const Contracts = (0, src_1.getContractsForChain)(CHAIN_ID); const Provider = new ethers_1.providers.JsonRpcProvider(ENDPOINT); const Maker = new ethers_1.Wallet(MAKER_PRIVATE_KEY, Provider); src_1.VTokenImpl.Init(ENDPOINT); const controller = new src_1.Controller(Contracts.Controller, ENDPOINT); (() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const vToken = yield (0, src_1.cVTokenDetails)(VTOKEN_ADDRESS); console.log(`cExpiryPrice(vToken.underlyingAsset, vToken.expiry): ${yield (0, src_1.cExpiryPrice)(vToken.underlyingAsset, vToken.expiry)}`); let tx; // Configuration console.log(yield controller.getConfiguration()); // Vault console.log(`controller.getAccountVaultCounter(Maker.address): ${yield controller.getAccountVaultCounter(Maker.address)}`); console.log(`controller.getVault(Maker.address, VAULT_ID): ${JSON.stringify(yield controller.getVault(Maker.address, VAULT_ID), undefined, 2)}`); console.log(`vTokenBalanceOf(VTOKEN_ADDRESS, Maker.address): ${yield src_1.VTokenImpl.BalanceOf(VTOKEN_ADDRESS, Maker.address)}`); if (0) { // Short tx = yield controller.short(Maker, 0, 0, vToken, new utils_js_1.BigNumber(7), src_1.VaultType.FullyCollateralized); yield tx.wait(); } else { // Settle tx = yield controller.settle(Maker, VAULT_ID); yield tx.wait(); } console.log(`vTokenBalanceOf(VTOKEN_ADDRESS, Maker.address): ${yield src_1.VTokenImpl.BalanceOf(VTOKEN_ADDRESS, Maker.address)}`); // Vault console.log(`controller.getAccountVaultCounter(Deployer.address): ${yield controller.getAccountVaultCounter(Maker.address)}`); console.log(`controller.getVault(Deployer.address, VAULT_ID): ${JSON.stringify(yield controller.getVault(Maker.address, VAULT_ID), undefined, 2)}`); const vaultWithDetails = yield controller.getVaultWithDetails(Maker.address, VAULT_ID); console.log(`controller.getVaultWithDetails(Deployer.address, VAULT_ID): ${JSON.stringify(vaultWithDetails[0], undefined, 2)}, ${vaultWithDetails[1]}, ${vaultWithDetails[2]}`); }))(); //# sourceMappingURL=controller.js.map