Documentation ¶
Index ¶
- type MultiClient
- func (m *MultiClient) ActivateChain(chainID isc.ChainID) error
- func (m *MultiClient) DKSharesGet(sharedAddress iotago.Address) ([]*model.DKSharesInfo, error)
- func (m *MultiClient) DeactivateChain(chainID isc.ChainID) error
- func (m *MultiClient) Do(f func(int, *client.WaspClient) error) error
- func (m *MultiClient) DoWithQuorum(f func(int, *client.WaspClient) error, quorum int) error
- func (m *MultiClient) Len() int
- func (m *MultiClient) PutChainRecord(bd *registry.ChainRecord) error
- func (m *MultiClient) WaitUntilAllRequestsProcessed(chainID isc.ChainID, tx *iotago.Transaction, timeout time.Duration) ([]*isc.Receipt, error)
- func (m *MultiClient) WaitUntilAllRequestsProcessedSuccessfully(chainID isc.ChainID, tx *iotago.Transaction, timeout time.Duration) ([]*isc.Receipt, error)
- func (m *MultiClient) WaitUntilRequestProcessed(chainID isc.ChainID, reqID isc.RequestID, timeout time.Duration) (*isc.Receipt, error)
- func (m *MultiClient) WaitUntilRequestProcessedSuccessfully(chainID isc.ChainID, reqID isc.RequestID, timeout time.Duration) (*isc.Receipt, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MultiClient ¶
MultiClient allows to send webapi requests in parallel to multiple wasp nodes
func New ¶
func New(hosts []string, httpClient ...func() http.Client) *MultiClient
New creates a new instance of MultiClient
func (*MultiClient) ActivateChain ¶
func (m *MultiClient) ActivateChain(chainID isc.ChainID) error
ActivateChain sends a request to activate a chain in all wasp nodes
func (*MultiClient) DKSharesGet ¶
func (m *MultiClient) DKSharesGet(sharedAddress iotago.Address) ([]*model.DKSharesInfo, error)
DKSharesGet retrieves distributed key info with specific ChainID from multiple hosts.
func (*MultiClient) DeactivateChain ¶
func (m *MultiClient) DeactivateChain(chainID isc.ChainID) error
DeactivateChain sends a request to deactivate a chain in all wasp nodes
func (*MultiClient) Do ¶
func (m *MultiClient) Do(f func(int, *client.WaspClient) error) error
Do executes a callback once for each node in parallel, then wraps all error results into a single one
func (*MultiClient) DoWithQuorum ¶
func (m *MultiClient) DoWithQuorum(f func(int, *client.WaspClient) error, quorum int) error
Do executes a callback once for each node in parallel, then wraps all error results into a single one
func (*MultiClient) Len ¶
func (m *MultiClient) Len() int
func (*MultiClient) PutChainRecord ¶
func (m *MultiClient) PutChainRecord(bd *registry.ChainRecord) error
PutChainRecord calls PutChainRecord in all wasp nodes
func (*MultiClient) WaitUntilAllRequestsProcessed ¶
func (m *MultiClient) WaitUntilAllRequestsProcessed(chainID isc.ChainID, tx *iotago.Transaction, timeout time.Duration) ([]*isc.Receipt, error)
WaitUntilAllRequestsProcessed blocks until all requests in the given transaction have been processed by all nodes
func (*MultiClient) WaitUntilAllRequestsProcessedSuccessfully ¶ added in v0.3.0
func (m *MultiClient) WaitUntilAllRequestsProcessedSuccessfully(chainID isc.ChainID, tx *iotago.Transaction, timeout time.Duration) ([]*isc.Receipt, error)
WaitUntilAllRequestsProcessedSuccessfully is similar to WaitUntilAllRequestsProcessed but also checks the receipts and return an error if any of the requests was processed with an error
func (*MultiClient) WaitUntilRequestProcessed ¶
func (m *MultiClient) WaitUntilRequestProcessed(chainID isc.ChainID, reqID isc.RequestID, timeout time.Duration) (*isc.Receipt, error)
WaitUntilRequestProcessed blocks until the request has been processed by all nodes
func (*MultiClient) WaitUntilRequestProcessedSuccessfully ¶ added in v0.3.0
func (m *MultiClient) WaitUntilRequestProcessedSuccessfully(chainID isc.ChainID, reqID isc.RequestID, timeout time.Duration) (*isc.Receipt, error)
WaitUntilRequestProcessedSuccessfully is similar to WaitUntilRequestProcessed, but also checks the receipt and return an error if the request was processed with an error