@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
95 lines • 6.14 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Admin = void 0;
const Helpers_1 = require("../lib/Helpers");
class Admin {
constructor(contracts) {
this.contracts = contracts;
}
// ============ Token Functions ============
async withdrawExcessTokens(marketId, recipient, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerWithdrawExcessTokens(marketId.toFixed(0), recipient), options);
}
async withdrawUnsupportedTokens(token, recipient, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerWithdrawUnsupportedTokens(token, recipient), options);
}
// ============ Market Functions ============
async addMarket(token, priceOracle, interestSetter, marginPremium, spreadPremium, maxSupplyWei, maxBorrowWei, earningsRateOverride, isClosing, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerAddMarket(token, priceOracle, interestSetter, { value: Helpers_1.decimalToString(marginPremium) }, { value: Helpers_1.decimalToString(spreadPremium) }, maxSupplyWei.toFixed(0), maxBorrowWei.toFixed(0), { value: Helpers_1.decimalToString(earningsRateOverride) }, isClosing), options);
}
async setIsClosing(marketId, isClosing, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetIsClosing(marketId.toFixed(0), isClosing), options);
}
async setPriceOracle(marketId, oracle, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetPriceOracle(marketId.toFixed(0), oracle), options);
}
async setInterestSetter(marketId, interestSetter, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetInterestSetter(marketId.toFixed(0), interestSetter), options);
}
async setMarginPremium(marketId, marginPremium, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetMarginPremium(marketId.toFixed(0), {
value: Helpers_1.decimalToString(marginPremium),
}), options);
}
async setLiquidationSpreadPremium(marketId, spreadPremium, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetLiquidationSpreadPremium(marketId.toFixed(0), {
value: Helpers_1.decimalToString(spreadPremium),
}), options);
}
async setMaxSupplyWei(marketId, maxSupplyWei, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetMaxSupplyWei(marketId.toFixed(0), maxSupplyWei.toFixed(0)), options);
}
async setMaxBorrowWei(marketId, maxBorrowWei, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetMaxBorrowWei(marketId.toFixed(0), maxBorrowWei.toFixed(0)), options);
}
async setEarningsRateOverride(marketId, earningsRateOverride, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetEarningsRateOverride(marketId.toFixed(0), {
value: Helpers_1.decimalToString(earningsRateOverride),
}), options);
}
// ============ Risk Functions ============
async setMarginRatio(marginRatio, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetMarginRatio({
value: Helpers_1.decimalToString(marginRatio),
}), options);
}
async setLiquidationSpread(spread, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetLiquidationSpread({
value: Helpers_1.decimalToString(spread),
}), options);
}
async setEarningsRate(rate, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetEarningsRate({
value: Helpers_1.decimalToString(rate),
}), options);
}
async setMinBorrowedValue(minBorrowedValue, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetMinBorrowedValue({
value: minBorrowedValue.toFixed(0),
}), options);
}
async setAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances), options);
}
async setOracleSentinel(oracleSentinel, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetOracleSentinel(oracleSentinel), options);
}
async setCallbackGasLimit(callbackGasLimit, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetCallbackGasLimit(callbackGasLimit.toFixed()), options);
}
async setDefaultAccountRiskOverride(accountRiskOverrideSetter, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetDefaultAccountRiskOverride(accountRiskOverrideSetter), options);
}
async setAccountRiskOverride(accountOwner, accountRiskOverrideSetter, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetAccountRiskOverride(accountOwner, accountRiskOverrideSetter), options);
}
// ============ Global Operator Functions ============
async setGlobalOperator(operator, approved, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetGlobalOperator(operator, approved), options);
}
async setAutoTraderIsSpecial(autoTrader, isSpecial, options) {
return this.contracts.callContractFunction(this.contracts.dolomiteMargin.methods.ownerSetAutoTraderSpecial(autoTrader, isSpecial), options);
}
}
exports.Admin = Admin;
//# sourceMappingURL=Admin.js.map