mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-20 22:06:42 +00:00

* Fix stability test mining (allow submission of non DAA blocks too) * Comments for go fmt * Use SubmitBlockAlsoIfNonDAA for all tests Co-authored-by: Elichai Turkel <elichai.turkel@gmail.com>
34 lines
1.4 KiB
Go
34 lines
1.4 KiB
Go
package rpcclient
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/app/appmessage"
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
)
|
|
|
|
func (c *RPCClient) submitBlock(block *externalapi.DomainBlock, allowNonDAABlocks bool) (appmessage.RejectReason, error) {
|
|
err := c.rpcRouter.outgoingRoute().Enqueue(
|
|
appmessage.NewSubmitBlockRequestMessage(appmessage.DomainBlockToRPCBlock(block), allowNonDAABlocks))
|
|
if err != nil {
|
|
return appmessage.RejectReasonNone, err
|
|
}
|
|
response, err := c.route(appmessage.CmdSubmitBlockResponseMessage).DequeueWithTimeout(c.timeout)
|
|
if err != nil {
|
|
return appmessage.RejectReasonNone, err
|
|
}
|
|
submitBlockResponse := response.(*appmessage.SubmitBlockResponseMessage)
|
|
if submitBlockResponse.Error != nil {
|
|
return submitBlockResponse.RejectReason, c.convertRPCError(submitBlockResponse.Error)
|
|
}
|
|
return appmessage.RejectReasonNone, nil
|
|
}
|
|
|
|
// SubmitBlock sends an RPC request respective to the function's name and returns the RPC server's response
|
|
func (c *RPCClient) SubmitBlock(block *externalapi.DomainBlock) (appmessage.RejectReason, error) {
|
|
return c.submitBlock(block, false)
|
|
}
|
|
|
|
// SubmitBlockAlsoIfNonDAA operates the same as SubmitBlock with the exception that `allowNonDAABlocks` is set to true
|
|
func (c *RPCClient) SubmitBlockAlsoIfNonDAA(block *externalapi.DomainBlock) (appmessage.RejectReason, error) {
|
|
return c.submitBlock(block, true)
|
|
}
|