Skip to main content

CONTRACT_FUNDED_ONCE_MODULE_CONSENSUS_VERSION

Constant CONTRACT_FUNDED_ONCE_MODULE_CONSENSUS_VERSION 

Source
pub const CONTRACT_FUNDED_ONCE_MODULE_CONSENSUS_VERSION: ModuleConsensusVersion;
Expand description

From this module consensus version on, a contract account is funded exactly once and no offer can be created for a payment hash whose incoming contract account already exists.

Contract ids do not commit to the full contract state — an incoming contract’s id is its payment hash and an outgoing contract’s id omits the amount — so before this version a second funding output for the same id topped up the existing account while keeping its state. For an incoming contract whose preimage decryption already reached a terminal state, that let the first contract’s gateway or preimage holder sweep the new funds.