@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
73 lines • 3.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PayableToken = void 0;
class PayableToken {
constructor(contracts, token) {
this.contracts = contracts;
this.token = token;
this.payableToken = contracts.payableToken;
if (!contracts.payableToken.options.address) {
throw new Error('No payable token found!');
}
}
get address() {
return this.payableToken.options.address;
}
async wrap(ownerAddress, amount, options = {}) {
return this.contracts.callContractFunction(this.payableToken.methods.deposit(), {
...options,
from: ownerAddress,
value: amount.toFixed(0),
});
}
async unwrap(ownerAddress, amount, options = {}) {
return this.contracts.callContractFunction(this.payableToken.methods.withdraw(amount.toFixed(0)), {
...options,
from: ownerAddress,
});
}
async getAllowance(ownerAddress, spenderAddress, options) {
return this.token.getAllowance(this.payableToken.options.address, ownerAddress, spenderAddress, options);
}
async getBalance(ownerAddress, options) {
return this.token.getBalance(this.payableToken.options.address, ownerAddress, options);
}
async getTotalSupply(options) {
return this.token.getTotalSupply(this.payableToken.options.address, options);
}
async getName(options) {
return this.token.getName(this.payableToken.options.address, options);
}
async getSymbol(options) {
return this.token.getSymbol(this.payableToken.options.address, options);
}
async getDecimals(options) {
return this.token.getDecimals(this.payableToken.options.address, options);
}
async getDolomiteMarginAllowance(ownerAddress, options) {
return this.token.getDolomiteMarginAllowance(this.payableToken.options.address, ownerAddress, options);
}
async setAllowance(ownerAddress, spenderAddress, amount, options = {}) {
return this.token.setAllowance(this.payableToken.options.address, ownerAddress, spenderAddress, amount, options);
}
async setDolomiteMarginAllowance(ownerAddress, amount, options = {}) {
return this.token.setDolomiteMarginllowance(this.payableToken.options.address, ownerAddress, amount, options);
}
async setMaximumAllowance(ownerAddress, spenderAddress, options = {}) {
return this.token.setMaximumAllowance(this.payableToken.options.address, ownerAddress, spenderAddress, options);
}
async setMaximumDolomiteMarginAllowance(ownerAddress, options = {}) {
return this.token.setMaximumDolomiteMarginAllowance(this.payableToken.options.address, ownerAddress, options);
}
async unsetDolomiteMarginAllowance(ownerAddress, options = {}) {
return this.token.unsetDolomiteMarginAllowance(this.payableToken.options.address, ownerAddress, options);
}
async transfer(fromAddress, toAddress, amount, options = {}) {
return this.token.transfer(this.payableToken.options.address, fromAddress, toAddress, amount, options);
}
async transferFrom(fromAddress, toAddress, senderAddress, amount, options = {}) {
return this.token.transferFrom(this.payableToken.options.address, fromAddress, toAddress, senderAddress, amount, options);
}
}
exports.PayableToken = PayableToken;
//# sourceMappingURL=PayableToken.js.map