UNPKG

@ajna-finance/sdk

Version:

A typescript SDK that can be used to create Dapps in Ajna ecosystem.

58 lines 2.72 kB
"use strict"; 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