starknet-plugin-account
starknet-plugin-account copied to clipboard
Execution plugin, Better Multicall
This PR shows an implementation of execution plugins based on tarrence chainable branch. And an example of plugin call BetterMulticall taken from @Th0rgal
This PR allow the plugins to be chained using the signature field of the transaction using the following format: [(pluginClassHash, PluginArgumentLength, Args*), ...]
The signature of a transaction (and it's validation) are modified to link the plugin used with the transation by signing the following hash: hash_chain(ElemLength, *pluginIdList, transactionHash).
This prevent a malicious actor to remove from the signature field plugins and changing the way the account will execute/validate the transaction. This effectively allows validation plugins to be chained. Thanks to @lucasLvy for the idea