Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7a05e17
Add support for seaport 1.6.
drinkcoffee Aug 1, 2025
7a72348
Fix imports
drinkcoffee Aug 1, 2025
3b1b0cc
Seaport 1.6 support
drinkcoffee Oct 27, 2025
73a1437
Use deterministic deployer address when testing domain separator logic
lfportal Oct 30, 2025
b62f3e8
Update ZoneInterface ID for Seaport 1.6 zones
lfportal Oct 30, 2025
9f82157
Cleanup TODOs and metadata
lfportal Oct 30, 2025
5021a0d
Fix for SIP-7 substandard 4
lfportal Oct 30, 2025
7762672
Readme update
lfportal Oct 30, 2025
9e9e3c9
Update test plan readme
lfportal Oct 30, 2025
a1ad21c
Update Seaport operational tests
lfportal Oct 31, 2025
c80975d
Update hardhat config to support 0.8.24
lfportal Oct 31, 2025
ec2a134
Install foundry for hardhat ci job
lfportal Nov 2, 2025
49a2a54
Install forge deps
lfportal Nov 2, 2025
39b7d98
Do not reference node_modules for libraries
drinkcoffee Nov 3, 2025
99e3d5c
Support SIP-7 Substandard 1
lfportal Nov 3, 2025
0778324
Add creator token standards
lfportal Nov 3, 2025
f004c3e
Conditionally perform substandard validation depending on before or a…
lfportal Nov 3, 2025
24e8ebc
Support SIP-7 Substandard 7
lfportal Nov 4, 2025
6e8fcfc
Support SIP-7 Substandard 8
lfportal Nov 4, 2025
bc8b260
Update solidity docs
lfportal Nov 4, 2025
bc1e40d
Update comment
lfportal Nov 4, 2025
8947d39
linting
lfportal Nov 4, 2025
207a61c
Update hardhat config EVM version to cancun for solc 0.8.24
lfportal Nov 5, 2025
1f103f3
Add foundry to publishing steps
lfportal Nov 5, 2025
8ee5df9
Added foundry to dry run publishing steps
lfportal Nov 5, 2025
4d38811
Slither exclusions
lfportal Nov 5, 2025
23f16c9
Update package deps for hardhat compatibility
lfportal Nov 6, 2025
57a845a
Undo commented out test
lfportal Nov 6, 2025
c63cef4
Update foundry lockfile to track tags for all deps
lfportal Nov 7, 2025
eec06a0
Update byte index comments
lfportal Nov 7, 2025
25547d8
Refactor and add additional tests
lfportal Nov 7, 2025
6bc039f
Update comment
lfportal Nov 7, 2025
72156d8
Zone authorizeOrder and validateOrder caller restriction to Seaport
lfportal Nov 10, 2025
ed28beb
Update test readme
lfportal Nov 10, 2025
996c38b
Seaport zero address check
lfportal Nov 11, 2025
4239203
Array index bounds check
lfportal Nov 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ jobs:
run: |
yarn install --frozen-lockfile --network-concurrency 1

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Show Forge Version
run: forge --version

- name: Install Forge dependancies
run: forge install

- name: Compile contracts
run: |
yarn compile
Expand All @@ -61,7 +70,7 @@ jobs:
run: |
rm -rf dist && yarn build

# ! Do NOT remove - this will cause a Sev 0 incident !
# ! Do NOT remove - this will cause a Sev 0 incident !
- name: Pack NPM package
run: |
npm pack
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ jobs:
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile --network-concurrency 1
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Show Forge Version
run: forge --version
- name: Install Forge dependancies
run: forge install
- name: Run Tests
run: yarn test
eslint:
Expand Down Expand Up @@ -122,6 +128,12 @@ jobs:
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile --network-concurrency 1
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Show Forge Version
run: forge --version
- name: Install Forge dependancies
run: forge install
- name: Compile contracts
run: yarn compile
- name: Build dist files
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ package-lock.json
# Hardhat files
cache
artifacts
cache_hardhat

# Build files
dist/
Expand Down
11 changes: 11 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,14 @@
[submodule "lib/axelar-gmp-sdk-solidity"]
path = lib/axelar-gmp-sdk-solidity
url = https://github.com/axelarnetwork/axelar-gmp-sdk-solidity

[submodule "lib/immutable-seaport-core-1.6.0+im2"]
path = lib/immutable-seaport-core-1.6.0+im2
url = https://github.com/immutable/seaport-core

[submodule "lib/immutable-seaport-1.6.0+im4"]
path = lib/immutable-seaport-1.6.0+im4
url = https://github.com/immutable/seaport
[submodule "lib/creator-token-standards"]
path = lib/creator-token-standards
url = https://github.com/limitbreakinc/creator-token-standards
21 changes: 21 additions & 0 deletions DEPS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Dependency Configuration

This repo uses the Foundry tool chain to build and test Solidity code.

The instructions below were used to install the dependencies.

```
forge install https://github.com/estarriolvetch/solidity-bits --no-commit
forge install https://github.com/GNSPS/solidity-bytes-utils --co-commit
forge install https://github.com/axelarnetwork/axelar-gmp-sdk-solidity --co-commit

forge install openzeppelin-contracts-4.9.3=OpenZeppelin/[email protected] --no-commit
forge install openzeppelin-contracts-upgradeable-4.9.3=OpenZeppelin/[email protected] --no-commit
forge install openzeppelin-contracts-5.0.2=OpenZeppelin/[email protected] --no-commit

forge install immutable-seaport-1.5.0+im1.3=immutable/[email protected]+im1.3 --no-commit
forge install immutable-seaport-core-1.5.0+im1=immutable/[email protected]+im1 --no-commit

forge install immutable-seaport-1.6.0+im1=immutable/[email protected]+im1 --no-commit
forge install immutable-seaport-core-1.6.0+im1=immutable/[email protected]+im1 --no-commit
```
633 changes: 633 additions & 0 deletions contracts/trading/seaport16/ImmutableSeaport.sol

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions contracts/trading/seaport16/conduit/ConduitController.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// SPDX-License-Identifier: MIT
// solhint-disable
pragma solidity ^0.8.17;

import {ConduitController} from "seaport-core-16/src/conduit/ConduitController.sol";
15 changes: 15 additions & 0 deletions contracts/trading/seaport16/interfaces/ImmutableSeaportEvents.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright (c) Immutable Pty Ltd 2018 - 2023
// SPDX-License-Identifier: Apache-2
// solhint-disable compiler-version
pragma solidity ^0.8.17;

/**
* @notice ImmutableSeaportEvents contains events
* related to the ImmutableSeaport contract
*/
interface ImmutableSeaportEvents {
/**
* @dev Emit an event when an allowed zone status is updated
*/
event AllowedZoneSet(address zoneAddress, bool allowed);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// SPDX-License-Identifier: MIT
// solhint-disable
pragma solidity ^0.8.17;

import {ReadOnlyOrderValidator} from "seaport-16/contracts/helpers/order-validator/lib/ReadOnlyOrderValidator.sol";
5 changes: 5 additions & 0 deletions contracts/trading/seaport16/validators/SeaportValidator.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// SPDX-License-Identifier: MIT
// solhint-disable
pragma solidity ^0.8.17;

import {SeaportValidator} from "seaport-16/contracts/helpers/order-validator/SeaportValidator.sol";
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// SPDX-License-Identifier: MIT
// solhint-disable
pragma solidity ^0.8.17;

import {SeaportValidatorHelper} from "seaport-16/contracts/helpers/order-validator/lib/SeaportValidatorHelper.sol";
Loading
Loading