-
Multiple signer types: See Signers and signatures
-
Multisig recovery: See Multisig Recovery
-
Outside Execution V2: See Outside Execution
-
Upgrade changes: You cannot downgrade from 0.2.0 to an older version
-
Better gas estimates:
Even if you don't have access to all the signer private keys, you can estimate a transaction including the validation part. By using an estimate tx version (0x100000000000000000000000000000000 + the actual transaction version). When doing so, the signature verification will still pass even if the signatures are not correct. Note that you still need to provide the signature in a valid format
-
The following method had a signature change following the changes to allow Multiple signers
fn constructor(new_threshold: usize, signers: Array<Signer>) fn add_signers(new_threshold: usize, signers_to_add: Array<Signer>); fn remove_signers(new_threshold: usize, signers_to_remove: Array<Signer>); fn replace_signer(signer_to_remove: Signer, signer_to_add: Signer); fn is_valid_signer_signature(hash: felt252, signer_signature: SignerSignature) -> bool;
-
get_signers() -> Array<felt252>
was replaced byfn get_signer_guids() -> Array<felt252>
to make clear it returns the guids instead of the pub keys -
is_signer(signer: felt252) -> bool
was replaced byis_signer_guid(signer_guid: felt252) -> bool
-
Some events were renamed and emit GUIDs instead of starknetpubkeys.
OwnerAdded
was replaced bystruct OwnerAddedGuid { #[key] new_owner_guid: felt252, }
And
OwnerRemoved
replaced bystruct OwnerRemovedGuid { #[key] removed_owner_guid: felt252, }
Support for Transactions V3 that allows paying the transaction fees in STRK token
First release