Highlights
- Sui now accepts weighted multi-scheme Multisig signatures. [enum GenericSignature] replaces all [enum Signature] for user signature verification logic. The [Sui Keytool](https://docs.sui.io/devnet/build/json-rpc#sign-a-transaction-using-the-sui-keytool) command supports 1) Generating Multisig addresses 2) Combining a single signature into a Multisig.
- [Sponsored Transaction](#8273)
- Breaking Change - You can now use a different account than the account used for a transaction to pay gas fees for a transaction.
TransactionData
now containsGasData
to consolidate gas-related info, includinggas_owner
. Whengas_owner
is different from the transaction sender, the transaction is a Sponsored Transaction.SenderSignedData
now contains a list of user signatures. A Sponsored transaction must include both the sender’s and the sponsor’s signatures. Duplicated or third-party signatures are not valid. The order of signatures does not matter.- No
Sui
transactions, such asPaySui
,PayAllSui
,TransferSui
can be sponsored transactions because they involve transferring thegas
object. - The Transaction execution APIs now take a list of signatures.
- Breaking Change - You can now use a different account than the account used for a transaction to pay gas fees for a transaction.
- RPC Data Structure changes
TransactionEffects
now contain anexecuted_epoch
field that indicates which epoch this transaction was executed in.TransactionEffects
now contain anunwrapped_then_deleted
field that containsObjectRefs
that are deleted from the wrapped state. These objects are no longer accounted for within thedeleted
field.TransactionResponse
, the response when you call theget_transaction
RPC interface, now contains acheckpoint
field that indicates which checkpoint includes the transaction.
- Bugfix for Source Verification on Publish which was incorrectly suggested that dependencies on-chain differed from dependencies built from source (move-language/move#904)
Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.27.0