Multicall and Proxy
Summary
This second release makes the account upgradable by implementing the proxy pattern. The account is a Proxy.cairo
contract delegating all calls to an ArgentAccount.cairo
implementation. This should enable users to keep their accounts while StarkNet evolves towards production.
In addition, ArgentAccount
implements the new IAccount
interface where the entry point is renamed __execute__
and the input is an array of calls that are executed in sequence. In addition, the hash of the transaction is updated to support multicalls and the new max_fee
and version
parameters introduced in Cairo 0.7.1.
To separate accounts from other contracts on StarkNet the ArgentAccount
now implements EIP165 with the interface ID of 0xf10dbd44
.
What's Changed
- feat: add struct hash by @janek26 in #19
- Cairo/v0.6.2 by @juniset in #20
- Prepare for account abstraction by @juniset in #21
- Add tests for backup guardian by @gergold in #22
- Feature: get_block_timestamp by @gergold in #23
- emit cairo events by @gergold in #25
- multicall by @juniset in #26
- error message by @juniset in #27
- Upgradable proxy and 0.7.1 by @juniset in #24
- Clean multicall by @juniset in #29
- Clean after multicall by @juniset in #30
- add account_upgrade and transaction_executed events by @juniset in #32
New Contributors
Full Changelog: v0.1.0...v0.2.0