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
* update readme
Signed-off-by: Frank Li <[email protected]>
* pin solidity version
Signed-off-by: Frank Li <[email protected]>
* perform check before state change
Signed-off-by: Frank Li <[email protected]>
* pin ImmutableSignedZoneV2 contracts to 0.8.20
* Revert if context is empty for ImmutableSignedZoneV2
* Revert "pin ImmutableSignedZoneV2 contracts to 0.8.20"
This reverts commit 8da6123.
* Restore pin
* Disallow revoking role if the role member count is currently 1
* remove trailing comma
* documentation rework
* fix test
Signed-off-by: Frank Li <[email protected]>
* fix regression
Signed-off-by: Frank Li <[email protected]>
* update test name
Signed-off-by: Frank Li <[email protected]>
* add audit file
Signed-off-by: Frank Li <[email protected]>
* Update contracts/trading/seaport/zones/immutable-signed-zone/v2/README.md
---------
Signed-off-by: Frank Li <[email protected]>
Co-authored-by: Frank Li <[email protected]>
Co-authored-by: Naveen <[email protected]>
| Not audited and no threat model |2024-05-02| V2| - ../../../audits/trading/202405-internal-audit-immutable-signed-zone-v2.pdf|
17
17
18
18
## ImmutableSignedZoneV2
19
19
@@ -46,4 +46,18 @@ The sequence of events is as follows:
46
46
2. The client calls `fulfillAdvancedOrder` or `fulfillAvailableAdavancedOrders` on `ImmutableSeaport.sol` to fulfill an order
47
47
3.`ImmutableSeaport.sol` executes the fufilment by transferring items between parties
48
48
4.`ImmutableSeaport.sol` calls `validateOrder` on `ImmutableSignedZoneV2.sol`, passing it the fulfilment execution details as well as the `extraData` parameter
49
-
1.`ImmutableSignedZoneV2.sol` validates the fulfilment execution details using the `extraData` payload, reverting if expectations are not met
49
+
5.`ImmutableSignedZoneV2.sol` validates the fulfilment execution details using the `extraData` payload, reverting if expectations are not met
50
+
51
+
## Differences compared to ImmutableSignedZone (v1)
52
+
53
+
The contract was developed based on ImmutableSignedZone, with the addition of:
54
+
- SIP7 substandard 6 support
55
+
- Role based access control to be role based
56
+
57
+
### ZoneAccessControl
58
+
59
+
The contract now uses a finer grained access control with role based access with the `ZoneAccessControl` interface, rather than the `Ownable` interface in the v1 contract. A seperate `zoneManager` roles is used to manage signers and an admin role used to control roles.
60
+
61
+
### Support of SIP7 substandard 6
62
+
63
+
The V2 contract now supports substandard-6 of the SIP7 specification, found here (https://github.com/immutable/platform-services/pull/12775). A server side signed order can adhere to substandard 3 + 4 (full fulfillment only) or substandard 6 + 4 (full or partial fulfillment).
0 commit comments