UNPKG

@meterio/flex-framework

Version:

A library implements Meter Flex interface

44 lines 3.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.newAccountVisitor = void 0; const event_visitor_1 = require("./event-visitor"); const method_1 = require("./method"); const abi_1 = require("@meterio/devkit/dist/abi"); const R = require("./rules"); function newAccountVisitor(ctx, addr) { return { get address() { return addr; }, get: () => { return ctx.driver.getAccount(addr, ctx.trackedHead.id); }, getCode: () => { return ctx.driver.getCode(addr, ctx.trackedHead.id); }, getStorage: key => { key = R.test(key, R.bytes32, 'arg0').toLowerCase(); return ctx.driver.getStorage(addr, key, ctx.trackedHead.id); }, method: jsonABI => { let coder; try { coder = new abi_1.abi.Function(JSON.parse(JSON.stringify(jsonABI))); } catch (err) { throw new R.BadParameter(`arg0: expected valid ABI (${err.message})`); } return method_1.newMethod(ctx, addr, coder); }, event: jsonABI => { let coder; try { coder = new abi_1.abi.Event(JSON.parse(JSON.stringify(jsonABI))); } catch (err) { throw new R.BadParameter(`arg0: expected valid ABI (${err.message})`); } return event_visitor_1.newEventVisitor(ctx, addr, coder); } }; } exports.newAccountVisitor = newAccountVisitor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC12aXNpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZyYW1ld29yay9hY2NvdW50LXZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWlEO0FBQ2pELHFDQUFvQztBQUNwQyxrREFBOEM7QUFDOUMsNkJBQTRCO0FBRTVCLFNBQWdCLGlCQUFpQixDQUM3QixHQUFZLEVBQ1osSUFBWTtJQUVaLE9BQU87UUFDSCxJQUFJLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQSxDQUFDLENBQUM7UUFDN0IsR0FBRyxFQUFFLEdBQUcsRUFBRTtZQUNOLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDMUQsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDVixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELENBQUM7UUFDRCxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDZCxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNsRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMvRCxDQUFDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2QsSUFBSSxLQUFLLENBQUE7WUFDVCxJQUFJO2dCQUNBLEtBQUssR0FBRyxJQUFJLFNBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNoRTtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNWLE1BQU0sSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLDZCQUE2QixHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQTthQUN4RTtZQUNELE9BQU8sa0JBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLENBQUM7UUFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDYixJQUFJLEtBQUssQ0FBQTtZQUNULElBQUk7Z0JBQ0EsS0FBSyxHQUFHLElBQUksU0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQzdEO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFBO2FBQ3hFO1lBQ0QsT0FBTywrQkFBZSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDNUMsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDO0FBbkNELDhDQW1DQyJ9