Each transaction must encapsulate all its logic fully. There should not be any business logic related to a particular transaction defined outside transaction scope.
Currently there are few code mentioned outside their particular domain;
In this example it seems vote logic is outside vote transaction. If its not the vote logic, then we should refactor and rename it properly.
public addMultisignature(
store: StateStore,
signatureObject: SignatureObject,
): TransactionResponse {
public addVerifiedMultisignature(signature: string): TransactionResponse
These methods available in base transaction, but actually belongs to the "MultiSignature" transaction. We need to come up with more elegant solution for:
If a custom transaction need to change behaviour of BaseTransaction, how to define it.
The interface specification or hooks which can be used to hook in or modify base transaction behaviour.
Do we or how we should expose similar functionality for this custom transaction developer
Improve documentation for this behaviour in the SDK
Which version(s) does this affect? (Environment, OS, etc...)
Each transaction must encapsulate all its logic fully. There should not be any business logic related to a particular transaction defined outside transaction scope.
Currently there are few code mentioned outside their particular domain;
In this example it seems vote logic is outside vote transaction. If its not the vote logic, then we should refactor and rename it properly.
These methods available in base transaction, but actually belongs to the "MultiSignature" transaction. We need to come up with more elegant solution for:
BaseTransaction
, how to define it.Which version(s) does this affect? (Environment, OS, etc...)
2.1.0