@ajna-finance/sdk
Version:
A typescript SDK that can be used to create Dapps in Ajna ecosystem.
171 lines • 7.77 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.addQuoteToken = addQuoteToken;
exports.moveQuoteToken = moveQuoteToken;
exports.removeQuoteToken = removeQuoteToken;
exports.lenderInfo = lenderInfo;
exports.debtInfo = debtInfo;
exports.loansInfo = loansInfo;
exports.interestRateInfo = interestRateInfo;
exports.kickerInfo = kickerInfo;
exports.depositIndex = depositIndex;
exports.collateralAddress = collateralAddress;
exports.quoteTokenAddress = quoteTokenAddress;
exports.quoteTokenScale = quoteTokenScale;
exports.lpAllowance = lpAllowance;
exports.increaseLPAllowance = increaseLPAllowance;
exports.stampLoan = stampLoan;
exports.lenderKick = lenderKick;
exports.kick = kick;
exports.bucketTake = bucketTake;
exports.take = take;
exports.settle = settle;
exports.withdrawBonds = withdrawBonds;
exports.updateInterest = updateInterest;
exports.kickReserveAuction = kickReserveAuction;
exports.takeReserves = takeReserves;
exports.approveLPTransferors = approveLPTransferors;
exports.revokeLPTransferors = revokeLPTransferors;
const tslib_1 = require("tslib");
const transactions_1 = require("../utils/transactions");
function addQuoteToken(contract, amount, bucketIndex, expiry, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'addQuoteToken', args: [amount, bucketIndex, expiry] }, overrides);
});
}
function moveQuoteToken(contract, maxAmountToMove, fromIndex, toIndex, expiry, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, {
methodName: 'moveQuoteToken',
args: [maxAmountToMove, fromIndex, toIndex, expiry],
}, overrides);
});
}
function removeQuoteToken(contract, maxAmount, bucketIndex, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'removeQuoteToken', args: [maxAmount, bucketIndex] }, overrides);
});
}
function lenderInfo(contract, lenderAddress, index) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.lenderInfo(index, lenderAddress);
});
}
function debtInfo(contract) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.debtInfo();
});
}
function loansInfo(contract) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.loansInfo();
});
}
function interestRateInfo(contract) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.interestRateInfo();
});
}
function kickerInfo(contract, kicker) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.kickerInfo(kicker);
});
}
function depositIndex(contract, debtAmount) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.depositIndex(debtAmount);
});
}
function collateralAddress(contract) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.collateralAddress();
});
}
function quoteTokenAddress(contract) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.quoteTokenAddress();
});
}
function quoteTokenScale(contract) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.quoteTokenScale();
});
}
function lpAllowance(contract, index, spender, owner) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield contract.lpAllowance(index, spender, owner);
});
}
function increaseLPAllowance(contract, spender, indexes, amounts, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'increaseLPAllowance', args: [spender, indexes, amounts] }, overrides);
});
}
function stampLoan(contract, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'stampLoan', args: [] }, overrides);
});
}
function lenderKick(contract, index, limitIndex, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'lenderKick', args: [index, limitIndex] }, overrides);
});
}
function kick(contract, borrowerAddress, limitIndex, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'kick', args: [borrowerAddress, limitIndex] }, overrides);
});
}
function bucketTake(contract, borrowerAddress, depositTake, bucketIndex, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'bucketTake', args: [borrowerAddress, depositTake, bucketIndex] }, overrides);
});
}
function take(contract, borrowerAddress, collateralAmount, // maxAmount for ERC20Pools, amount for ERC721Pools
callee, callData, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const encodedCallData = callData
? contract.interface.encodeFunctionData(callData.methodName, callData.args)
: [];
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'take', args: [borrowerAddress, collateralAmount, callee, encodedCallData] }, overrides);
});
}
function settle(contract, borrowerAddress, maxDepth, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'settle', args: [borrowerAddress, maxDepth] }, overrides);
});
}
function withdrawBonds(contract, recipientAddress, maxAmount, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'withdrawBonds', args: [recipientAddress, maxAmount] }, overrides);
});
}
function updateInterest(contract, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'updateInterest' }, overrides);
});
}
function kickReserveAuction(contract, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'kickReserveAuction' }, overrides);
});
}
function takeReserves(contract, maxAmount, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield (0, transactions_1.createTransaction)(contract, { methodName: 'takeReserves', args: [maxAmount] }, overrides);
});
}
function approveLPTransferors(signer, pool, transferors, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return (0, transactions_1.createTransaction)(pool.connect(signer), {
methodName: 'approveLPTransferors',
args: [transferors],
}, overrides);
});
}
function revokeLPTransferors(signer, pool, transferors, overrides) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return (0, transactions_1.createTransaction)(pool.connect(signer), { methodName: 'revokeLPTransferors', args: [transferors] }, overrides);
});
}
//# sourceMappingURL=pool.js.map