Skip to content

Commit

Permalink
documentation rework
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam-Jeston committed May 1, 2024
1 parent 82d1126 commit 2bd75a2
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ import {SIP7Interface} from "./interfaces/SIP7Interface.sol";
* @notice ImmutableSignedZoneV2 is a zone implementation based on the
* SIP-7 standard https://github.com/ProjectOpenSea/SIPs/blob/main/SIPS/sip-7.md
* implementing substandards 3, 4 and 6.
* The contract is not upgradable.
*
* The contract is not upgradable. If the contract needs to be changed a new version
* should be deployed, and the old version should be removed from the Seaport contract
* zone allowlist.
*/
contract ImmutableSignedZoneV2 is
ERC165,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,18 @@ The sequence of events is as follows:
2. The client calls `fulfillAdvancedOrder` or `fulfillAvailableAdavancedOrders` on `ImmutableSeaport.sol` to fulfill an order
3. `ImmutableSeaport.sol` executes the fufilment by transferring items between parties
4. `ImmutableSeaport.sol` calls `validateOrder` on `ImmutableSignedZoneV2.sol`, passing it the fulfilment execution details as well as the `extraData` parameter
1. `ImmutableSignedZoneV2.sol` validates the fulfilment execution details using the `extraData` payload, reverting if expectations are not met
5. `ImmutableSignedZoneV2.sol` validates the fulfilment execution details using the `extraData` payload, reverting if expectations are not met

## Difference compared to ImmutableSignedZone (v1)
## Differences compared to ImmutableSignedZone (v1)

The contract is developed based on ImmutableSignedZone, with the addition of substandard 6 support as well a new role based access control.
The contract was developed based on ImmutableSignedZone, with the addition of:
- SIP7 substandard 6 support
- Role based access control to be role based

### ZoneAccessControl

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.

### Support of SIP7 substandard 6

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) or substandard 6 + 4 (partial fulfillment).
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) or substandard 6 + 4 (partial fulfillment).

0 comments on commit 2bd75a2

Please sign in to comment.