UNPKG

@dolomite-exchange/dolomite-margin

Version:

Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol

73 lines 3.45 kB
"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