UNPKG

simonflex-framework

Version:

A library implements Meter Flex interface

43 lines 3.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC12aXNpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZyYW1ld29yay9hY2NvdW50LXZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBaUQ7QUFDakQscUNBQW9DO0FBQ3BDLGtEQUE4QztBQUM5Qyw2QkFBNEI7QUFFNUIsU0FBZ0IsaUJBQWlCLENBQzdCLEdBQVksRUFDWixJQUFZO0lBRVosT0FBTztRQUNILElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFBLENBQUMsQ0FBQztRQUM3QixHQUFHLEVBQUUsR0FBRyxFQUFFO1lBQ04sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMxRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNWLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDdkQsQ0FBQztRQUNELFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNkLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ2xELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQy9ELENBQUM7UUFDRCxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQTtZQUNULElBQUk7Z0JBQ0EsS0FBSyxHQUFHLElBQUksU0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ2hFO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFBO2FBQ3hFO1lBQ0QsT0FBTyxrQkFBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdEMsQ0FBQztRQUNELEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNiLElBQUksS0FBSyxDQUFBO1lBQ1QsSUFBSTtnQkFDQSxLQUFLLEdBQUcsSUFBSSxTQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDN0Q7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDVixNQUFNLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUE7YUFDeEU7WUFDRCxPQUFPLCtCQUFlLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1QyxDQUFDO0tBQ0osQ0FBQTtBQUNMLENBQUM7QUFuQ0QsOENBbUNDIn0=