Skip to content

Commit b357552

Browse files
committed
update readme
1 parent 0251ffd commit b357552

1 file changed

Lines changed: 30 additions & 3 deletions

File tree

README.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
Unforgettable Contracts is a set of Solidity smart contracts designed for smart account or vault access recovery
66
on top of the [EIP-7947](https://eips.ethereum.org/EIPS/eip-7947).
77

8-
It provides mechanisms for managing different recovery methods with subscription-based access.
8+
It provides mechanisms for managing different recovery methods with subscription-based access, including crosschain
9+
subscription synchronization via Wormhole.
910

1011
### Contracts
1112

@@ -22,12 +23,17 @@ contracts
2223
│ ├── subscription
2324
│ │ ├── modules
2425
│ │ │ ├── BaseSubscriptionModule — "Basic subscription extension logic"
26+
│ │ │ ├── CrossChainModule — "Crosschain subscription synchronization module"
2527
│ │ │ ├── SBTPaymentModule — "Subscription payments using SBTs mapped to fixed durations"
2628
│ │ │ ├── SignatureSubscriptionModule — "Subscription extension using signed EIP-712 permits"
2729
│ │ │ └── TokensPaymentModule — "Subscription payments in ETH or ERC-20 tokens"
2830
│ │ └── BaseSubscriptionManager — "Subscription manager coordinating multiple payment modules"
2931
│ ├── HelperDataRegistry — "Helper data storage updated via EIP-712 signatures"
3032
│ └── RecoveryManager — "Central recovery coordinator with pluggable strategies"
33+
├── crosschain
34+
│ ├── SideChainSubscriptionManager — "Subscription manager for side chains with crosschain sync support"
35+
│ ├── SubscriptionsStateReceiver — "Receives and processes crosschain subscription state updates"
36+
│ └── SubscriptionsSynchronizer — "Synchronizes subscription states across chains via Wormhole"
3137
├── libs
3238
│ ├── EIP712SignatureChecker — "A wrapper around OZ SignatureChecker for EIP-712 signature validations"
3339
│ └── TokensHelper — "ETH/ERC-20 transfer utilities"
@@ -41,14 +47,35 @@ contracts
4147
└── VaultSubscriptionManager — "Vault-specific subscription manager"
4248
```
4349

44-
#### Usage
50+
### Setup
4551

46-
Install all the required dependencies:
52+
This project uses both Hardhat and Foundry. Follow these steps to set up the repository:
53+
54+
#### Prerequisites
55+
56+
1. **Install Node.js** (v18 or later)
57+
2. **Install Foundry**:
58+
```bash
59+
curl -L https://foundry.paradigm.xyz | bash
60+
foundryup
61+
```
62+
63+
#### Installation
64+
65+
Install all required dependencies:
4766

4867
```bash
4968
npm install
5069
```
5170

71+
Initialize Foundry submodules:
72+
73+
```bash
74+
git submodule update --init --recursive
75+
```
76+
77+
### Usage
78+
5279
To run the tests, execute the following command:
5380

5481
```bash

0 commit comments

Comments
 (0)