def sanitize_sign_tx(tx: SignTx) -> SignTx: tx.version = tx.version if tx.version is not None else 1 tx.lock_time = tx.lock_time if tx.lock_time is not None else 0 tx.inputs_count = tx.inputs_count if tx.inputs_count is not None else 0 tx.outputs_count = tx.outputs_count if tx.outputs_count is not None else 0 tx.coin_name = tx.coin_name if tx.coin_name is not None else 'Bitcoin' return tx
def sanitize_sign_tx(tx: SignTx, coin: CoinInfo) -> SignTx: tx.version = tx.version if tx.version is not None else 1 tx.lock_time = tx.lock_time if tx.lock_time is not None else 0 tx.inputs_count = tx.inputs_count if tx.inputs_count is not None else 0 tx.outputs_count = tx.outputs_count if tx.outputs_count is not None else 0 tx.coin_name = tx.coin_name if tx.coin_name is not None else "Bitcoin" if coin.decred or coin.overwintered: tx.expiry = tx.expiry if tx.expiry is not None else 0 elif tx.expiry: raise wire.DataError("Expiry not enabled on this coin.") if coin.timestamp and not tx.timestamp: raise wire.DataError("Timestamp must be set.") elif not coin.timestamp and tx.timestamp: raise wire.DataError("Timestamp not enabled on this coin.") if coin.overwintered: if tx.version_group_id is None: raise wire.DataError("Version group ID must be set.") if tx.branch_id is None: raise wire.DataError("Branch ID must be set.") elif not coin.overwintered: if tx.version_group_id is not None: raise wire.DataError("Version group ID not enabled on this coin.") if tx.branch_id is not None: raise wire.DataError("Branch ID not enabled on this coin.") return tx
def sanitize_sign_tx(tx: SignTx) -> SignTx: tx.version = tx.version if tx.version is not None else 1 tx.lock_time = tx.lock_time if tx.lock_time is not None else 0 tx.inputs_count = tx.inputs_count if tx.inputs_count is not None else 0 tx.outputs_count = tx.outputs_count if tx.outputs_count is not None else 0 tx.coin_name = tx.coin_name if tx.coin_name is not None else 'Bitcoin' tx.expiry = tx.expiry if tx.expiry is not None else 0 tx.overwintered = tx.overwintered if tx.overwintered is not None else False return tx
def sanitize_sign_tx(tx: SignTx, coin: CoinInfo) -> SignTx: tx.version = tx.version if tx.version is not None else 1 tx.lock_time = tx.lock_time if tx.lock_time is not None else 0 tx.inputs_count = tx.inputs_count if tx.inputs_count is not None else 0 tx.outputs_count = tx.outputs_count if tx.outputs_count is not None else 0 tx.coin_name = tx.coin_name if tx.coin_name is not None else "Bitcoin" if coin.decred or coin.overwintered: tx.expiry = tx.expiry if tx.expiry is not None else 0 elif tx.expiry: raise SigningError(FailureType.DataError, "Expiry not enabled on this coin.") if coin.timestamp and not tx.timestamp: raise SigningError(FailureType.DataError, "Timestamp must be set.") elif not coin.timestamp and tx.timestamp: raise SigningError(FailureType.DataError, "Timestamp not enabled on this coin.") return tx