Documentation ¶
Index ¶
- func NewOffline(network *types.NetworkIdentifier, client crgtypes.Client) (crgtypes.API, error)
- func NewOnlineNetwork(network *types.NetworkIdentifier, client crgtypes.Client, logger log.Logger) (crgtypes.API, error)
- type OfflineNetwork
- func (o OfflineNetwork) AccountBalance(_ context.Context, _ *types.AccountBalanceRequest) (*types.AccountBalanceResponse, *types.Error)
- func (o OfflineNetwork) Block(_ context.Context, _ *types.BlockRequest) (*types.BlockResponse, *types.Error)
- func (o OfflineNetwork) BlockTransaction(_ context.Context, _ *types.BlockTransactionRequest) (*types.BlockTransactionResponse, *types.Error)
- func (o OfflineNetwork) ConstructionMetadata(_ context.Context, _ *types.ConstructionMetadataRequest) (*types.ConstructionMetadataResponse, *types.Error)
- func (o OfflineNetwork) ConstructionSubmit(_ context.Context, _ *types.ConstructionSubmitRequest) (*types.TransactionIdentifierResponse, *types.Error)
- func (o OfflineNetwork) Mempool(_ context.Context, _ *types.NetworkRequest) (*types.MempoolResponse, *types.Error)
- func (o OfflineNetwork) MempoolTransaction(_ context.Context, _ *types.MempoolTransactionRequest) (*types.MempoolTransactionResponse, *types.Error)
- func (o OfflineNetwork) NetworkStatus(_ context.Context, _ *types.NetworkRequest) (*types.NetworkStatusResponse, *types.Error)
- type OnlineNetwork
- func (on OnlineNetwork) AccountBalance(ctx context.Context, request *types.AccountBalanceRequest) (*types.AccountBalanceResponse, *types.Error)
- func (on OnlineNetwork) AccountCoins(_ context.Context, _ *types.AccountCoinsRequest) (*types.AccountCoinsResponse, *types.Error)
- func (on OnlineNetwork) Block(ctx context.Context, request *types.BlockRequest) (*types.BlockResponse, *types.Error)
- func (on OnlineNetwork) BlockTransaction(ctx context.Context, request *types.BlockTransactionRequest) (*types.BlockTransactionResponse, *types.Error)
- func (on OnlineNetwork) ConstructionCombine(ctx context.Context, request *types.ConstructionCombineRequest) (*types.ConstructionCombineResponse, *types.Error)
- func (on OnlineNetwork) ConstructionDerive(_ context.Context, request *types.ConstructionDeriveRequest) (*types.ConstructionDeriveResponse, *types.Error)
- func (on OnlineNetwork) ConstructionHash(ctx context.Context, request *types.ConstructionHashRequest) (*types.TransactionIdentifierResponse, *types.Error)
- func (on OnlineNetwork) ConstructionMetadata(ctx context.Context, request *types.ConstructionMetadataRequest) (*types.ConstructionMetadataResponse, *types.Error)
- func (on OnlineNetwork) ConstructionParse(ctx context.Context, request *types.ConstructionParseRequest) (*types.ConstructionParseResponse, *types.Error)
- func (on OnlineNetwork) ConstructionPayloads(ctx context.Context, request *types.ConstructionPayloadsRequest) (*types.ConstructionPayloadsResponse, *types.Error)
- func (on OnlineNetwork) ConstructionPreprocess(ctx context.Context, request *types.ConstructionPreprocessRequest) (*types.ConstructionPreprocessResponse, *types.Error)
- func (on OnlineNetwork) ConstructionSubmit(ctx context.Context, request *types.ConstructionSubmitRequest) (*types.TransactionIdentifierResponse, *types.Error)
- func (on OnlineNetwork) Mempool(ctx context.Context, _ *types.NetworkRequest) (*types.MempoolResponse, *types.Error)
- func (on OnlineNetwork) MempoolTransaction(ctx context.Context, request *types.MempoolTransactionRequest) (*types.MempoolTransactionResponse, *types.Error)
- func (on OnlineNetwork) NetworkList(_ context.Context, _ *coinbase.MetadataRequest) (*coinbase.NetworkListResponse, *coinbase.Error)
- func (on OnlineNetwork) NetworkOptions(_ context.Context, _ *coinbase.NetworkRequest) (*coinbase.NetworkOptionsResponse, *coinbase.Error)
- func (on OnlineNetwork) NetworkStatus(ctx context.Context, _ *coinbase.NetworkRequest) (*coinbase.NetworkStatusResponse, *coinbase.Error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewOffline ¶
NewOffline instantiates the instance of an offline network whilst the offline network does not support the DataAPI, it supports a subset of the construction API.
Types ¶
type OfflineNetwork ¶
type OfflineNetwork struct {
OnlineNetwork
}
OfflineNetwork implements an offline data API which is basically a data API that constantly returns errors, because it cannot be used if offline
func (OfflineNetwork) AccountBalance ¶
func (o OfflineNetwork) AccountBalance(_ context.Context, _ *types.AccountBalanceRequest) (*types.AccountBalanceResponse, *types.Error)
Implement DataAPI in offline mode, which means no method is available
func (OfflineNetwork) Block ¶
func (o OfflineNetwork) Block(_ context.Context, _ *types.BlockRequest) (*types.BlockResponse, *types.Error)
func (OfflineNetwork) BlockTransaction ¶
func (o OfflineNetwork) BlockTransaction(_ context.Context, _ *types.BlockTransactionRequest) (*types.BlockTransactionResponse, *types.Error)
func (OfflineNetwork) ConstructionMetadata ¶
func (o OfflineNetwork) ConstructionMetadata(_ context.Context, _ *types.ConstructionMetadataRequest) (*types.ConstructionMetadataResponse, *types.Error)
func (OfflineNetwork) ConstructionSubmit ¶
func (o OfflineNetwork) ConstructionSubmit(_ context.Context, _ *types.ConstructionSubmitRequest) (*types.TransactionIdentifierResponse, *types.Error)
func (OfflineNetwork) Mempool ¶
func (o OfflineNetwork) Mempool(_ context.Context, _ *types.NetworkRequest) (*types.MempoolResponse, *types.Error)
func (OfflineNetwork) MempoolTransaction ¶
func (o OfflineNetwork) MempoolTransaction(_ context.Context, _ *types.MempoolTransactionRequest) (*types.MempoolTransactionResponse, *types.Error)
func (OfflineNetwork) NetworkStatus ¶
func (o OfflineNetwork) NetworkStatus(_ context.Context, _ *types.NetworkRequest) (*types.NetworkStatusResponse, *types.Error)
type OnlineNetwork ¶
type OnlineNetwork struct {
// contains filtered or unexported fields
}
OnlineNetwork groups together all the components required for the full rosetta implementation
func (OnlineNetwork) AccountBalance ¶
func (on OnlineNetwork) AccountBalance(ctx context.Context, request *types.AccountBalanceRequest) (*types.AccountBalanceResponse, *types.Error)
AccountBalance retrieves the account balance of an address rosetta requires us to fetch the block information too
func (OnlineNetwork) AccountCoins ¶
func (on OnlineNetwork) AccountCoins(_ context.Context, _ *types.AccountCoinsRequest) (*types.AccountCoinsResponse, *types.Error)
AccountsCoins - relevant only for UTXO based chain see https://www.rosetta-api.org/docs/AccountApi.html#accountcoins
func (OnlineNetwork) Block ¶
func (on OnlineNetwork) Block(ctx context.Context, request *types.BlockRequest) (*types.BlockResponse, *types.Error)
Block gets the transactions in the given block
func (OnlineNetwork) BlockTransaction ¶
func (on OnlineNetwork) BlockTransaction(ctx context.Context, request *types.BlockTransactionRequest) (*types.BlockTransactionResponse, *types.Error)
BlockTransaction gets the given transaction in the specified block, we do not need to check the block itself too due to the fact that CometBFT achieves instant finality
func (OnlineNetwork) ConstructionCombine ¶
func (on OnlineNetwork) ConstructionCombine(ctx context.Context, request *types.ConstructionCombineRequest) (*types.ConstructionCombineResponse, *types.Error)
ConstructionCombine Combine creates a network-specific transaction from an unsigned transaction and an array of provided signatures. The signed transaction returned from this method will be sent to the /construction/submit endpoint by the caller.
func (OnlineNetwork) ConstructionDerive ¶
func (on OnlineNetwork) ConstructionDerive(_ context.Context, request *types.ConstructionDeriveRequest) (*types.ConstructionDeriveResponse, *types.Error)
ConstructionDerive Derive returns the AccountIdentifier associated with a public key.
func (OnlineNetwork) ConstructionHash ¶
func (on OnlineNetwork) ConstructionHash(ctx context.Context, request *types.ConstructionHashRequest) (*types.TransactionIdentifierResponse, *types.Error)
ConstructionHash TransactionHash returns the network-specific transaction hash for a signed transaction.
func (OnlineNetwork) ConstructionMetadata ¶
func (on OnlineNetwork) ConstructionMetadata(ctx context.Context, request *types.ConstructionMetadataRequest) (*types.ConstructionMetadataResponse, *types.Error)
ConstructionMetadata Get any information required to construct a transaction for a specific network (i.e. ChainID, Gas, Memo, ...).
func (OnlineNetwork) ConstructionParse ¶
func (on OnlineNetwork) ConstructionParse(ctx context.Context, request *types.ConstructionParseRequest) (*types.ConstructionParseResponse, *types.Error)
ConstructionParse Parse is called on both unsigned and signed transactions to understand the intent of the formulated transaction. This is run as a sanity check before signing (after /construction/payloads) and before broadcast (after /construction/combine).
func (OnlineNetwork) ConstructionPayloads ¶
func (on OnlineNetwork) ConstructionPayloads(ctx context.Context, request *types.ConstructionPayloadsRequest) (*types.ConstructionPayloadsResponse, *types.Error)
ConstructionPayloads Payloads is called with an array of operations and the response from /construction/metadata. It returns an unsigned transaction blob and a collection of payloads that must be signed by particular AccountIdentifiers using a certain SignatureType.
func (OnlineNetwork) ConstructionPreprocess ¶
func (on OnlineNetwork) ConstructionPreprocess(ctx context.Context, request *types.ConstructionPreprocessRequest) (*types.ConstructionPreprocessResponse, *types.Error)
ConstructionPreprocess Preprocess is called prior to /construction/payloads to construct a request for any metadata that is needed for transaction construction given (i.e. account nonce).
func (OnlineNetwork) ConstructionSubmit ¶
func (on OnlineNetwork) ConstructionSubmit(ctx context.Context, request *types.ConstructionSubmitRequest) (*types.TransactionIdentifierResponse, *types.Error)
ConstructionSubmit Submit a pre-signed transaction to the node. This call does not block on the transaction being included in a block. Rather, it returns immediately with an indication of whether or not the transaction was included in the mempool.
func (OnlineNetwork) Mempool ¶
func (on OnlineNetwork) Mempool(ctx context.Context, _ *types.NetworkRequest) (*types.MempoolResponse, *types.Error)
Mempool fetches the transactions contained in the mempool
func (OnlineNetwork) MempoolTransaction ¶
func (on OnlineNetwork) MempoolTransaction(ctx context.Context, request *types.MempoolTransactionRequest) (*types.MempoolTransactionResponse, *types.Error)
MempoolTransaction fetches a single transaction in the mempool NOTE: it is not implemented yet
func (OnlineNetwork) NetworkList ¶
func (on OnlineNetwork) NetworkList(_ context.Context, _ *coinbase.MetadataRequest) (*coinbase.NetworkListResponse, *coinbase.Error)
func (OnlineNetwork) NetworkOptions ¶
func (on OnlineNetwork) NetworkOptions(_ context.Context, _ *coinbase.NetworkRequest) (*coinbase.NetworkOptionsResponse, *coinbase.Error)
func (OnlineNetwork) NetworkStatus ¶
func (on OnlineNetwork) NetworkStatus(ctx context.Context, _ *coinbase.NetworkRequest) (*coinbase.NetworkStatusResponse, *coinbase.Error)