@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
24 lines (22 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.add = void 0;
const constants_1 = require("../../constants");
const BuiltinInterface_1 = require("../BuiltinInterface");
const SysCallInstanceMemberArray_1 = require("./SysCallInstanceMemberArray");
const ValueFor_1 = require("./ValueFor");
const ValueInstanceOf_1 = require("./ValueInstanceOf");
class BlockInterface extends BuiltinInterface_1.BuiltinInterface {
}
class BlockConstructorInterface extends BuiltinInterface_1.BuiltinInterface {
}
exports.add = (builtins) => {
builtins.addContractInterface('Block', new BlockInterface());
builtins.addContractValue('Block', new ValueInstanceOf_1.ValueInstanceOf('BlockConstructor', (sb) => sb.helpers.isBlock));
builtins.addContractMember('Block', 'transactions', new SysCallInstanceMemberArray_1.SysCallInstanceMemberArray('Neo.Block.GetTransactions', constants_1.Types.Block, constants_1.Types.Transaction));
builtins.addContractInterface('BlockConstructor', new BlockConstructorInterface());
builtins.addContractMember('BlockConstructor', 'for', new ValueFor_1.ValueFor('Neo.Blockchain.GetBlock', (sb, node, options) => {
sb.emitHelper(node, options, sb.helpers.wrapBlock);
}));
};
//# sourceMappingURL=block.js.map