@volare.finance/volare.js
Version:
The SDK for Volare Protocol
46 lines • 2.59 kB
JavaScript
;
/**
* @file exchange.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 TAKER_PRIVATE_KEY = String(process.env.TAKER_PRIVATE_KEY);
const VTOKEN_ADDRESS = String(process.env.VTOKEN_ADDRESS);
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);
// const Taker = new Wallet(TAKER_PRIVATE_KEY, Provider);
src_1.Exchange.Init(ENDPOINT);
const exchange = new src_1.Exchange({
endpoint: ENDPOINT,
contracts: Contracts,
});
(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const buyOrder = yield exchange.buy(Maker, VTOKEN_ADDRESS, new utils_js_1.BigNumber(1), new utils_js_1.BigNumber(10), Math.floor(Date.now() / 1000) + 3600);
console.log(`exchange.buy():`, JSON.stringify(buyOrder, undefined, 2));
const buyOrderHash = yield exchange.getLimitOrderHash(buyOrder.limitOrder);
console.log(`exchange.getLimitOrderHash():`, buyOrderHash, buyOrderHash === buyOrder.orderHash);
const buyerAddress = new src_1.LimitOrder(buyOrder.limitOrder).recoverAddress(buyOrder.signature);
console.log('exchange.recoverAddress()', buyerAddress, buyerAddress.toLowerCase() === Maker.address.toLowerCase());
// console.log(`exchange.cancelLimitOrder(): ${await exchange.cancelLimitOrder(Maker, buyOrder)}`);
const sellOrder = yield exchange.sell(Maker, VTOKEN_ADDRESS, new utils_js_1.BigNumber(1), new utils_js_1.BigNumber(10), Math.floor(Date.now() / 1000) + 3600);
console.log(`exchange.sell():`, JSON.stringify(sellOrder, undefined, 2));
const sellOrderHash = yield exchange.getLimitOrderHash(sellOrder.limitOrder);
console.log(`exchange.getLimitOrderHash():`, sellOrderHash, sellOrderHash === sellOrder.orderHash);
const sellerAddress = new src_1.LimitOrder(sellOrder.limitOrder).recoverAddress(sellOrder.signature);
console.log('exchange.recoverAddress()', sellerAddress, sellerAddress.toLowerCase() === Maker.address.toLowerCase());
}))();
//# sourceMappingURL=exchange.js.map