Documentation
¶
Index ¶
- Variables
- func AccountBalanceRequest(request *types.AccountBalanceRequest) error
- func AccountBalanceResponse(requestBlock *types.PartialBlockIdentifier, ...) error
- func AccountIdentifier(account *types.AccountIdentifier) error
- func Allow(allowed *types.Allow) error
- func Amount(amount *types.Amount) error
- func BlockIdentifier(blockIdentifier *types.BlockIdentifier) error
- func BlockRequest(request *types.BlockRequest) error
- func BlockTransactionRequest(request *types.BlockTransactionRequest) error
- func ConstructionMetadata(response *types.ConstructionMetadataResponse) error
- func ConstructionMetadataRequest(request *types.ConstructionMetadataRequest) error
- func ConstructionSubmit(response *types.ConstructionSubmitResponse) error
- func ConstructionSubmitRequest(request *types.ConstructionSubmitRequest) error
- func Error(err *types.Error) error
- func Errors(rosettaErrors []*types.Error) error
- func MempoolRequest(request *types.MempoolRequest) error
- func MempoolTransactionRequest(request *types.MempoolTransactionRequest) error
- func MempoolTransactions(transactions []*types.TransactionIdentifier) error
- func MetadataRequest(request *types.MetadataRequest) error
- func NetworkIdentifier(network *types.NetworkIdentifier) error
- func NetworkListResponse(response *types.NetworkListResponse) error
- func NetworkOptionsResponse(options *types.NetworkOptionsResponse) error
- func NetworkRequest(request *types.NetworkRequest) error
- func NetworkStatusResponse(response *types.NetworkStatusResponse) error
- func OperationIdentifier(identifier *types.OperationIdentifier, index int64) error
- func OperationStatuses(statuses []*types.OperationStatus) error
- func PartialBlockIdentifier(blockIdentifier *types.PartialBlockIdentifier) error
- func Peer(peer *types.Peer) error
- func StringArray(arrName string, arr []string) error
- func SubNetworkIdentifier(subNetworkIdentifier *types.SubNetworkIdentifier) error
- func Timestamp(timestamp int64) error
- func TransactionIdentifier(transactionIdentifier *types.TransactionIdentifier) error
- func Version(version *types.Version) error
- type Asserter
Constants ¶
This section is empty.
Variables ¶
var ( // ErrAsserterNotInitialized is returned when some call in the asserter // package requires the asserter to be initialized first. ErrAsserterNotInitialized = errors.New("asserter not initialized") )
Functions ¶
func AccountBalanceRequest ¶ added in v0.1.0
func AccountBalanceRequest(request *types.AccountBalanceRequest) error
AccountBalanceRequest ensures that a types.AccountBalanceRequest is well-formatted.
func AccountBalanceResponse ¶ added in v0.1.5
func AccountBalanceResponse( requestBlock *types.PartialBlockIdentifier, responseBlock *types.BlockIdentifier, balances []*types.Amount, ) error
AccountBalanceResponse returns an error if the provided types.BlockIdentifier is invalid, if the requestBlock is not nil and not equal to the response block, or if the same currency is present in multiple amounts.
func AccountIdentifier ¶
func AccountIdentifier(account *types.AccountIdentifier) error
AccountIdentifier returns an error if a types.AccountIdentifier is missing an address or a provided SubAccount is missing an identifier.
func BlockIdentifier ¶
func BlockIdentifier(blockIdentifier *types.BlockIdentifier) error
BlockIdentifier ensures a types.BlockIdentifier is well-formatted.
func BlockRequest ¶ added in v0.1.0
func BlockRequest(request *types.BlockRequest) error
BlockRequest ensures that a types.BlockRequest is well-formatted.
func BlockTransactionRequest ¶ added in v0.1.0
func BlockTransactionRequest(request *types.BlockTransactionRequest) error
BlockTransactionRequest ensures that a types.BlockTransactionRequest is well-formatted.
func ConstructionMetadata ¶ added in v0.1.2
func ConstructionMetadata( response *types.ConstructionMetadataResponse, ) error
ConstructionMetadata returns an error if the NetworkFee is not a valid types.Amount.
func ConstructionMetadataRequest ¶ added in v0.1.2
func ConstructionMetadataRequest(request *types.ConstructionMetadataRequest) error
ConstructionMetadataRequest ensures that a types.ConstructionMetadataRequest is well-formatted.
func ConstructionSubmit ¶ added in v0.1.3
func ConstructionSubmit( response *types.ConstructionSubmitResponse, ) error
ConstructionSubmit returns an error if the types.TransactionIdentifier in the response is not valid or if the Submission.Status is not contained within the provided validStatuses slice.
func ConstructionSubmitRequest ¶ added in v0.1.2
func ConstructionSubmitRequest(request *types.ConstructionSubmitRequest) error
ConstructionSubmitRequest ensures that a types.ConstructionSubmitRequest is well-formatted.
func Errors ¶ added in v0.0.4
Errors ensures each types.Error in a slice is valid and that there is no error code collision.
func MempoolRequest ¶ added in v0.1.0
func MempoolRequest(request *types.MempoolRequest) error
MempoolRequest ensures that a types.MempoolRequest is well-formatted.
func MempoolTransactionRequest ¶ added in v0.1.0
func MempoolTransactionRequest(request *types.MempoolTransactionRequest) error
MempoolTransactionRequest ensures that a types.MempoolTransactionRequest is well-formatted.
func MempoolTransactions ¶
func MempoolTransactions( transactions []*types.TransactionIdentifier, ) error
MempoolTransactions returns an error if any types.TransactionIdentifier returns is missing a hash. The correctness of each populated MempoolTransaction is asserted by Transaction.
func MetadataRequest ¶ added in v0.1.2
func MetadataRequest(request *types.MetadataRequest) error
MetadataRequest ensures that a types.MetadataRequest is well-formatted.
func NetworkIdentifier ¶
func NetworkIdentifier(network *types.NetworkIdentifier) error
NetworkIdentifier ensures a types.NetworkIdentifier has a valid blockchain and network.
func NetworkListResponse ¶ added in v0.1.2
func NetworkListResponse(response *types.NetworkListResponse) error
NetworkListResponse ensures a types.NetworkListResponse object is valid.
func NetworkOptionsResponse ¶ added in v0.1.2
func NetworkOptionsResponse(options *types.NetworkOptionsResponse) error
NetworkOptionsResponse ensures a types.NetworkOptionsResponse object is valid.
func NetworkRequest ¶ added in v0.1.2
func NetworkRequest(request *types.NetworkRequest) error
NetworkRequest ensures that a types.NetworkRequest is well-formatted.
func NetworkStatusResponse ¶
func NetworkStatusResponse(response *types.NetworkStatusResponse) error
NetworkStatusResponse ensures any types.NetworkStatusResponse is valid.
func OperationIdentifier ¶
func OperationIdentifier( identifier *types.OperationIdentifier, index int64, ) error
OperationIdentifier returns an error if index of the types.Operation is out-of-order or if the NetworkIndex is invalid.
func OperationStatuses ¶
func OperationStatuses(statuses []*types.OperationStatus) error
OperationStatuses ensures all items in Options.OperationStatuses are valid and that there exists at least 1 successful status.
func PartialBlockIdentifier ¶ added in v0.1.0
func PartialBlockIdentifier(blockIdentifier *types.PartialBlockIdentifier) error
PartialBlockIdentifier ensures a types.PartialBlockIdentifier is well-formatted.
func StringArray ¶
StringArray ensures all strings in an array are non-empty strings.
func SubNetworkIdentifier ¶
func SubNetworkIdentifier(subNetworkIdentifier *types.SubNetworkIdentifier) error
SubNetworkIdentifier asserts a types.SubNetworkIdentifer is valid (if not nil).
func TransactionIdentifier ¶
func TransactionIdentifier( transactionIdentifier *types.TransactionIdentifier, ) error
TransactionIdentifier returns an error if a types.TransactionIdentifier has an invalid hash.
Types ¶
type Asserter ¶
type Asserter struct {
// contains filtered or unexported fields
}
Asserter contains all logic to perform static validation on Rosetta Server responses.
func NewWithOptions ¶ added in v0.1.2
func NewWithOptions( ctx context.Context, genesisBlockIdentifier *types.BlockIdentifier, operationTypes []string, operationStatuses []*types.OperationStatus, errors []*types.Error, ) *Asserter
NewWithOptions constructs a new Asserter using the provided arguments instead of using a NetworkStatusResponse and a NetworkOptionsResponse.
func NewWithResponses ¶ added in v0.1.2
func NewWithResponses( ctx context.Context, networkStatus *types.NetworkStatusResponse, networkOptions *types.NetworkOptionsResponse, ) (*Asserter, error)
NewWithResponses constructs a new Asserter from a NetworkStatusResponse and NetworkOptionsResponse.
func (*Asserter) Operation ¶
Operation ensures a types.Operation has a valid type, status, and amount.
func (*Asserter) OperationSuccessful ¶
OperationSuccessful returns a boolean indicating if a types.Operation is successful and should be applied in a transaction. This should only be called AFTER an operation has been validated.
func (*Asserter) Transaction ¶
func (a *Asserter) Transaction( transaction *types.Transaction, ) error
Transaction returns an error if the types.TransactionIdentifier is invalid, if any types.Operation within the types.Transaction is invalid, or if any operation index is reused within a transaction.