UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

22 lines (20 loc) 1.62 kB
import { ContractPropertyName } from '../../../../constants'; import { StructuredStorageType } from '../../../constants'; import { BuiltinBase } from '../../BuiltinBase'; import { BuiltinInstanceMemberStorageProperty } from '../../BuiltinInstanceMemberStorageProperty'; import { BuiltinInstanceMemberStructuredStorageProperty } from '../../BuiltinInstanceMemberStructuredStorageProperty'; import { SmartContractAddress } from './address'; import { SmartContractDestroy } from './destroy'; import { SmartContractFor } from './for'; class SmartContractValue extends BuiltinBase { } export const add = (builtins) => { builtins.addContractValue('SmartContract', new SmartContractValue()); builtins.addContractMember('SmartContract', 'for', new SmartContractFor()); builtins.addContractMember('SmartContract', ContractPropertyName.address, new SmartContractAddress()); builtins.addContractMember('SmartContract', ContractPropertyName.deployed, new BuiltinInstanceMemberStorageProperty(ContractPropertyName.deployed)); builtins.addContractMember('SmartContract', ContractPropertyName.processedTransactions, new BuiltinInstanceMemberStructuredStorageProperty(StructuredStorageType.SetStorage, ContractPropertyName.processedTransactions)); builtins.addContractMember('SmartContract', ContractPropertyName.claimedTransactions, new BuiltinInstanceMemberStructuredStorageProperty(StructuredStorageType.MapStorage, ContractPropertyName.claimedTransactions)); builtins.addContractMember('SmartContract', ContractPropertyName.destroy, new SmartContractDestroy()); }; //# sourceMappingURL=index.js.map