1. Account/Contract Merge
- Merge Overview:
- Casper currently uses separate Accounts and Contracts. Condor merges these into one record called AddressableEntity.
- Existing Account and Contract records will migrate upon on-chain interaction (e.g., transactions, native transfers).
- New “accounts” and “contracts” will create an AddressableEntity record.
- PublicKeys and AccountHashes for existing Account records will remain functional with the new AddressableEntity.
- Changes to Named Keys:
- Named keys are now top-level and stored directly in global state.
- Entry points for smart contracts are now stored directly in global state.
- Action Items:
- Off-chain logic that retrieves Account or Contract records must be modified to use the AddressableEntity record structure.
2. Fee Elimination
- New Support Features:
- Condor introduces configurable fee, refund, and pricing strategies.
- The initial rollout will be in “NoFee” mode, where tokens are placed on hold instead of transferred from a paying purse.
- A configurable interval determines how long a balance hold remains. The available balance is the actual balance minus non-expired holds.
- Off-chain logic can continue using the existing
query_balance
endpoint or the new query_balance_details
RPC endpoint for detailed balance information.
- Action Items:
- Wallet providers benefit from holds instead of fees as gas costs are returned over time.
- Existing implementations generally do not need changes.
- Advanced platforms with automated funding should consider the new behavior for optimal scheduling strategies.
3. Dynamic Pricing
- Gas Price Changes:
- Current gas price is 1 mote per unit of gas. Condor introduces a configurable gas price multiplier.
- Gas price adjustment is based on block usage in the current era, adjusting up or down by 1 within set thresholds.
- Minimum and maximum gas prices, and adjustment thresholds are configurable.
- Gas price is included in the block header.
- Action Items:
- Plan for potential cost increases during high network usage.
- Use the
gas_tolerance
field to specify maximum gas price for transactions.
4. Transaction Types
- Transition to Transaction Model:
- The Deploy structure is deprecated; Condor introduces a Transaction model.
- Condor supports native / Wasm-less user-land mint and stake management actions.
- Action Items:
- Off-chain systems should verify compatibility with the legacy Deploy model.
- Upgrade to the Transaction model may be necessary for incompatibilities or to leverage new features.
5. Block Restructure
- Changes to Block Structure:
- Block records are modified. New blocks post-Condor will use the new format; historical blocks retain their original format.
- Action Items:
- Client software must be upgraded to parse new blocks while retaining the ability to handle historical blocks.
6. Contract Level Events
- New Feature:
- Smart contracts can now define message topics and emit messages as contract level events.
- Action Items:
- Existing systems do not need changes.
- Smart contracts using dictionaries for events should consider migrating to the new system for better security and support.
7. Zug Consensus Protocol
- New Consensus Protocol:
- Zug Consensus Protocol replaces Highway on the Casper network.
- Private/hybrid networks can choose between Highway or Zug.
- Action Items: None.
8. Server-Sent Event (SSE) Endpoint Changes
- Event Stream Changes:
- Structural changes to Block records and the transition from Deploy to Transaction model affect the event stream.
- New event types:
TransactionProcessed
, TransactionExpired
, etc., replace Deploy-related events.
- Action Items:
- Update existing software and SDKs to handle the new event stream post-Condor.