You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CUSTOM_MASTERCOPY_GUIDE.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
The Safe protocol-kit now supports Safe contracts that use custom-deployed L2 mastercopies (also called singletons), as long as the mastercopy bytecode exactly matches an official Safe L2 version. This enables using the SDK on custom networks, testnets, or with independently deployed Safe contracts.
6
6
7
-
**Supported versions**: Only **1.1.1 L2** and **1.3.0 L2** mastercopies are supported for bytecode matching.
7
+
**Supported versions**: Only **1.3.0 L2** and **1.4.1 L2** mastercopies are supported for bytecode matching.
8
8
9
9
## How It Works
10
10
@@ -14,7 +14,7 @@ When you initialize a Safe instance, the SDK will:
14
14
2.**Fallback mechanism**: If the VERSION() call fails:
15
15
- Read the mastercopy address from storage slot 0 of the Safe proxy
16
16
- Fetch the bytecode of the mastercopy contract
17
-
- Compare the bytecode hash against supported Safe L2 versions (1.1.1 L2 and 1.3.0 L2)
17
+
- Compare the bytecode hash against supported Safe L2 versions (1.3.0 L2 and 1.4.1 L2)
18
18
- If a match is found, use that version to initialize the SDK
19
19
- If no match is found, fall back to the default version (1.3.0)
20
20
@@ -47,7 +47,7 @@ For the mastercopy matching to work, the following conditions must be met:
47
47
48
48
1.**Exact bytecode match**: The mastercopy bytecode must be byte-for-byte identical to an official Safe L2 deployment
49
49
2.**Contract must be deployed**: Both the Safe proxy and the mastercopy must be deployed on the network
50
-
3.**Supported version**: The mastercopy must match one of the supported Safe L2 versions (**1.1.1 L2** or **1.3.0 L2** only)
50
+
3.**Supported version**: The mastercopy must match one of the supported Safe L2 versions (**1.3.0 L2** or **1.4.1 L2** only)
51
51
52
52
## Benefits
53
53
@@ -59,13 +59,13 @@ For the mastercopy matching to work, the following conditions must be met:
59
59
## What Gets Detected
60
60
61
61
The mastercopy matching detects:
62
-
-**Safe version**: Which Safe L2 contract version (1.1.1 or 1.3.0)
62
+
-**Safe version**: Which Safe L2 contract version (1.3.0 or 1.4.1)
63
63
-**Singleton type**: Always L2 singleton
64
64
-**Mastercopy address**: The address of the matched mastercopy
65
65
66
66
## Limitations
67
67
68
-
-**Only L2 versions supported**: Only 1.1.1 L2 and 1.3.0 L2 mastercopies are supported
68
+
-**Only L2 versions supported**: Only 1.3.0 L2 and 1.4.1 L2 mastercopies are supported
69
69
- Only works with official Safe bytecode (no modified versions)
70
70
- The mastercopy must be deployed and accessible on the network
71
71
- Performance: The first initialization with a custom mastercopy will require additional RPC calls to fetch and compare bytecode
0 commit comments