@witnet/ethers
Version:
Wit/Oracle Ethers Framework package for EVM-compatible projects
35 lines • 5.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WitOracleConsumer = void 0;
const utils_1 = require("../utils");
const WitAppliance_1 = require("./WitAppliance");
class WitOracleConsumer extends WitAppliance_1.WitAppliance {
constructor(witOracle, target) {
super(witOracle, "WitOracleConsumer", target);
}
static async at(witOracle, target) {
const consumer = new WitOracleConsumer(witOracle, target);
const consumerWitOracleAddr = await consumer.contract.witOracle.staticCall();
if (consumerWitOracleAddr !== witOracle.address) {
throw new Error(`${this.constructor.name} at ${target}: mismatching Wit/Oracle address (${consumerWitOracleAddr})`);
}
return consumer;
}
async pushDataReport(report, options) {
return this.contract
.pushDataReport
.populateTransaction((0, utils_1.abiEncodeDataPushReport)(report), report?.evm_proof)
.then(tx => {
tx.gasPrice = options?.gasPrice || tx?.gasPrice;
tx.gasLimit = options?.gasLimit || tx?.gasLimit;
return this.signer.sendTransaction(tx);
})
.then(response => {
if (options?.onDataPushReportTransaction)
options.onDataPushReportTransaction(response.hash);
return response.wait(options?.confirmations || 1, options?.timeout);
});
}
}
exports.WitOracleConsumer = WitOracleConsumer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2l0T3JhY2xlQ29uc3VtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3dyYXBwZXJzL1dpdE9yYWNsZUNvbnN1bWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9DQUFrRDtBQUVsRCxpREFBNkM7QUFHN0MsTUFBYSxpQkFBa0IsU0FBUSwyQkFBWTtJQUUvQyxZQUF1QixTQUFvQixFQUFFLE1BQWM7UUFDdkQsS0FBSyxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBb0IsRUFBRSxNQUFjO1FBQ2hELE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQWlCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3pELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUM1RSxJQUFJLHFCQUFxQixLQUFLLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sTUFBTSxxQ0FBcUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZILENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFzQixFQUFFLE9BTW5EO1FBQ0csT0FBTyxJQUFJLENBQUMsUUFBUTthQUNmLGNBQWM7YUFDZCxtQkFBbUIsQ0FBQyxJQUFBLCtCQUF1QixFQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7YUFDdkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ1AsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsRUFBRSxRQUFRLENBQUE7WUFDL0MsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsRUFBRSxRQUFRLENBQUE7WUFDL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMxQyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDYixJQUFJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQUUsT0FBTyxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZFLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztDQUNKO0FBbkNELDhDQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyYWN0VHJhbnNhY3Rpb25SZWNlaXB0LCBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tIFwiZXRoZXJzXCJcclxuaW1wb3J0IHsgYWJpRW5jb2RlRGF0YVB1c2hSZXBvcnQgfSBmcm9tIFwiLi4vdXRpbHNcIlxyXG5pbXBvcnQgeyBEYXRhUHVzaFJlcG9ydCB9IGZyb20gXCIuLi90eXBlc1wiXHJcbmltcG9ydCB7IFdpdEFwcGxpYW5jZSB9IGZyb20gXCIuL1dpdEFwcGxpYW5jZVwiXHJcbmltcG9ydCB7IFdpdE9yYWNsZSB9IGZyb20gXCIuL1dpdE9yYWNsZVwiXHJcblxyXG5leHBvcnQgY2xhc3MgV2l0T3JhY2xlQ29uc3VtZXIgZXh0ZW5kcyBXaXRBcHBsaWFuY2Uge1xyXG5cclxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvciAod2l0T3JhY2xlOiBXaXRPcmFjbGUsIHRhcmdldDogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIod2l0T3JhY2xlLCBcIldpdE9yYWNsZUNvbnN1bWVyXCIsIHRhcmdldClcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgYXN5bmMgYXQod2l0T3JhY2xlOiBXaXRPcmFjbGUsIHRhcmdldDogc3RyaW5nKTogUHJvbWlzZTxXaXRPcmFjbGVDb25zdW1lcj4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVyID0gbmV3IFdpdE9yYWNsZUNvbnN1bWVyKHdpdE9yYWNsZSwgdGFyZ2V0KVxyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVyV2l0T3JhY2xlQWRkciA9IGF3YWl0IGNvbnN1bWVyLmNvbnRyYWN0LndpdE9yYWNsZS5zdGF0aWNDYWxsKClcclxuICAgICAgICBpZiAoY29uc3VtZXJXaXRPcmFjbGVBZGRyICE9PSB3aXRPcmFjbGUuYWRkcmVzcykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSBhdCAke3RhcmdldH06IG1pc21hdGNoaW5nIFdpdC9PcmFjbGUgYWRkcmVzcyAoJHtjb25zdW1lcldpdE9yYWNsZUFkZHJ9KWApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb25zdW1lclxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBwdXNoRGF0YVJlcG9ydChyZXBvcnQ6IERhdGFQdXNoUmVwb3J0LCBvcHRpb25zPzogeyBcclxuICAgICAgICBjb25maXJtYXRpb25zPzogbnVtYmVyLCBcclxuICAgICAgICBnYXNQcmljZT86IGJpZ2ludCxcclxuICAgICAgICBnYXNMaW1pdD86IGJpZ2ludCxcclxuICAgICAgICBvbkRhdGFQdXNoUmVwb3J0VHJhbnNhY3Rpb24/OiAodHhIYXNoOiBzdHJpbmcpID0+IGFueSxcclxuICAgICAgICB0aW1lb3V0PzogbnVtYmVyLFxyXG4gICAgfSk6IFByb21pc2U8Q29udHJhY3RUcmFuc2FjdGlvblJlY2VpcHQgfCBUcmFuc2FjdGlvblJlY2VpcHQgfCBudWxsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJhY3RcclxuICAgICAgICAgICAgLnB1c2hEYXRhUmVwb3J0XHJcbiAgICAgICAgICAgIC5wb3B1bGF0ZVRyYW5zYWN0aW9uKGFiaUVuY29kZURhdGFQdXNoUmVwb3J0KHJlcG9ydCksIHJlcG9ydD8uZXZtX3Byb29mKVxyXG4gICAgICAgICAgICAudGhlbih0eCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0eC5nYXNQcmljZSA9IG9wdGlvbnM/Lmdhc1ByaWNlIHx8IHR4Py5nYXNQcmljZSBcclxuICAgICAgICAgICAgICAgIHR4Lmdhc0xpbWl0ID0gb3B0aW9ucz8uZ2FzTGltaXQgfHwgdHg/Lmdhc0xpbWl0XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaWduZXIuc2VuZFRyYW5zYWN0aW9uKHR4KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucz8ub25EYXRhUHVzaFJlcG9ydFRyYW5zYWN0aW9uKSBvcHRpb25zLm9uRGF0YVB1c2hSZXBvcnRUcmFuc2FjdGlvbihyZXNwb25zZS5oYXNoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS53YWl0KG9wdGlvbnM/LmNvbmZpcm1hdGlvbnMgfHwgMSwgb3B0aW9ucz8udGltZW91dClcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxufSAgIFxyXG5cclxuIl19