UNPKG

@volare.finance/utils.js

Version:
118 lines 5.72 kB
"use strict"; /** * @file erc1155.ts * @author astra <astra@volare.finance> * @date 2022 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ERC1155 = void 0; const tslib_1 = require("tslib"); const ethers_1 = require("ethers"); const ERC1155_json_1 = require("../artifacts/token/ERC1155.json"); const provider_1 = require("../provider"); const type_1 = require("../type"); class ERC1155 extends provider_1.Provider { static ABI() { return ERC1155_json_1.abi; } // https://eips.ethereum.org/EIPS/eip-1155#ERC1155 static SafeTransferFrom(contract, wallet, from, to, id, value, data) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); return erc1155.connect(wallet).safeTransferFrom(from, to, id, value.toString(10), data); }); } static SafeBatchTransferFrom(contract, wallet, from, to, ids, values, data) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); return erc1155.connect(wallet).safeBatchTransferFrom(from, to, ids, values.map(value => value.toString(10)), data); }); } static BalanceOf(contract, owner, id) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); return new type_1.BigNumber((yield erc1155.balanceOf(owner, id)).toString()); }); } static BalanceOfBatch(contract, owners, ids) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); const balances = yield erc1155.balanceOfBatch(owners, ids); return balances.map((balance) => new type_1.BigNumber(balance.toString())); }); } static SetApprovalForAll(contract, wallet, operator, approved) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); return erc1155.connect(wallet).setApprovalForAll(operator, approved); }); } static IsApprovedForAll(contract, owner, operator) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); return erc1155.isApprovedForAll(owner, operator); }); } // https://eips.ethereum.org/EIPS/eip-1155#ERC1155Metadata_URI static URI(contract, id) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const erc1155 = new ethers_1.Contract(contract, ERC1155.ABI(), ERC1155.provider); return erc1155.uri(id); }); } constructor(contract, endpoint) { super(endpoint); this.contract = new ethers_1.Contract(contract, ERC1155.ABI(), this.provider); } // https://eips.ethereum.org/EIPS/eip-1155#ERC1155 safeTransferFrom(wallet, from, to, id, value, data) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { return (_a = this.contract) === null || _a === void 0 ? void 0 : _a.connect(wallet).safeTransferFrom(from, to, id, value.toString(10), data); }); } safeBatchTransferFrom(wallet, from, to, ids, values, data) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { return (_a = this.contract) === null || _a === void 0 ? void 0 : _a.connect(wallet).safeBatchTransferFrom(from, to, ids, values.map(value => value.toString(10)), data); }); } balanceOf(owner, id) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { return new type_1.BigNumber((yield ((_a = this.contract) === null || _a === void 0 ? void 0 : _a.balanceOf(owner, id))).toString()); }); } balanceOfBatch(owners, ids) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { const balances = yield ((_a = this.contract) === null || _a === void 0 ? void 0 : _a.balanceOfBatch(owners, ids)); return balances.map((balance) => new type_1.BigNumber(balance.toString())); }); } setApprovalForAll(wallet, operator, approved) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { return (_a = this.contract) === null || _a === void 0 ? void 0 : _a.connect(wallet).setApprovalForAll(operator, approved); }); } isApprovedForAll(owner, operator) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { return (_a = this.contract) === null || _a === void 0 ? void 0 : _a.isApprovedForAll(owner, operator); }); } // https://eips.ethereum.org/EIPS/eip-1155#ERC1155Metadata_URI uri(id) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { return (_a = this.contract) === null || _a === void 0 ? void 0 : _a.uri(id); }); } } exports.ERC1155 = ERC1155; ERC1155.TransferSingle_t0 = ethers_1.utils.id('TransferSingle(address,address,address,uint256,uint256)'); ERC1155.TransferBatch_t0 = ethers_1.utils.id('TransferBatch(address,address,address,uint256[],uint256[])'); ERC1155.ApprovalForAll_t0 = ethers_1.utils.id('ApprovalForAll(address,address,bool)'); ERC1155.URI_t0 = ethers_1.utils.id('URI(string,uint256)'); //# sourceMappingURL=erc1155.js.map