diff --git a/README.md b/README.md index dfe70afe..37987920 100644 --- a/README.md +++ b/README.md @@ -2220,6 +2220,7 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer - [Taiko](https://taikoscan.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [ZetaChain](https://explorer.zetachain.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [5ireChain](https://5irescan.io/contract/evm/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Oasis Sapphire](https://explorer.oasis.io/mainnet/sapphire/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) #### Ethereum Test Networks @@ -2269,6 +2270,7 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer - [Taiko Holešky Testnet](https://hekla.taikoscan.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [ZetaChain Testnet (Athens-3)](https://athens.explorer.zetachain.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [5ireChain Testnet](https://testnet.5irescan.io/contract/evm/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Oasis Sapphire Testnet](https://explorer.oasis.io/testnet/sapphire/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) ## Integration With External Tooling diff --git a/deployments/deployments.json b/deployments/deployments.json index 51cf573f..2c545d81 100644 --- a/deployments/deployments.json +++ b/deployments/deployments.json @@ -353,6 +353,14 @@ "https://5irescan.io/contract/evm/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" ] }, + { + "name": "Oasis Sapphire", + "chainId": 23294, + "urls": [ + "https://explorer.oasis.io/mainnet/sapphire/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed", + "https://repo.sourcify.dev/contracts/partial_match/23294/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed/" + ] + }, { "name": "Sepolia", "chainId": 11155111, @@ -674,5 +682,13 @@ "urls": [ "https://testnet.5irescan.io/contract/evm/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" ] + }, + { + "name": "Oasis Sapphire Testnet", + "chainId": 23295, + "urls": [ + "https://explorer.oasis.io/testnet/sapphire/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed", + "https://repo.sourcify.dev/contracts/partial_match/23295/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed/" + ] } ] diff --git a/hardhat.config.ts b/hardhat.config.ts index bd10986f..aa02f1ab 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -651,6 +651,19 @@ const config: HardhatUserConfig = { url: vars.get("5IRE_CHAIN_MAINNET_URL", "https://rpc.5ire.network"), accounts, }, + sapphireTestnet: { + chainId: 23295, + url: vars.get( + "SAPPHIRE_TESTNET_URL", + "https://testnet.sapphire.oasis.io", + ), + accounts, + }, + sapphireMain: { + chainId: 23294, + url: vars.get("SAPPHIRE_MAINNET_URL", "https://sapphire.oasis.io"), + accounts, + }, }, contractSizer: { alphaSort: true, @@ -824,6 +837,9 @@ const config: HardhatUserConfig = { // For 5ireChain testnet & mainnet "5ireChain": vars.get("5IRE_CHAIN_API_KEY", ""), "5ireChainTestnet": vars.get("5IRE_CHAIN_API_KEY", ""), + // For Oasis Sapphire testnet & mainnet + sapphire: vars.get("SAPPHIRE_API_KEY", ""), + sapphireTestnet: vars.get("SAPPHIRE_API_KEY", ""), }, customChains: [ { @@ -1448,6 +1464,22 @@ const config: HardhatUserConfig = { browserURL: "https://testnet.5irescan.io", }, }, + { + network: "sapphire", + chainId: 23294, + urls: { + apiURL: "https://explorer.oasis.io/mainnet/sapphire/api", + browserURL: "https://explorer.oasis.io/mainnet/sapphire", + }, + }, + { + network: "sapphireTestnet", + chainId: 23295, + urls: { + apiURL: "https://explorer.oasis.io/testnet/sapphire/api", + browserURL: "https://explorer.oasis.io/testnet/sapphire", + }, + }, ], }, }; diff --git a/interface/package.json b/interface/package.json index a5511326..71151426 100644 --- a/interface/package.json +++ b/interface/package.json @@ -55,7 +55,7 @@ "postcss": "^8.4.47", "prettier": "^3.3.3", "prettier-plugin-tailwindcss": "^0.6.6", - "tailwindcss": "^3.4.12", + "tailwindcss": "^3.4.13", "typescript": "^5.6.2", "typescript-eslint": "^7.18.0" } diff --git a/interface/src/pages/index.tsx b/interface/src/pages/index.tsx index cc125fef..3913e858 100644 --- a/interface/src/pages/index.tsx +++ b/interface/src/pages/index.tsx @@ -19,7 +19,7 @@ const Home = () => { id: 1, href: "/deployments", title: "Deployments", - subtitle: "Deployed on 80+ chains", + subtitle: "Deployed on 90+ chains", }, { id: 2, href: "/abi", title: "ABI", subtitle: "In any format" }, { diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts index 530179a7..2f0bc589 160000 --- a/lib/openzeppelin-contracts +++ b/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit 530179a71f435e85ae9df9b9f12b5637cf229e5c +Subproject commit 2f0bc58946db746c0d17a2b9d9a8e13f5a8edd7f diff --git a/package.json b/package.json index 8124b68f..ff5d398a 100644 --- a/package.json +++ b/package.json @@ -141,6 +141,8 @@ "deploy:zetachainmain": "npx hardhat run --no-compile --network zetaChainMain scripts/deploy.ts", "deploy:5irechaintestnet": "npx hardhat run --no-compile --network 5ireChainTestnet scripts/deploy.ts", "deploy:5irechainmain": "npx hardhat run --no-compile --network 5ireChainMain scripts/deploy.ts", + "deploy:sapphiretestnet": "npx hardhat run --no-compile --network sapphireTestnet scripts/deploy.ts", + "deploy:sapphiremain": "npx hardhat run --no-compile --network sapphireMain scripts/deploy.ts", "prettier:check": "npx prettier -c \"**/*.{js,ts,md,sol,json,yml,yaml}\"", "prettier:check:interface": "cd interface && pnpm prettier:check", "prettier:fix": "npx prettier -w \"**/*.{js,ts,md,sol,json,yml,yaml}\"", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 415451de..62eef084 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -139,8 +139,8 @@ importers: specifier: ^0.6.6 version: 0.6.6(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.3))(prettier@3.3.3) tailwindcss: - specifier: ^3.4.12 - version: 3.4.12(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) + specifier: ^3.4.13 + version: 3.4.13(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) typescript: specifier: ^5.6.2 version: 5.6.2 @@ -1313,8 +1313,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001662: - resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} + caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} cbor@8.1.0: resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} @@ -1335,8 +1335,8 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chokidar@4.0.0: - resolution: {integrity: sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA==} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} ci-info@2.0.0: @@ -3225,8 +3225,8 @@ packages: resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} engines: {node: '>=10.0.0'} - tailwindcss@3.4.12: - resolution: {integrity: sha512-Htf/gHj2+soPb9UayUNci/Ja3d8pTmu9ONTfh4QY8r3MATTZOzmv6UYWF7ZwikEIC8okpfqmGqrmDehua8mF8w==} + tailwindcss@3.4.13: + resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} engines: {node: '>=14.0.0'} hasBin: true @@ -4797,7 +4797,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001662 + caniuse-lite: 1.0.30001663 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 @@ -4875,7 +4875,7 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001662 + caniuse-lite: 1.0.30001663 electron-to-chromium: 1.5.27 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -4926,7 +4926,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001662: {} + caniuse-lite@1.0.30001663: {} cbor@8.1.0: dependencies: @@ -4957,7 +4957,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@4.0.0: + chokidar@4.0.1: dependencies: readdirp: 4.0.1 @@ -5974,7 +5974,7 @@ snapshots: ansi-escapes: 4.3.2 boxen: 5.1.2 chalk: 2.4.2 - chokidar: 4.0.0 + chokidar: 4.0.1 ci-info: 2.0.0 debug: 4.3.7(supports-color@8.1.1) enquirer: 2.4.1 @@ -6480,7 +6480,7 @@ snapshots: '@next/env': 14.2.13 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001662 + caniuse-lite: 1.0.30001663 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -7175,7 +7175,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.12(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)): + tailwindcss@3.4.13(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2