Mainnet Launch
This is the first release of the ArgentAccount
to support the launch of StarNet to mainnet. StarkNet is still in alpha, so is the code of this release. In particular the ArgentAccount
contract has not been audited yet and should not be used to store significant value.
The account is a 2-of-2 custom multisig where the signer
key is typically stored on the user's phone and the guardian
is an external contract that can validate the signatures of one or more keys. The guardian
acts both as a co-validator for typical operations of the wallet, and as the trusted actor that can recover the wallet in case the signer
key is lost or compromised.
Normal operations of the wallet (execute
, change_signer
, change_guardian
, cancel_escape
) require the approval of both parties to be executed.
Each party alone can trigger the escape
mode (a.k.a. recovery) on the wallet if the other party is not cooperating or lost. An escape takes 7 days before being active, after which the non-cooperating party can be replaced. The wallet is always asymmetric in favor of one of the party depending on the weight
of the guardian
. The favoured party can always override an escape triggered by the other party.
A triggered escape can always be cancelled with the approval of both parties.
The account can be operated without a guardian. In that case it behaves exactly as the account defined in https://github.com/OpenZeppelin/cairo-contracts.