mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-30 02:36:42 +00:00

* Replace BlockMessage with RpcBlock in rpc.proto. * Convert everything in kaspad to use RPCBlocks and fix tests. * Fix compilation errors in stability tests and the miner. * Update TransactionVerboseData in rpc.proto. * Update TransactionVerboseData in the rest of kaspad. * Make golint happy. * Include RpcTransactionVerboseData in RpcTransaction instead of the other way around. * Regenerate rpc.pb.go after merge. * Update appmessage types. * Update appmessage request and response types. * Reimplement conversion functions between appmessage.RPCTransaction and protowire.RpcTransaction. * Extract RpcBlockHeader toAppMessage/fromAppMessage out of RpcBlock. * Fix compilation errors in getBlock, getBlocks, and submitBlock. * Fix compilation errors in getMempoolEntry. * Fix compilation errors in notifyBlockAdded. * Update verbosedata.go. * Fix compilation errors in getBlock and getBlocks. * Fix compilation errors in getBlocks tests. * Fix conversions between getBlocks message types. * Fix integration tests. * Fix a comment. * Add selectedParent to the verbose block response.
25 lines
946 B
Go
25 lines
946 B
Go
package rpcclient
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/app/appmessage"
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
)
|
|
|
|
// 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) {
|
|
err := c.rpcRouter.outgoingRoute().Enqueue(
|
|
appmessage.NewSubmitBlockRequestMessage(appmessage.DomainBlockToRPCBlock(block)))
|
|
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
|
|
}
|