@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
31 lines (29 loc) • 2.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.add = void 0;
const constants_1 = require("../../constants");
const BuiltinInterface_1 = require("../BuiltinInterface");
const SysCallInstanceMemberPrimitive_1 = require("./SysCallInstanceMemberPrimitive");
const ValueFor_1 = require("./ValueFor");
const ValueInstanceOf_1 = require("./ValueInstanceOf");
class AssetInterface extends BuiltinInterface_1.BuiltinInterface {
}
class AssetConstructorInterface extends BuiltinInterface_1.BuiltinInterface {
}
exports.add = (builtins) => {
builtins.addContractInterface('Asset', new AssetInterface());
builtins.addContractValue('Asset', new ValueInstanceOf_1.ValueInstanceOf('AssetConstructor', (sb) => sb.helpers.isAsset));
builtins.addContractMember('Asset', 'hash', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetAssetId', constants_1.Types.Asset, constants_1.Types.Buffer));
builtins.addContractMember('Asset', 'type', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetAssetType', constants_1.Types.Asset, constants_1.Types.Number));
builtins.addContractMember('Asset', 'amount', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetAmount', constants_1.Types.Asset, constants_1.Types.Number));
builtins.addContractMember('Asset', 'available', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetAvailable', constants_1.Types.Asset, constants_1.Types.Number));
builtins.addContractMember('Asset', 'precision', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetPrecision', constants_1.Types.Asset, constants_1.Types.Number));
builtins.addContractMember('Asset', 'owner', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetOwner', constants_1.Types.Asset, constants_1.Types.Buffer));
builtins.addContractMember('Asset', 'admin', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetAdmin', constants_1.Types.Asset, constants_1.Types.Buffer));
builtins.addContractMember('Asset', 'issuer', new SysCallInstanceMemberPrimitive_1.SysCallInstanceMemberPrimitive('Neo.Asset.GetIssuer', constants_1.Types.Asset, constants_1.Types.Buffer));
builtins.addContractInterface('AssetConstructor', new AssetConstructorInterface());
builtins.addContractMember('AssetConstructor', 'for', new ValueFor_1.ValueFor('Neo.Blockchain.GetAsset', (sb, node, options) => {
sb.emitHelper(node, options, sb.helpers.wrapAsset);
}));
};
//# sourceMappingURL=asset.js.map