@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
24 lines (22 loc) • 5.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../../../constants");
const constants_2 = require("../../../constants");
const BuiltinBase_1 = require("../../BuiltinBase");
const BuiltinInstanceMemberStorageProperty_1 = require("../../BuiltinInstanceMemberStorageProperty");
const BuiltinInstanceMemberStructuredStorageProperty_1 = require("../../BuiltinInstanceMemberStructuredStorageProperty");
const address_1 = require("./address");
const destroy_1 = require("./destroy");
const for_1 = require("./for");
class SmartContractValue extends BuiltinBase_1.BuiltinBase {
}
exports.add = (builtins) => {
builtins.addContractValue('SmartContract', new SmartContractValue());
builtins.addContractMember('SmartContract', 'for', new for_1.SmartContractFor());
builtins.addContractMember('SmartContract', constants_1.ContractPropertyName.address, new address_1.SmartContractAddress());
builtins.addContractMember('SmartContract', constants_1.ContractPropertyName.deployed, new BuiltinInstanceMemberStorageProperty_1.BuiltinInstanceMemberStorageProperty(constants_1.ContractPropertyName.deployed));
builtins.addContractMember('SmartContract', constants_1.ContractPropertyName.processedTransactions, new BuiltinInstanceMemberStructuredStorageProperty_1.BuiltinInstanceMemberStructuredStorageProperty(constants_2.StructuredStorageType.SetStorage, constants_1.ContractPropertyName.processedTransactions));
builtins.addContractMember('SmartContract', constants_1.ContractPropertyName.claimedTransactions, new BuiltinInstanceMemberStructuredStorageProperty_1.BuiltinInstanceMemberStructuredStorageProperty(constants_2.StructuredStorageType.MapStorage, constants_1.ContractPropertyName.claimedTransactions));
builtins.addContractMember('SmartContract', constants_1.ContractPropertyName.destroy, new destroy_1.SmartContractDestroy());
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQTZEO0FBQzdELGtEQUEyRDtBQUMzRCxtREFBZ0Q7QUFDaEQscUdBQWtHO0FBQ2xHLHlIQUFzSDtBQUV0SCx1Q0FBaUQ7QUFDakQsdUNBQWlEO0FBQ2pELCtCQUF5QztBQUV6QyxNQUFNLGtCQUFtQixTQUFRLHlCQUFXO0NBQUc7QUFHbEMsUUFBQSxHQUFHLEdBQUcsQ0FBQyxRQUFrQixFQUFRLEVBQUU7SUFDOUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUNyRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLHNCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLGdDQUFvQixDQUFDLE9BQU8sRUFBRSxJQUFJLDhCQUFvQixFQUFFLENBQUMsQ0FBQztJQUN0RyxRQUFRLENBQUMsaUJBQWlCLENBQ3hCLGVBQWUsRUFDZixnQ0FBb0IsQ0FBQyxRQUFRLEVBQzdCLElBQUksMkVBQW9DLENBQUMsZ0NBQW9CLENBQUMsUUFBUSxDQUFDLENBQ3hFLENBQUM7SUFDRixRQUFRLENBQUMsaUJBQWlCLENBQ3hCLGVBQWUsRUFDZixnQ0FBb0IsQ0FBQyxxQkFBcUIsRUFDMUMsSUFBSSwrRkFBOEMsQ0FDaEQsaUNBQXFCLENBQUMsVUFBVSxFQUNoQyxnQ0FBb0IsQ0FBQyxxQkFBcUIsQ0FDM0MsQ0FDRixDQUFDO0lBQ0YsUUFBUSxDQUFDLGlCQUFpQixDQUN4QixlQUFlLEVBQ2YsZ0NBQW9CLENBQUMsbUJBQW1CLEVBQ3hDLElBQUksK0ZBQThDLENBQ2hELGlDQUFxQixDQUFDLFVBQVUsRUFDaEMsZ0NBQW9CLENBQUMsbUJBQW1CLENBQ3pDLENBQ0YsQ0FBQztJQUNGLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsZ0NBQW9CLENBQUMsT0FBTyxFQUFFLElBQUksOEJBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQ3hHLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2J1aWx0aW5zL2NvbnRyYWN0L3NtYXJ0Q29udHJhY3QvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cmFjdFByb3BlcnR5TmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVkU3RvcmFnZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQnVpbHRpbkJhc2UgfSBmcm9tICcuLi8uLi9CdWlsdGluQmFzZSc7XG5pbXBvcnQgeyBCdWlsdGluSW5zdGFuY2VNZW1iZXJTdG9yYWdlUHJvcGVydHkgfSBmcm9tICcuLi8uLi9CdWlsdGluSW5zdGFuY2VNZW1iZXJTdG9yYWdlUHJvcGVydHknO1xuaW1wb3J0IHsgQnVpbHRpbkluc3RhbmNlTWVtYmVyU3RydWN0dXJlZFN0b3JhZ2VQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL0J1aWx0aW5JbnN0YW5jZU1lbWJlclN0cnVjdHVyZWRTdG9yYWdlUHJvcGVydHknO1xuaW1wb3J0IHsgQnVpbHRpbnMgfSBmcm9tICcuLi8uLi9CdWlsdGlucyc7XG5pbXBvcnQgeyBTbWFydENvbnRyYWN0QWRkcmVzcyB9IGZyb20gJy4vYWRkcmVzcyc7XG5pbXBvcnQgeyBTbWFydENvbnRyYWN0RGVzdHJveSB9IGZyb20gJy4vZGVzdHJveSc7XG5pbXBvcnQgeyBTbWFydENvbnRyYWN0Rm9yIH0gZnJvbSAnLi9mb3InO1xuXG5jbGFzcyBTbWFydENvbnRyYWN0VmFsdWUgZXh0ZW5kcyBCdWlsdGluQmFzZSB7fVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgZXhwb3J0LW5hbWVcbmV4cG9ydCBjb25zdCBhZGQgPSAoYnVpbHRpbnM6IEJ1aWx0aW5zKTogdm9pZCA9PiB7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0VmFsdWUoJ1NtYXJ0Q29udHJhY3QnLCBuZXcgU21hcnRDb250cmFjdFZhbHVlKCkpO1xuICBidWlsdGlucy5hZGRDb250cmFjdE1lbWJlcignU21hcnRDb250cmFjdCcsICdmb3InLCBuZXcgU21hcnRDb250cmFjdEZvcigpKTtcbiAgYnVpbHRpbnMuYWRkQ29udHJhY3RNZW1iZXIoJ1NtYXJ0Q29udHJhY3QnLCBDb250cmFjdFByb3BlcnR5TmFtZS5hZGRyZXNzLCBuZXcgU21hcnRDb250cmFjdEFkZHJlc3MoKSk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0TWVtYmVyKFxuICAgICdTbWFydENvbnRyYWN0JyxcbiAgICBDb250cmFjdFByb3BlcnR5TmFtZS5kZXBsb3llZCxcbiAgICBuZXcgQnVpbHRpbkluc3RhbmNlTWVtYmVyU3RvcmFnZVByb3BlcnR5KENvbnRyYWN0UHJvcGVydHlOYW1lLmRlcGxveWVkKSxcbiAgKTtcbiAgYnVpbHRpbnMuYWRkQ29udHJhY3RNZW1iZXIoXG4gICAgJ1NtYXJ0Q29udHJhY3QnLFxuICAgIENvbnRyYWN0UHJvcGVydHlOYW1lLnByb2Nlc3NlZFRyYW5zYWN0aW9ucyxcbiAgICBuZXcgQnVpbHRpbkluc3RhbmNlTWVtYmVyU3RydWN0dXJlZFN0b3JhZ2VQcm9wZXJ0eShcbiAgICAgIFN0cnVjdHVyZWRTdG9yYWdlVHlwZS5TZXRTdG9yYWdlLFxuICAgICAgQ29udHJhY3RQcm9wZXJ0eU5hbWUucHJvY2Vzc2VkVHJhbnNhY3Rpb25zLFxuICAgICksXG4gICk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0TWVtYmVyKFxuICAgICdTbWFydENvbnRyYWN0JyxcbiAgICBDb250cmFjdFByb3BlcnR5TmFtZS5jbGFpbWVkVHJhbnNhY3Rpb25zLFxuICAgIG5ldyBCdWlsdGluSW5zdGFuY2VNZW1iZXJTdHJ1Y3R1cmVkU3RvcmFnZVByb3BlcnR5KFxuICAgICAgU3RydWN0dXJlZFN0b3JhZ2VUeXBlLk1hcFN0b3JhZ2UsXG4gICAgICBDb250cmFjdFByb3BlcnR5TmFtZS5jbGFpbWVkVHJhbnNhY3Rpb25zLFxuICAgICksXG4gICk7XG4gIGJ1aWx0aW5zLmFkZENvbnRyYWN0TWVtYmVyKCdTbWFydENvbnRyYWN0JywgQ29udHJhY3RQcm9wZXJ0eU5hbWUuZGVzdHJveSwgbmV3IFNtYXJ0Q29udHJhY3REZXN0cm95KCkpO1xufTtcbiJdfQ==