@ajna-finance/sdk
Version:
A typescript SDK that can be used to create Dapps in Ajna ecosystem.
58 lines • 2.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAjnaTokenContract = exports.getDSTokenContract = exports.getErc20Contract = void 0;
exports.getBalance = getBalance;
exports.transfer = transfer;
exports.getAjnaBalance = getAjnaBalance;
exports.transferAjna = transferAjna;
const tslib_1 = require("tslib");
const ERC20_json_1 = tslib_1.__importDefault(require("../abis/ERC20.json"));
const DSToken_json_1 = tslib_1.__importDefault(require("../abis/DSToken.json"));
const ethers_1 = require("ethers");
const AjnaToken_json_1 = tslib_1.__importDefault(require("../abis/AjnaToken.json"));
const Config_1 = require("../classes/Config");
const checksum_address_1 = tslib_1.__importDefault(require("../utils/checksum-address"));
const utils_1 = require("../utils");
const getErc20Contract = (contractAddress, provider) => {
return new ethers_1.ethers.Contract(contractAddress, ERC20_json_1.default, provider);
};
exports.getErc20Contract = getErc20Contract;
const getDSTokenContract = (contractAddress, provider) => {
return new ethers_1.ethers.Contract(contractAddress, DSToken_json_1.default, provider);
};
exports.getDSTokenContract = getDSTokenContract;
const getAjnaTokenContract = (provider) => {
return new ethers_1.ethers.Contract((0, checksum_address_1.default)(Config_1.Config.ajnaToken), AjnaToken_json_1.default, provider);
};
exports.getAjnaTokenContract = getAjnaTokenContract;
function getBalance(signer, account, contractAddress) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const contractInstance = (0, exports.getErc20Contract)(contractAddress, signer);
return yield contractInstance.balanceOf(account);
});
}
function transfer(signer, to, amount, contractAddress) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const contractInstance = (0, exports.getErc20Contract)(contractAddress, signer);
return yield (0, utils_1.createTransaction)(contractInstance, {
methodName: 'transfer',
args: [to, amount],
});
});
}
function getAjnaBalance(signer, account) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const contractInstance = (0, exports.getAjnaTokenContract)(signer);
return yield contractInstance.balanceOf(account);
});
}
function transferAjna(signer, to, amount) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const contractInstance = (0, exports.getAjnaTokenContract)(signer);
return yield (0, utils_1.createTransaction)(contractInstance, {
methodName: 'transfer',
args: [to, amount],
});
});
}
//# sourceMappingURL=erc20.js.map