Adding a CLI command as well as an API end point to validate required number of blocks of any (RBT as well as smart contract) token chain. The blocks are validated as per their type-requirement. An user can also validate all it's tokens or all it's smart contract tokens available in it's SQLite3 DB.
Note: Please note that, this PR is only for (RBT / smart contract) token chain validation and does not include any resolutions for failed-validations.
TokenTransferredType:
Block hash and previous block hash validation
Sender signature validation
All quorums' signature validation
TokenGeneratedType:
Block hash validation
Token-owner signature validation
if part token, Parent token-chain latest block validation
if parent token is also a part token, validate it's Parent token-chain latest block
repeat step-4, until parent token is a whole token
TokenBurntType:
Block hash and previous block hash validation
Token-owner signature validation
TokenPledgedType:
Block hash and previous block hash validation
Token-owner signature validation
TokenUnpledgedType:
Block hash and previous block hash validation
Token-owner signature validation
TokenContractCommited:
Block hash and previous block hash validation
Token-owner signature validation
TokenDeployedType:
Block hash validation
All quorums' signature validation
TokenExecutedType:
Block hash and previous block hash validation
All quorums' signature validation
A few common validation checks for latest block of each token chain are:
Token pin check
Token-state pin check (in case latest block is TokenTransferredType or TokenGeneratedType )
The CLI command for token chain validation is:
./rubixgoplatform validatetokenchain -did <user did> -token <token ID> -sctValidation -blockCount <required number of blocks to be validated> -port <port number of user node>
If token flag is provided, then token chain of the token provided with the flag token will be validated
If token flag is not provided, then token chain of each token in the tokens table of the user node will be validated
sctValidation flag must be provided in case of smart contract token chain validation
Adding a CLI command as well as an API end point to validate required number of blocks of any (RBT as well as smart contract) token chain. The blocks are validated as per their type-requirement. An user can also validate all it's tokens or all it's smart contract tokens available in it's SQLite3 DB.
Note: Please note that, this PR is only for (RBT / smart contract) token chain validation and does not include any resolutions for failed-validations.
TokenTransferredType:
TokenGeneratedType:
TokenBurntType:
TokenPledgedType:
TokenUnpledgedType:
TokenContractCommited:
TokenDeployedType:
TokenExecutedType:
A few common validation checks for latest block of each token chain are:
The CLI command for token chain validation is:
./rubixgoplatform validatetokenchain -did <user did> -token <token ID> -sctValidation -blockCount <required number of blocks to be validated> -port <port number of user node>
token
flag is provided, then token chain of the token provided with the flagtoken
will be validatedtoken
flag is not provided, then token chain of each token in the tokens table of the user node will be validatedsctValidation
flag must be provided in case of smart contract token chain validation