Make sure to have Leo installed. For details, follow this guide. Alternatively, ensure that Leo is up to date: leo update
.
Then, run:
leo build
In this repository, using the basic_bank.leo as an example, the goal is to use tyron.leo/is_signer()
instead of a hardcoded address of the bank to verify that the order comes from the bank indeed.
Changing:
assert_eq(self.caller, aleo1t0uer3jgtsgmx5tq6x6f9ecu8tr57rzzfnc2dgmcqldceal0ls9qf6st7a);
For:
tyron.leo/is_signer();
And more importantly, the signer is secured by Tyron's social recovery.
-
Initialise the TyronSSI account by setting the address of the signer.
-
Verify that the call comes from the signer's EOA.
-
Add new guardians.
-
Remove guardians.
-
Add a guardian's signature.
-
Execute social recovery to set up a new signer. The number of recorded signatures must be greater or equal to the threshold (absolute majority, i.e. half plus one).