Besides its speed, scalability, and immutability, the XRPL is known for its amendments system. The amendment system provides a means of introducing new features to the decentralized XRP Ledger network without causing disruptions. The amendments system works by utilizing the core consensus process of the network to approve any changes by showing continuous support before those changes go into effect. An amendment normally requires 80% support for two weeks before it can apply.
XRPL types of transactions
The XRPL currently allows the following transaction types:
- AccountSet: Set options on an account.
- AccountDelete: Delete an account. This transaction type was recently added with the deletable accounts amendment.
- DepositPreauth: Preauthorizes an account to send payments to this one.
- EscrowCancel: Reclaim escrowed XRP.
- EscrowCreate: Create an escrowed XRP payment.
- EscrowFinish: Deliver escrowed XRP to recipient.
- OfferCancel: Withdraw a currency-exchange order.
- OfferCreate: Submit an order to exchange currency.
- Payment: Send funds from one account to another.
- PaymentChannelClaim: Claim money from a payment channel.
- PaymentChannelCreate: Open a new payment channel.
- PaymentChannelFund: Add more XRP to a payment channel.
- SetRegularKey: Add, remove, or modify an account’s regular key pair.
- SignerListSet: Add, remove, or modify an account’s multi-signing list.
- TrustSet:Add or modify a trust line.
The Checks amendment
The Checks amendment introduced all the way back in February 2018 with rippled v0.90.0, has gained support from a majority of trusted validators, and has gone live today, on June 18, 2020. Strangely enough, this amendment has been activated without the votes of Ripple validators. At the time of the vote, Ripple controlled only six of the total 36 UNL validators. This means that the non-Ripple validators control 83.3% of the network and can pass amendments without Ripple’s agreement. This is evident of the new level of decentralization the XRPL has reached.
This amendment introduced “Checks” to the XRP Ledger. Checks work similarly to personal paper checks (or cheques). The sender signs a transaction to create a Check for a specific maximum amount and destination. Later, the destination can cash the Check to receive up to the specified amount. The actual movement of money only occurs when the Check is cashed, so cashing the Check may fail depending on the sender’s current balance and the available liquidity. If cashing the Check fails, the Check object remains in the ledger so it may be successfully cashed later.
The sender or the receiver can cancel a Check at any time before it is cashed. A Check can also have an expiration time, after which it cannot be cashed, and anyone can cancel it.
The amendment introduced three new transaction types: CheckCreate, CheckCancel, and CheckCash, and a new ledger object type, Check. It also added a new transaction result code,
tecEXPIRED, which occurs when trying to create a Check whose expiration time is in the past.
This amendment also changes the OfferCreate transaction to return
tecEXPIRED when trying to create an Offer whose expiration time is in the past. Without this amendment, an OfferCreate whose expiration time is in the past returns
tesSUCCESS but does not create or execute an Offer.
This amendment added one more feature to the XRPL, making it more diverse and allowing developers to launch additional products with the XRPL