@hashlike-official/extend-web3-react-wrapper
Version:
web3-react wrapper - it offers a common interface for different wallet providers
63 lines (62 loc) • 2.63 kB
JavaScript
;
/* eslint-disable
@typescript-eslint/no-unsafe-call,
@typescript-eslint/no-unsafe-return,
@typescript-eslint/no-explicit-any,
@typescript-eslint/no-unsafe-assignment,
@typescript-eslint/no-unsafe-member-access
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.KaikasLibrary = void 0;
const contract_1 = require("../contract");
const WalletLibrary_1 = require("../types/WalletLibrary");
class KaikasLibrary extends WalletLibrary_1.WalletLibrary {
getBalanceOf(address) {
return __awaiter(this, void 0, void 0, function* () {
const balance = yield this.provider.klay.getBalance(address);
return this.provider.utils.fromPeb(balance);
});
}
getBlockNumber() {
return __awaiter(this, void 0, void 0, function* () {
const blockNumber = yield this.provider.klay.getBlockNumber();
return blockNumber;
});
}
transfer(from, to, value) {
return __awaiter(this, void 0, void 0, function* () {
const estimatedGas = yield this.provider.klay.estimateGas({
from,
to,
value: this.provider.utils.toPeb(value, 'KLAY'),
});
const receipt = yield this.provider.klay.sendTransaction({
type: 'VALUE_TRANSFER',
from,
to,
value: this.provider.utils.toPeb(value, 'KLAY'),
gas: String(estimatedGas),
});
if (receipt.txError)
return false;
return true;
});
}
contract(jsonInterface, address, account) {
const originContract = new this.provider.klay.Contract(jsonInterface, address);
if (account) {
originContract.options.from = account;
}
return new contract_1.KaikasContract(originContract);
}
}
exports.KaikasLibrary = KaikasLibrary;