@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
70 lines (68 loc) • 5.07 kB
JavaScript
"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