UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

70 lines (68 loc) 5.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.add = void 0; const constants_1 = require("../../constants"); const BuiltinInterface_1 = require("../BuiltinInterface"); const BuiltinValueObject_1 = require("../BuiltinValueObject"); const SysCallInstanceMemberArray_1 = require("./SysCallInstanceMemberArray"); const SysCallInstanceMemberPrimitive_1 = require("./SysCallInstanceMemberPrimitive"); const ValueFor_1 = require("./ValueFor"); const ValueInstanceOf_1 = require("./ValueInstanceOf"); class TransactionBaseInterface extends BuiltinInterface_1.BuiltinInterface { } class TransactionBaseConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } class TransactionValue extends BuiltinValueObject_1.BuiltinValueObject { constructor() { super(...arguments); this.type = 'TransactionConstructor'; } } class TransactionConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } class MinerTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class IssueTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class ClaimTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class EnrollmentTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class RegisterTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class ContractTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class StateTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class PublishTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } class InvocationTransactionInterface extends BuiltinInterface_1.BuiltinInterface { } exports.add = (builtins) => { builtins.addContractInterface('TransactionBase', new TransactionBaseInterface()); builtins.addContractValue('TransactionBase', new ValueInstanceOf_1.ValueInstanceOf('TransactionBaseConstructor', (sb) => sb.helpers.isTransaction)); builtins.addContractInterface('TransactionBaseConstructor', new TransactionBaseConstructorInterface()); builtins.addContractMember('TransactionBase', 'type', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Transaction.GetType', constants_1.Types.Transaction, constants_1.Types.Number)); builtins.addContractMember('TransactionBase', 'hash', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Transaction.GetHash', constants_1.Types.Transaction, constants_1.Types.Buffer)); builtins.addContractMember('TransactionBase', 'attributes', new SysCallInstanceMemberArray_1.SysCallInstanceMemberArray('Neo.Transaction.GetAttributes', constants_1.Types.Transaction, constants_1.Types.Attribute)); builtins.addContractMember('TransactionBase', 'outputs', new SysCallInstanceMemberArray_1.SysCallInstanceMemberArray('Neo.Transaction.GetOutputs', constants_1.Types.Transaction, constants_1.Types.Output)); builtins.addContractMember('TransactionBase', 'inputs', new SysCallInstanceMemberArray_1.SysCallInstanceMemberArray('Neo.Transaction.GetInputs', constants_1.Types.Transaction, constants_1.Types.Input)); builtins.addContractMember('TransactionBase', 'references', new SysCallInstanceMemberArray_1.SysCallInstanceMemberArray('Neo.Transaction.GetReferences', constants_1.Types.Transaction, constants_1.Types.Output)); builtins.addContractMember('TransactionBase', 'unspentOutputs', new SysCallInstanceMemberArray_1.SysCallInstanceMemberArray('Neo.Transaction.GetUnspentCoins', constants_1.Types.Transaction, constants_1.Types.Output)); builtins.addContractInterface('InvocationTransaction', new InvocationTransactionInterface()); builtins.addContractMember('InvocationTransaction', 'script', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.InvocationTransaction.GetScript', constants_1.Types.Transaction, constants_1.Types.Buffer)); builtins.addContractInterface('MinerTransaction', new MinerTransactionInterface()); builtins.addContractInterface('IssueTransaction', new IssueTransactionInterface()); builtins.addContractInterface('ClaimTransaction', new ClaimTransactionInterface()); builtins.addContractInterface('EnrollmentTransaction', new EnrollmentTransactionInterface()); builtins.addContractInterface('RegisterTransaction', new RegisterTransactionInterface()); builtins.addContractInterface('ContractTransaction', new ContractTransactionInterface()); builtins.addContractInterface('StateTransaction', new StateTransactionInterface()); builtins.addContractInterface('PublishTransaction', new PublishTransactionInterface()); builtins.addContractValue('Transaction', new TransactionValue()); builtins.addContractInterface('TransactionConstructor', new TransactionConstructorInterface()); builtins.addContractMember('TransactionConstructor', 'for', new ValueFor_1.ValueFor('Neo.Blockchain.GetTransaction', (sb, node, options) => { sb.emitHelper(node, options, sb.helpers.wrapTransaction); })); }; //# sourceMappingURL=transaction.js.map