code: func (c *Client) SubmitBlockAsync(block *btcutil.Block, options *btcjson.SubmitBlockOptions) FutureSubmitBlockResult {
  	blockHex := ""
  	if block != nil {
  		blockBytes, err := block.Bytes()
  		if err != nil {
  			return newFutureError(err)
  		}
  
  		blockHex = hex.EncodeToString(blockBytes)
  	}
  
  	cmd := btcjson.NewSubmitBlockCmd(blockHex, options)
  	return c.sendCmd(cmd)
  }
docs: // SubmitBlockAsync returns an instance of a type that can be used to get the
  // result of the RPC at some future time by invoking the Receive function on the
  // returned instance.
  //
  // See SubmitBlock for the blocking version and more details.