Documentation ¶
Index ¶
- Variables
- func AccountBalance(block *types.BlockIdentifier, balances []*types.Amount) error
- func AccountBalanceRequest(request *types.AccountBalanceRequest) 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 AccountBalance ¶
func AccountBalance( block *types.BlockIdentifier, balances []*types.Amount, ) error
AccountBalance returns an error if the provided types.BlockIdentifier is invalid, if the same types.AccountIdentifier appears in multiple types.Balance structs (should be consolidated), or if a types.Balance is considered invalid.
func AccountBalanceRequest ¶ added in v0.1.0
func AccountBalanceRequest(request *types.AccountBalanceRequest) error
AccountBalanceRequest ensures that a types.AccountBalanceRequest is well-formatted.
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.