SetCustomMiningJob

Struct SetCustomMiningJob 

Source
pub struct SetCustomMiningJob<'decoder> {
Show 13 fields pub channel_id: u32, pub request_id: u32, pub token: B0255<'decoder>, pub version: u32, pub prev_hash: U256<'decoder>, pub min_ntime: u32, pub nbits: u32, pub coinbase_tx_version: u32, pub coinbase_prefix: B0255<'decoder>, pub coinbase_tx_input_n_sequence: u32, pub coinbase_tx_outputs: B064K<'decoder>, pub coinbase_tx_locktime: u32, pub merkle_path: Seq0255<'decoder, U256<'decoder>>,
}
Expand description

Message used by downstream role to set a custom job to an upstream (Pool).

The SetCustomMiningJob::token should provide the information for the upstream to authorize the custom job that has been or will be negotiated between the Job Declarator Client and Job Declarator Server.

Can be sent only on extended channel.

Previously exchanged SetupConnection::flags must contain REQUIRES_WORK_SELECTION flag i.e., work selection feature was successfully negotiated.

Fields§

§channel_id: u32

Extended mining channel identifier.

§request_id: u32

Specified by downstream role.

Used for matching responses from upstream.

The value must be connection-wide unique and is not interpreted by the upstream.

§token: B0255<'decoder>

Provide the information for the upstream to authorize the custom job that has been or will be negotiated between the Job Declarator Client and Job Declarator Server.

§version: u32

Version field that reflects the current network consensus.

The general purpose bits (as specified in BIP320) can be freely manipulated by the downstream role. The downstream role must not rely on the upstream role to set the BIP320 bits to any particular value.

§prev_hash: U256<'decoder>

Previous block’s hash.

§min_ntime: u32

Smallest nTime value available for hashing.

§nbits: u32

Block header field.

§coinbase_tx_version: u32

The coinbase transaction nVersion field.

§coinbase_prefix: B0255<'decoder>

Up to 8 bytes (not including the length byte) which are to be placed at the beginning of the coinbase field in the coinbase transaction.

§coinbase_tx_input_n_sequence: u32

The coinbase transaction input’s nSequence field.

§coinbase_tx_outputs: B064K<'decoder>

All the outputs that will be included in the coinbase txs

§coinbase_tx_locktime: u32

The locktime field in the coinbase transaction.

§merkle_path: Seq0255<'decoder, U256<'decoder>>

Merkle path hashes ordered from deepest.

Implementations§

Source§

impl<'decoder> SetCustomMiningJob<'decoder>

Source

pub fn into_static(self) -> SetCustomMiningJob<'static>

Source§

impl<'decoder> SetCustomMiningJob<'decoder>

Source

pub fn as_static(&self) -> SetCustomMiningJob<'static>

Trait Implementations§

Source§

impl<'decoder> Clone for SetCustomMiningJob<'decoder>

Source§

fn clone(&self) -> SetCustomMiningJob<'decoder>

Returns a duplicate 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<'decoder> Debug for SetCustomMiningJob<'decoder>

Source§

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

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

impl<'decoder> Decodable<'decoder> for SetCustomMiningJob<'decoder>

Source§

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

Defines the expected structure of a type based on binary data. Read more
Source§

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

Constructs the type from a vector of decoded fields. Read more
Source§

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

Decodes the type from raw bytes. Read more
Source§

impl Display for SetCustomMiningJob<'_>

Source§

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

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

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

Source§

fn from(v: SetCustomMiningJob<'decoder>) -> Self

Converts to this type from the input type.
Source§

impl<'decoder> GetSize for SetCustomMiningJob<'decoder>

Source§

fn get_size(&self) -> usize

get_size returns total size of the type in bytes.
Source§

impl<'decoder> PartialEq for SetCustomMiningJob<'decoder>

Source§

fn eq(&self, other: &SetCustomMiningJob<'decoder>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'decoder> Eq for SetCustomMiningJob<'decoder>

Source§

impl<'decoder> StructuralPartialEq for SetCustomMiningJob<'decoder>

Auto Trait Implementations§

§

impl<'decoder> Freeze for SetCustomMiningJob<'decoder>

§

impl<'decoder> RefUnwindSafe for SetCustomMiningJob<'decoder>

§

impl<'decoder> Send for SetCustomMiningJob<'decoder>

§

impl<'decoder> Sync for SetCustomMiningJob<'decoder>

§

impl<'decoder> Unpin for SetCustomMiningJob<'decoder>

§

impl<'decoder> !UnwindSafe for SetCustomMiningJob<'decoder>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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>

Encodes the object into the provided byte slice. Read more
Source§

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

Source§

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

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>,

Source§

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.