lisk-framework
Version:
Lisk blockchain application platform
627 lines • 17 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ipcResponseSchema = exports.ipcRequestSchema = exports.proveResponseSchema = exports.proveRequestSchema = exports.queryResponseSchema = exports.queryRequestSchema = exports.metadataResponseSchema = exports.metadataRequestSchema = exports.clearResponseSchema = exports.clearRequestSchema = exports.finalizeResponseSchema = exports.finalizeRequestSchema = exports.revertResponseSchema = exports.revertRequestSchema = exports.commitResponseSchema = exports.commitRequestSchema = exports.executeTransactionResponseSchema = exports.executeTransactionRequestSchema = exports.verifyTransactionResponseSchema = exports.verifyTransactionRequestSchema = exports.afterTransactionsExecuteResponseSchema = exports.afterTransactionsExecuteRequestSchema = exports.beforeTransactionsExecuteResponseSchema = exports.beforeTransactionsExecuteRequestSchema = exports.verifyAssetsResponseSchema = exports.verifyAssetsRequestSchema = exports.insertAssetsResponseSchema = exports.insertAssetsRequestSchema = exports.initGenesisStateResponseSchema = exports.initGenesisStateRequestSchema = exports.initStateMachineResponseSchema = exports.initStateMachineRequestSchema = exports.initResponseSchema = exports.initRequestSchema = exports.validatorSchema = exports.eventSchema = exports.blockSchema = exports.blockHeaderSchema = void 0;
const lisk_chain_1 = require("@liskhq/lisk-chain");
Object.defineProperty(exports, "blockHeaderSchema", { enumerable: true, get: function () { return lisk_chain_1.blockHeaderSchema; } });
Object.defineProperty(exports, "blockSchema", { enumerable: true, get: function () { return lisk_chain_1.blockSchema; } });
const constants_1 = require("@liskhq/lisk-chain/dist-node/constants");
exports.eventSchema = {
$id: '/abi/block/event',
type: 'object',
required: ['module', 'name', 'data', 'topics', 'height', 'index'],
properties: {
module: {
dataType: 'string',
minLength: constants_1.MIN_MODULE_NAME_LENGTH,
maxLength: constants_1.MAX_MODULE_NAME_LENGTH,
fieldNumber: 1,
},
name: {
dataType: 'string',
minLength: constants_1.MIN_EVENT_NAME_LENGTH,
maxLength: constants_1.MAX_EVENT_NAME_LENGTH,
fieldNumber: 2,
},
data: {
dataType: 'bytes',
fieldNumber: 3,
},
topics: {
type: 'array',
fieldNumber: 4,
items: {
dataType: 'bytes',
},
},
height: {
dataType: 'uint32',
fieldNumber: 5,
},
index: {
dataType: 'uint32',
fieldNumber: 6,
},
},
};
exports.validatorSchema = {
$id: '/abi/validator',
type: 'object',
required: ['address', 'bftWeight', 'generatorKey', 'blsKey'],
properties: {
address: {
fieldNumber: 1,
dataType: 'bytes',
},
bftWeight: {
fieldNumber: 2,
dataType: 'uint64',
},
generatorKey: {
fieldNumber: 3,
dataType: 'bytes',
},
blsKey: {
fieldNumber: 4,
dataType: 'bytes',
},
},
};
exports.initRequestSchema = {
$id: '/abi/initRequest',
type: 'object',
required: ['chainID', 'lastBlockHeight', 'lastStateRoot'],
properties: {
chainID: {
fieldNumber: 1,
dataType: 'bytes',
},
lastBlockHeight: {
fieldNumber: 2,
dataType: 'uint32',
},
lastStateRoot: {
fieldNumber: 3,
dataType: 'bytes',
},
},
};
exports.initResponseSchema = {
$id: '/abi/initResponse',
type: 'object',
required: [],
properties: {},
};
exports.initStateMachineRequestSchema = {
$id: '/abi/initStateMachineRequest',
type: 'object',
required: ['header'],
properties: {
header: {
fieldNumber: 1,
...lisk_chain_1.blockHeaderSchema,
},
},
};
exports.initStateMachineResponseSchema = {
$id: '/abi/initStateMachineResponse',
type: 'object',
required: ['contextID'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
},
};
exports.initGenesisStateRequestSchema = {
$id: '/abi/initGenesisStateRequest',
type: 'object',
required: ['contextID'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
},
};
exports.initGenesisStateResponseSchema = {
$id: '/abi/initGenesisStateResponse',
type: 'object',
required: ['events', 'preCommitThreshold', 'certificateThreshold', 'nextValidators'],
properties: {
events: {
fieldNumber: 1,
type: 'array',
items: {
...exports.eventSchema,
},
},
preCommitThreshold: {
fieldNumber: 2,
dataType: 'uint64',
},
certificateThreshold: {
fieldNumber: 3,
dataType: 'uint64',
},
nextValidators: {
fieldNumber: 4,
type: 'array',
items: {
...exports.validatorSchema,
},
},
},
};
exports.insertAssetsRequestSchema = {
$id: '/abi/insertAssetsRequest',
type: 'object',
required: ['contextID', 'finalizedHeight'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
finalizedHeight: {
fieldNumber: 2,
dataType: 'uint32',
},
},
};
exports.insertAssetsResponseSchema = {
$id: '/abi/insertAssetsResponse',
type: 'object',
required: ['assets'],
properties: {
assets: {
fieldNumber: 1,
type: 'array',
items: {
...lisk_chain_1.blockAssetSchema,
},
},
},
};
exports.verifyAssetsRequestSchema = {
$id: '/abi/verifyAssetsRequest',
type: 'object',
required: ['contextID', 'assets'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
assets: {
fieldNumber: 2,
type: 'array',
items: {
...lisk_chain_1.blockAssetSchema,
},
},
},
};
exports.verifyAssetsResponseSchema = {
$id: '/abi/verifyAssetsResponse',
type: 'object',
properties: {},
};
exports.beforeTransactionsExecuteRequestSchema = {
$id: '/abi/beforeTransactionsExecuteRequest',
type: 'object',
required: ['contextID', 'assets'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
assets: {
fieldNumber: 2,
type: 'array',
items: {
...lisk_chain_1.blockAssetSchema,
},
},
},
};
exports.beforeTransactionsExecuteResponseSchema = {
$id: '/abi/beforeTransactionsExecuteResponse',
type: 'object',
required: ['events'],
properties: {
events: {
fieldNumber: 1,
type: 'array',
items: {
...exports.eventSchema,
},
},
},
};
exports.afterTransactionsExecuteRequestSchema = {
$id: '/abi/afterTransactionsExecuteRequest',
type: 'object',
required: ['contextID', 'assets', 'transactions'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
assets: {
fieldNumber: 2,
type: 'array',
items: {
...lisk_chain_1.blockAssetSchema,
},
},
transactions: {
fieldNumber: 3,
type: 'array',
items: {
...lisk_chain_1.transactionSchema,
},
},
},
};
exports.afterTransactionsExecuteResponseSchema = {
$id: '/abi/afterTransactionsExecuteResponse',
type: 'object',
required: ['events', 'preCommitThreshold', 'certificateThreshold', 'nextValidators'],
properties: {
events: {
fieldNumber: 1,
type: 'array',
items: {
...exports.eventSchema,
},
},
preCommitThreshold: {
fieldNumber: 2,
dataType: 'uint64',
},
certificateThreshold: {
fieldNumber: 3,
dataType: 'uint64',
},
nextValidators: {
fieldNumber: 4,
type: 'array',
items: {
...exports.validatorSchema,
},
},
},
};
exports.verifyTransactionRequestSchema = {
$id: '/abi/verifyTransactionRequest',
type: 'object',
required: ['contextID', 'transaction', 'header', 'onlyCommand'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
transaction: {
fieldNumber: 2,
...lisk_chain_1.transactionSchema,
},
header: {
fieldNumber: 3,
...lisk_chain_1.blockHeaderSchema,
},
onlyCommand: {
fieldNumber: 4,
dataType: 'boolean',
},
},
};
exports.verifyTransactionResponseSchema = {
$id: '/abi/verifyTransactionResponse',
type: 'object',
required: ['result', 'errorMessage'],
properties: {
result: {
fieldNumber: 1,
dataType: 'sint32',
},
errorMessage: {
fieldNumber: 2,
dataType: 'string',
},
},
};
exports.executeTransactionRequestSchema = {
$id: '/abi/executeTransactionRequest',
type: 'object',
required: ['contextID', 'transaction', 'assets', 'dryRun', 'header'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
transaction: {
fieldNumber: 2,
...lisk_chain_1.transactionSchema,
},
assets: {
fieldNumber: 3,
type: 'array',
items: {
...lisk_chain_1.blockAssetSchema,
},
},
dryRun: {
fieldNumber: 4,
dataType: 'boolean',
},
header: {
fieldNumber: 5,
...lisk_chain_1.blockHeaderSchema,
},
},
};
exports.executeTransactionResponseSchema = {
$id: '/abi/executeTransactionResponse',
type: 'object',
required: ['events', 'result'],
properties: {
events: {
fieldNumber: 1,
type: 'array',
items: {
...exports.eventSchema,
},
},
result: {
fieldNumber: 2,
dataType: 'sint32',
},
},
};
exports.commitRequestSchema = {
$id: '/abi/commitRequest',
type: 'object',
required: ['contextID', 'stateRoot', 'expectedStateRoot', 'dryRun'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
stateRoot: {
fieldNumber: 2,
dataType: 'bytes',
},
expectedStateRoot: {
fieldNumber: 3,
dataType: 'bytes',
},
dryRun: {
fieldNumber: 4,
dataType: 'boolean',
},
},
};
exports.commitResponseSchema = {
$id: '/abi/commitResponse',
type: 'object',
required: ['stateRoot'],
properties: {
stateRoot: {
fieldNumber: 1,
dataType: 'bytes',
},
},
};
exports.revertRequestSchema = {
$id: '/abi/revertRequest',
type: 'object',
required: ['contextID', 'stateRoot', 'expectedStateRoot'],
properties: {
contextID: {
fieldNumber: 1,
dataType: 'bytes',
},
stateRoot: {
fieldNumber: 2,
dataType: 'bytes',
},
expectedStateRoot: {
fieldNumber: 3,
dataType: 'bytes',
},
},
};
exports.revertResponseSchema = {
$id: '/abi/revertResponse',
type: 'object',
required: ['stateRoot'],
properties: {
stateRoot: {
fieldNumber: 1,
dataType: 'bytes',
},
},
};
exports.finalizeRequestSchema = {
$id: '/abi/finalizeRequest',
type: 'object',
required: ['finalizedHeight'],
properties: {
finalizedHeight: {
fieldNumber: 1,
dataType: 'uint32',
},
},
};
exports.finalizeResponseSchema = {
$id: '/abi/finalizeResponse',
type: 'object',
properties: {},
};
exports.clearRequestSchema = {
$id: '/abi/clearRequest',
type: 'object',
required: [],
properties: {},
};
exports.clearResponseSchema = {
$id: '/abi/clearResponse',
type: 'object',
properties: {},
};
exports.metadataRequestSchema = {
$id: '/abi/metadataRequest',
type: 'object',
properties: {},
};
exports.metadataResponseSchema = {
$id: '/abi/metadataResponse',
type: 'object',
required: ['data'],
properties: {
data: {
fieldNumber: 1,
dataType: 'bytes',
},
},
};
exports.queryRequestSchema = {
$id: '/abi/queryRequest',
type: 'object',
required: ['method', 'params', 'header'],
properties: {
method: {
fieldNumber: 1,
dataType: 'string',
},
params: {
fieldNumber: 2,
dataType: 'bytes',
},
header: {
fieldNumber: 3,
...lisk_chain_1.blockHeaderSchema,
},
},
};
exports.queryResponseSchema = {
$id: '/abi/queryResponse',
type: 'object',
required: ['data'],
properties: {
data: {
fieldNumber: 1,
dataType: 'bytes',
},
},
};
exports.proveRequestSchema = {
$id: '/abi/proveRequest',
type: 'object',
required: ['stateRoot', 'keys'],
properties: {
stateRoot: {
fieldNumber: 1,
dataType: 'bytes',
},
keys: {
fieldNumber: 2,
type: 'array',
items: {
dataType: 'bytes',
},
},
},
};
exports.proveResponseSchema = {
$id: '/abi/proveResponse',
type: 'object',
required: ['proof'],
properties: {
proof: {
fieldNumber: 1,
type: 'object',
required: ['siblingHashes', 'queries'],
properties: {
siblingHashes: {
fieldNumber: 1,
type: 'array',
items: {
dataType: 'bytes',
},
},
queries: {
fieldNumber: 2,
type: 'array',
items: {
type: 'object',
required: ['key', 'value', 'bitmap'],
properties: {
key: {
fieldNumber: 1,
dataType: 'bytes',
},
value: {
fieldNumber: 2,
dataType: 'bytes',
},
bitmap: {
fieldNumber: 3,
dataType: 'bytes',
},
},
},
},
},
},
},
};
exports.ipcRequestSchema = {
$id: '/abi/ipcRequest',
type: 'object',
required: ['id', 'method', 'params'],
properties: {
id: {
fieldNumber: 1,
dataType: 'uint64',
},
method: {
fieldNumber: 2,
dataType: 'string',
},
params: {
fieldNumber: 3,
dataType: 'bytes',
},
},
};
exports.ipcResponseSchema = {
$id: '/abi/ipcResponse',
type: 'object',
required: ['id', 'success', 'error', 'result'],
properties: {
id: {
fieldNumber: 1,
dataType: 'uint64',
},
success: {
fieldNumber: 2,
dataType: 'boolean',
},
error: {
type: 'object',
fieldNumber: 3,
required: ['message'],
properties: {
message: {
fieldNumber: 1,
dataType: 'string',
},
},
},
result: {
fieldNumber: 4,
dataType: 'bytes',
},
},
};
//# sourceMappingURL=schema.js.map