├── .c8rc ├── .eslintignore ├── .eslintrc.js ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── BUG-FORM.yml │ ├── FEATURE-FORM.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── main.yaml │ ├── npm-publish.yml │ └── stale.yml ├── .gitignore ├── .husky ├── .gitignore ├── pre-commit └── pre-push ├── .npmignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .solhintignore ├── LICENSE ├── README.md ├── codecov.yml ├── hardhat.config.ts ├── img └── banner.png ├── package.json ├── renovate.json ├── src ├── abi │ ├── ERC1155.ts │ ├── ERC20.ts │ ├── ERC721.ts │ └── Seaport.ts ├── constants.ts ├── contracts │ ├── Conduit.sol │ ├── ConduitController.sol │ ├── DomainRegistry.sol │ ├── Seaport.sol │ └── test │ │ ├── TestERC1155.sol │ │ ├── TestERC1271Wallet.sol │ │ ├── TestERC20.sol │ │ ├── TestERC20USDC.sol │ │ └── TestERC721.sol ├── index.ts ├── seaport.ts ├── types.ts └── utils │ ├── approval.ts │ ├── balance.ts │ ├── balanceAndApprovalCheck.ts │ ├── criteria.ts │ ├── eip712 │ ├── Eip712MerkleTree.ts │ ├── bulk-orders.ts │ ├── defaults.ts │ └── utils.ts │ ├── fulfill.ts │ ├── gcd.ts │ ├── item.ts │ ├── match.ts │ ├── merkletree.ts │ ├── order.ts │ └── usecase.ts ├── test ├── ascending-descending-amounts.spec.ts ├── basic-fulfill.spec.ts ├── bundle.spec.ts ├── cancel.spec.ts ├── create-bulk-orders.spec.ts ├── create-order.spec.ts ├── criteria-based.spec.ts ├── domain-registry.spec.ts ├── fulfill-orders.spec.ts ├── gifting.spec.ts ├── match-orders.spec.ts ├── partial-fulfill.spec.ts ├── sign-order.spec.ts ├── swap.spec.ts └── utils │ ├── balance.ts │ ├── constants.ts │ ├── examples │ └── privateListings.ts │ └── setup.ts ├── tsconfig.build.json └── tsconfig.json /.c8rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.c8rc -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/BUG-FORM.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/ISSUE_TEMPLATE/BUG-FORM.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/FEATURE-FORM.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/ISSUE_TEMPLATE/FEATURE-FORM.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/main.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/workflows/main.yaml -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/workflows/npm-publish.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npm run check-types:incremental 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | hardhat.config.ts 2 | scripts 3 | test 4 | coverage 5 | .env -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 22.21.1 -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.solhintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/README.md -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/codecov.yml -------------------------------------------------------------------------------- /hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/hardhat.config.ts -------------------------------------------------------------------------------- /img/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/img/banner.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/package.json -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/renovate.json -------------------------------------------------------------------------------- /src/abi/ERC1155.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/abi/ERC1155.ts -------------------------------------------------------------------------------- /src/abi/ERC20.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/abi/ERC20.ts -------------------------------------------------------------------------------- /src/abi/ERC721.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/abi/ERC721.ts -------------------------------------------------------------------------------- /src/abi/Seaport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/abi/Seaport.ts -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/contracts/Conduit.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/Conduit.sol -------------------------------------------------------------------------------- /src/contracts/ConduitController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/ConduitController.sol -------------------------------------------------------------------------------- /src/contracts/DomainRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/DomainRegistry.sol -------------------------------------------------------------------------------- /src/contracts/Seaport.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/Seaport.sol -------------------------------------------------------------------------------- /src/contracts/test/TestERC1155.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/test/TestERC1155.sol -------------------------------------------------------------------------------- /src/contracts/test/TestERC1271Wallet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/test/TestERC1271Wallet.sol -------------------------------------------------------------------------------- /src/contracts/test/TestERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/test/TestERC20.sol -------------------------------------------------------------------------------- /src/contracts/test/TestERC20USDC.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/test/TestERC20USDC.sol -------------------------------------------------------------------------------- /src/contracts/test/TestERC721.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/contracts/test/TestERC721.sol -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/seaport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/seaport.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/approval.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/approval.ts -------------------------------------------------------------------------------- /src/utils/balance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/balance.ts -------------------------------------------------------------------------------- /src/utils/balanceAndApprovalCheck.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/balanceAndApprovalCheck.ts -------------------------------------------------------------------------------- /src/utils/criteria.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/criteria.ts -------------------------------------------------------------------------------- /src/utils/eip712/Eip712MerkleTree.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/eip712/Eip712MerkleTree.ts -------------------------------------------------------------------------------- /src/utils/eip712/bulk-orders.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/eip712/bulk-orders.ts -------------------------------------------------------------------------------- /src/utils/eip712/defaults.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/eip712/defaults.ts -------------------------------------------------------------------------------- /src/utils/eip712/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/eip712/utils.ts -------------------------------------------------------------------------------- /src/utils/fulfill.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/fulfill.ts -------------------------------------------------------------------------------- /src/utils/gcd.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/gcd.ts -------------------------------------------------------------------------------- /src/utils/item.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/item.ts -------------------------------------------------------------------------------- /src/utils/match.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/match.ts -------------------------------------------------------------------------------- /src/utils/merkletree.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/merkletree.ts -------------------------------------------------------------------------------- /src/utils/order.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/order.ts -------------------------------------------------------------------------------- /src/utils/usecase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/src/utils/usecase.ts -------------------------------------------------------------------------------- /test/ascending-descending-amounts.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/ascending-descending-amounts.spec.ts -------------------------------------------------------------------------------- /test/basic-fulfill.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/basic-fulfill.spec.ts -------------------------------------------------------------------------------- /test/bundle.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/bundle.spec.ts -------------------------------------------------------------------------------- /test/cancel.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/cancel.spec.ts -------------------------------------------------------------------------------- /test/create-bulk-orders.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/create-bulk-orders.spec.ts -------------------------------------------------------------------------------- /test/create-order.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/create-order.spec.ts -------------------------------------------------------------------------------- /test/criteria-based.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/criteria-based.spec.ts -------------------------------------------------------------------------------- /test/domain-registry.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/domain-registry.spec.ts -------------------------------------------------------------------------------- /test/fulfill-orders.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/fulfill-orders.spec.ts -------------------------------------------------------------------------------- /test/gifting.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/gifting.spec.ts -------------------------------------------------------------------------------- /test/match-orders.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/match-orders.spec.ts -------------------------------------------------------------------------------- /test/partial-fulfill.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/partial-fulfill.spec.ts -------------------------------------------------------------------------------- /test/sign-order.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/sign-order.spec.ts -------------------------------------------------------------------------------- /test/swap.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/swap.spec.ts -------------------------------------------------------------------------------- /test/utils/balance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/utils/balance.ts -------------------------------------------------------------------------------- /test/utils/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/utils/constants.ts -------------------------------------------------------------------------------- /test/utils/examples/privateListings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/utils/examples/privateListings.ts -------------------------------------------------------------------------------- /test/utils/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/test/utils/setup.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectOpenSea/seaport-js/HEAD/tsconfig.json --------------------------------------------------------------------------------