OfferedContract

Struct OfferedContract 

Source
pub struct OfferedContract {
    pub id: [u8; 32],
    pub is_offer_party: bool,
    pub contract_info: Vec<ContractInfo>,
    pub counter_party: PublicKey,
    pub offer_params: PartyParams,
    pub total_collateral: Amount,
    pub funding_inputs: Vec<FundingInput>,
    pub fund_output_serial_id: u64,
    pub fee_rate_per_vb: u64,
    pub cet_locktime: u32,
    pub refund_locktime: u32,
    /* private fields */
}
Expand description

Contains information about a contract that was offered.

Fields§

§id: [u8; 32]

The temporary id of the contract.

§is_offer_party: bool

Indicated whether the contract was proposed or received.

§contract_info: Vec<ContractInfo>

The set of contract information that are used to generate CET and adaptor signatures.

§counter_party: PublicKey

The public key of the counter-party’s node.

§offer_params: PartyParams

The parameters of the offering party.

§total_collateral: Amount

The sum of both parties collateral.

§funding_inputs: Vec<FundingInput>

Information about the offering party’s funding inputs.

§fund_output_serial_id: u64

The serial id of the fund output used for output ordering.

§fee_rate_per_vb: u64

The fee rate to be used to construct the DLC transactions.

§cet_locktime: u32

The time at which the contract is expected to be closeable.

§refund_locktime: u32

The time at which the contract becomes refundable.

Implementations§

Source§

impl OfferedContract

Source

pub fn validate(&self) -> Result<(), Error>

Validate that the contract info covers all the possible outcomes that can be attested by the oracle(s).

Source

pub fn new( id: ContractId, contract: &ContractInput, oracle_announcements: Vec<Vec<OracleAnnouncement>>, offer_params: &PartyParams, funding_inputs: &[FundingInput], counter_party: &PublicKey, refund_delay: u32, cet_locktime: u32, keys_id: KeysId, ) -> Self

Creates a new OfferedContract from the given parameters.

Source

pub fn try_from_offer_dlc( offer_dlc: &OfferDlc, counter_party: PublicKey, keys_id: KeysId, ) -> Result<OfferedContract, Error>

Convert an OfferDlc message to an OfferedContract.

Trait Implementations§

Source§

impl Clone for OfferedContract

Source§

fn clone(&self) -> OfferedContract

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 Debug for OfferedContract

Source§

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

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

impl From<&OfferedContract> for ContractInfo

Source§

fn from(offered_contract: &OfferedContract) -> SerContractInfo

Converts to this type from the input type.
Source§

impl From<&OfferedContract> for OfferDlc

Source§

fn from(offered_contract: &OfferedContract) -> OfferDlc

Converts to this type from the input type.
Source§

impl From<&OfferedContract> for Vec<OracleInfo>

Source§

fn from(offered_contract: &OfferedContract) -> Vec<SerOracleInfo>

Converts to this type from the input type.
Source§

impl Readable for OfferedContract

Source§

fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError>

Reads a Self in from the given Read.
Source§

impl Writeable for OfferedContract

Source§

fn write<W: Writer>(&self, w: &mut W) -> Result<(), Error>

Writes self out to the given Writer.
Source§

fn encode(&self) -> Vec<u8>

Writes self out to a Vec<u8>.
Source§

fn serialized_length(&self) -> usize

Gets the length of this object after it has been serialized. This can be overridden to optimize cases where we prepend an object with its length.

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> 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> MaybeReadable for T
where T: Readable,

Source§

fn read<R>(reader: &mut R) -> Result<Option<T>, DecodeError>
where R: Read,

Reads a Self in from the given Read.
Source§

impl<T> Serializable for T
where T: Writeable + Readable,

Source§

fn serialize(&self) -> Result<Vec<u8>, Error>

Serialize the object.
Source§

fn deserialize<R>(reader: &mut R) -> Result<T, DecodeError>
where R: Read,

Deserialize the object.
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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more