@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
19 lines (17 loc) • 1.11 kB
JavaScript
import { Types } from '../../constants';
import { BuiltinInterface } from '../BuiltinInterface';
import { SysCallInstanceMemberPrimitive } from './SysCallInstanceMemberPrimitive';
import { ValueInstanceOf } from './ValueInstanceOf';
class OutputInterface extends BuiltinInterface {
}
class OutputConstructorInterface extends BuiltinInterface {
}
export const add = (builtins) => {
builtins.addContractInterface('Output', new OutputInterface());
builtins.addContractValue('Output', new ValueInstanceOf('OutputConstructor', (sb) => sb.helpers.isOutput));
builtins.addContractMember('Output', 'address', new SysCallInstanceMemberPrimitive('Neo.Output.GetScriptHash', Types.Output, Types.Buffer));
builtins.addContractMember('Output', 'asset', new SysCallInstanceMemberPrimitive('Neo.Output.GetAssetId', Types.Output, Types.Buffer));
builtins.addContractMember('Output', 'value', new SysCallInstanceMemberPrimitive('Neo.Output.GetValue', Types.Output, Types.Number));
builtins.addContractInterface('OutputConstructor', new OutputConstructorInterface());
};
//# sourceMappingURL=output.js.map