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: u64,
    pub funding_inputs_info: Vec<FundingInputInfo>,
    pub fund_output_serial_id: u64,
    pub fee_rate_per_vb: u64,
    pub cet_locktime: u32,
    pub refund_locktime: u32,
}
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: u64

The sum of both parties collateral.

§funding_inputs_info: Vec<FundingInputInfo>

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(
contract: &ContractInput,
oracle_announcements: Vec<Vec<OracleAnnouncement>>,
offer_params: &PartyParams,
funding_inputs_info: &[FundingInputInfo],
counter_party: &PublicKey,
refund_delay: u32,
cet_locktime: u32
) -> Self

Creates a new OfferedContract from the given parameters.

Trait Implementations§

source§

impl Clone for OfferedContract

source§

fn clone(&self) -> OfferedContract

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 OfferedContract

source§

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

Formats the value using the given formatter. Read more
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 SerContractInfo

source§

fn from(offered_contract: &OfferedContract) -> SerContractInfo

Converts to this type from the input type.
source§

impl From<&OfferedContract> for Vec<SerOracleInfo>

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

Writes self out to a Vec
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 Twhere
T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere
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 Twhere
T: Writeable + Readable,

source§

fn serialize(&self) -> Result<Vec<u8, Global>, 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 Twhere
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 Twhere
U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V