NegotiationRecord
@totemsdk/edge / NegotiationRecord
Interface: NegotiationRecord
A single negotiation's tracked state.
Properties
agreement?
optionalagreement?:TradeAgreement
The formed agreement (when AGREED).
consumedChallenges
consumedChallenges:
string[]
Consumed challenge fingerprints (one-shot).
counterparty
counterparty:
string
Counterparty address.
cumulativeWork
cumulativeWork:
bigint
Cumulative expected hashes spent in this negotiation.
expiresAt
expiresAt:
number
Hard negotiation expiry.
headProposalId?
optionalheadProposalId?:string
The current proposal head (only this may be accepted/rejected/countered).
lastRound
lastRound:
number
Round of the last proposal.
manifestId
manifestId:
string
Manifest this negotiation is over.
negotiationId
negotiationId:
string
openedAt
openedAt:
number
When the negotiation was opened.
outstandingChallenges
outstandingChallenges:
object[]
Outstanding WorkRequired challenges (one per transition/head).
challengeId
challengeId:
string
fingerprint
fingerprint:
string
round
round:
number
status
status:
"CANCELLED"|"EXPIRED"|"OUTSTANDING"|"CONSUMED"
principal
principal:
string
Authenticated principal (root identity) that opened it.
proposals
proposals:
object[]
All proposals in this negotiation, in order.
proposalId
proposalId:
string
round
round:
number
termsHash
termsHash:
string
revision
revision:
number
Monotonically increasing revision for atomic CAS transitions.
state
state:
NegotiationState
terminalReason?
optionalterminalReason?:string
Terminal reason (when terminal).
termsHashes
termsHashes:
string[]
Canonical terms hashes of all proposals (for cycle detection).
updatedAt
updatedAt:
number
When the record was last updated.