#[repr(C)]
pub struct CoinbaseOutputDataSize { pub coinbase_output_max_additional_size: u32, }
Expand description

§CoinbaseOutputDataSize (Client -> Server)

Ultimately, the pool is responsible for adding coinbase transaction outputs for payouts and other uses, and thus the Template Provider will need to consider this additional block size when selecting transactions for inclusion in a block (to not create an invalid, oversized block). Thus, this message is used to indicate that some additional space in the block/coinbase transaction be reserved for the pool’s use (while always assuming the pool will use the entirety of available coinbase space). The Job Declarator MUST discover the maximum serialized size of the additional outputs which will be added by the pool(s) it intends to use this work. It then MUST communicate the maximum such size to the Template Provider via this message. The Template Provider MUST NOT provide NewWork messages which would represent consensus-invalid blocks once this additional size — along with a maximally-sized (100 byte) coinbase field — is added. Further, the Template Provider MUST consider the maximum additional bytes required in the output count variable-length integer in the coinbase transaction when complying with the size limits.

Fields§

§coinbase_output_max_additional_size: u32

The maximum additional serialized bytes which the pool will add in coinbase transaction outputs.

Implementations§

Trait Implementations§

source§

impl Clone for CoinbaseOutputDataSize

source§

fn clone(&self) -> CoinbaseOutputDataSize

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CoinbaseOutputDataSize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'decoder> Decodable<'decoder> for CoinbaseOutputDataSize

source§

fn get_structure(data: &[u8]) -> Result<Vec<FieldMarker>, Error>

source§

fn from_decoded_fields( data: Vec<DecodableField<'decoder>> ) -> Result<Self, Error>

source§

fn from_bytes(data: &'a mut [u8]) -> Result<Self, Error>

source§

impl<'decoder> From<CoinbaseOutputDataSize> for EncodableField<'decoder>

source§

fn from(v: CoinbaseOutputDataSize) -> Self

Converts to this type from the input type.
source§

impl<'decoder> GetSize for CoinbaseOutputDataSize

source§

fn get_size(&self) -> usize

source§

impl PartialEq for CoinbaseOutputDataSize

source§

fn eq(&self, other: &CoinbaseOutputDataSize) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for CoinbaseOutputDataSize

source§

impl Eq for CoinbaseOutputDataSize

source§

impl StructuralPartialEq for CoinbaseOutputDataSize

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<'a, T> Encodable for T
where T: Into<EncodableField<'a>>,

source§

fn to_bytes(self, dst: &mut [u8]) -> Result<usize, Error>

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.