diff --git a/README.md b/README.md index 619e9c97..cca2fa2b 100644 --- a/README.md +++ b/README.md @@ -2378,6 +2378,7 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer - [PulseChain Testnet (Testnet-V4)](https://scan.v4.testnet.pulsechain.com/#/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [Robinhood Chain Testnet](https://explorer.testnet.chain.robinhood.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [Stable Sepolia Testnet](https://testnet.stablescan.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Tezos X Testnet (Previewnet)](https://blockscout.previewnet.tezosx.nomadic-labs.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) ## Integration With External Tooling diff --git a/deployments/deployments.json b/deployments/deployments.json index 7efcfff1..e72308e1 100644 --- a/deployments/deployments.json +++ b/deployments/deployments.json @@ -1449,5 +1449,12 @@ "https://testnet.stablescan.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed", "https://repo.sourcify.dev/2201/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" ] + }, + { + "name": "Tezos X Testnet (Previewnet)", + "chainId": 128064, + "urls": [ + "https://blockscout.previewnet.tezosx.nomadic-labs.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" + ] } ] diff --git a/foundry.lock b/foundry.lock index 52cf0c61..eda67d0e 100644 --- a/foundry.lock +++ b/foundry.lock @@ -8,7 +8,7 @@ "lib/openzeppelin-contracts": { "branch": { "name": "master", - "rev": "bbf3600dc2fd09c7409c5e9d65e2faea36f35115" + "rev": "60b718bb9c7ef1fd9f585194a0c977c256d621cb" } }, "lib/solady": { diff --git a/hardhat.config.ts b/hardhat.config.ts index a9f2581f..fac6b7b1 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1302,6 +1302,14 @@ const config: HardhatUserConfig = { url: vars.get("STABLE_MAINNET_URL", "https://rpc.stable.xyz"), accounts, }, + tezosXTestnet: { + chainId: 128064, + url: vars.get( + "TEZOSX_TESTNET_URL", + "https://evm.previewnet.tezosx.nomadic-labs.com", + ), + accounts, + }, }, contractSizer: { alphaSort: true, @@ -1630,6 +1638,8 @@ const config: HardhatUserConfig = { // For Stable testnet & mainnet stable: vars.get("STABLE_API_KEY", ""), stableTestnet: vars.get("STABLE_API_KEY", ""), + // For Tezos X testnet + tezosXTestnet: vars.get("TEZOSX_API_KEY", ""), }, customChains: [ { @@ -3103,6 +3113,14 @@ const config: HardhatUserConfig = { browserURL: "https://testnet.stablescan.xyz", }, }, + { + network: "tezosXTestnet", + chainId: 128064, + urls: { + apiURL: "https://blockscout.previewnet.tezosx.nomadic-labs.com/api", + browserURL: "https://blockscout.previewnet.tezosx.nomadic-labs.com", + }, + }, ], }, }; diff --git a/interface/package.json b/interface/package.json index fcac9a61..e8afb1d8 100644 --- a/interface/package.json +++ b/interface/package.json @@ -46,7 +46,7 @@ "@trivago/prettier-plugin-sort-imports": "6.0.2", "@types/node": "26.4.1", "@types/react": "19.2.18", - "@types/react-dom": "19.2.5", + "@types/react-dom": "19.2.7", "autoprefixer": "10.5.4", "eslint": "9.39.5", "eslint-config-next": "16.3.4", @@ -54,7 +54,7 @@ "eslint-plugin-react-hooks": "7.1.1", "globals": "17.12.0", "next-seo": "7.3.0", - "postcss": "8.5.26", + "postcss": "8.5.27", "prettier": "3.9.6", "prettier-plugin-tailwindcss": "0.8.1", "tailwindcss": "4.3.3", diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts index bbf3600d..60b718bb 160000 --- a/lib/openzeppelin-contracts +++ b/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit bbf3600dc2fd09c7409c5e9d65e2faea36f35115 +Subproject commit 60b718bb9c7ef1fd9f585194a0c977c256d621cb diff --git a/package.json b/package.json index 544c9cd9..467b2835 100644 --- a/package.json +++ b/package.json @@ -253,6 +253,7 @@ "deploy:robinhoodchainmain": "hardhat run --no-compile --network robinhoodChainMain scripts/deploy.ts", "deploy:stabletestnet": "hardhat run --no-compile --network stableTestnet scripts/deploy.ts", "deploy:stablemain": "hardhat run --no-compile --network stableMain scripts/deploy.ts", + "deploy:tezosxtestnet": "hardhat run --no-compile --network tezosXTestnet scripts/deploy.ts", "prettier:check": "prettier -c \"**/*.{js,ts,md,sol,json,yml,yaml}\"", "prettier:check:interface": "pnpm -C interface prettier:check", "prettier:fix": "prettier -w \"**/*.{js,ts,md,sol,json,yml,yaml}\"", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0829cdb..4ee7ff74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,7 +147,7 @@ importers: version: 2.10.1(hardhat@2.29.1(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.4.1)(typescript@6.0.3))(typescript@6.0.3)) hardhat-gas-reporter: specifier: 2.3.0 - version: 2.3.0(debug@4.4.3(supports-color@8.1.1))(hardhat@2.29.1(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.4.1)(typescript@6.0.3))(typescript@6.0.3))(supports-color@8.1.1)(typescript@6.0.3) + version: 2.3.0(debug@4.4.3(supports-color@8.1.1))(hardhat@2.29.1(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.4.1)(typescript@6.0.3))(typescript@6.0.3))(supports-color@8.1.1)(typescript@6.0.3)(zod@4.5.4) prettier: specifier: 3.9.6 version: 3.9.6 @@ -216,17 +216,17 @@ importers: specifier: 19.2.18 version: 19.2.18 '@types/react-dom': - specifier: 19.2.5 - version: 19.2.5(@types/react@19.2.18) + specifier: 19.2.7 + version: 19.2.7(@types/react@19.2.18) autoprefixer: specifier: 10.5.4 - version: 10.5.4(postcss@8.5.26) + version: 10.5.4(postcss@8.5.27) eslint: specifier: 9.39.5 version: 9.39.5(jiti@2.7.0)(supports-color@8.1.1) eslint-config-next: specifier: 16.3.4 - version: 16.3.4(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + version: 16.3.4(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) eslint-plugin-react: specifier: 7.37.5 version: 7.37.5(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1)) @@ -240,8 +240,8 @@ importers: specifier: 7.3.0 version: 7.3.0(next@16.3.4(@babel/core@7.29.7(supports-color@8.1.1))(@types/node@26.4.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react@19.2.8) postcss: - specifier: 8.5.26 - version: 8.5.26 + specifier: 8.5.27 + version: 8.5.27 prettier: specifier: 3.9.6 version: 3.9.6 @@ -1226,8 +1226,8 @@ packages: '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/react-dom@19.2.5': - resolution: {integrity: sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==} + '@types/react-dom@19.2.7': + resolution: {integrity: sha512-I8bPpDLcHBv1qiIiXDCy71Rt8eQDKJP0sMSWJphDdAcdqiJ1sGpZamavoEIRZmYzjia9LuEb2HlYdDpmoENpvQ==} peerDependencies: '@types/react': ^19.2.0 @@ -3128,8 +3128,8 @@ packages: resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.26: - resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + postcss@8.5.27: + resolution: {integrity: sha512-79Iho8QeYyooJ8e9lCRyTVlyTAkS/kXBYKff6TMzS3kEWGQ8Ds5UEtXpGrSUDLUWok6QTvxeYy0GO8fopHnaSA==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -4798,7 +4798,7 @@ snapshots: '@alloc/quick-lru': 5.3.0 '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 - postcss: 8.5.26 + postcss: 8.5.27 tailwindcss: 4.3.3 '@tanstack/react-virtual@3.14.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': @@ -4872,7 +4872,7 @@ snapshots: '@types/prettier@2.7.3': {} - '@types/react-dom@19.2.5(@types/react@19.2.18)': + '@types/react-dom@19.2.7(@types/react@19.2.18)': dependencies: '@types/react': 19.2.18 @@ -5092,9 +5092,10 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true - abitype@1.2.3(typescript@6.0.3): + abitype@1.2.3(typescript@6.0.3)(zod@4.5.4): optionalDependencies: typescript: 6.0.3 + zod: 4.5.4 acorn-jsx@5.3.2(acorn@8.18.0): dependencies: @@ -5252,13 +5253,13 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.5.4(postcss@8.5.26): + autoprefixer@10.5.4(postcss@8.5.27): dependencies: browserslist: 4.28.8 caniuse-lite: 1.0.30001810 fraction.js: 5.3.4 picocolors: 1.1.1 - postcss: 8.5.26 + postcss: 8.5.27 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -5724,13 +5725,13 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-next@16.3.4(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3): + eslint-config-next@16.3.4(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3): dependencies: '@next/eslint-plugin-next': 16.3.4(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1)) eslint: 9.39.5(jiti@2.7.0)(supports-color@8.1.1) eslint-import-resolver-node: 0.3.10(supports-color@8.1.1) eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1)) eslint-plugin-react: 7.37.5(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1)) eslint-plugin-react-hooks: 7.1.1(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) @@ -5767,22 +5768,22 @@ snapshots: tinyglobby: 0.2.17 unrs-resolver: 1.12.2 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - eslint-module-utils@2.14.0(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@8.1.1))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1): + eslint-module-utils@2.14.0(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@8.1.1))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: - '@typescript-eslint/parser': 8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/parser': 8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) eslint: 9.39.5(jiti@2.7.0)(supports-color@8.1.1) eslint-import-resolver-node: 0.3.10(supports-color@8.1.1) eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -5793,7 +5794,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.5(jiti@2.7.0)(supports-color@8.1.1) eslint-import-resolver-node: 0.3.10(supports-color@8.1.1) - eslint-module-utils: 2.14.0(@typescript-eslint/parser@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@8.1.1))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) + eslint-module-utils: 2.14.0(@typescript-eslint/parser@8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@8.1.1))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) hasown: 2.0.4 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -5805,7 +5806,7 @@ snapshots: string.prototype.trimend: 1.0.10 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/parser': 8.69.0(eslint@9.39.5(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -6243,7 +6244,7 @@ snapshots: hardhat: 2.29.1(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.4.1)(typescript@6.0.3))(typescript@6.0.3) strip-ansi: 6.0.1 - hardhat-gas-reporter@2.3.0(debug@4.4.3(supports-color@8.1.1))(hardhat@2.29.1(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.4.1)(typescript@6.0.3))(typescript@6.0.3))(supports-color@8.1.1)(typescript@6.0.3): + hardhat-gas-reporter@2.3.0(debug@4.4.3(supports-color@8.1.1))(hardhat@2.29.1(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.4.1)(typescript@6.0.3))(typescript@6.0.3))(supports-color@8.1.1)(typescript@6.0.3)(zod@4.5.4): dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/bytes': 5.8.0 @@ -6260,7 +6261,7 @@ snapshots: lodash: 4.18.1 markdown-table: 2.0.0 sha1: 1.1.1 - viem: 2.56.3(typescript@6.0.3) + viem: 2.56.3(typescript@6.0.3)(zod@4.5.4) transitivePeerDependencies: - bufferutil - debug @@ -6957,7 +6958,7 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - ox@0.14.44(typescript@6.0.3): + ox@0.14.44(typescript@6.0.3)(zod@4.5.4): dependencies: '@adraffy/ens-normalize': 1.11.1 '@noble/ciphers': 1.3.0 @@ -6965,7 +6966,7 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.2.3(typescript@6.0.3) + abitype: 1.2.3(typescript@6.0.3)(zod@4.5.4) eventemitter3: 5.0.1 optionalDependencies: typescript: 6.0.3 @@ -7052,7 +7053,7 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.26: + postcss@8.5.27: dependencies: nanoid: 3.3.18 picocolors: 1.1.1 @@ -7765,15 +7766,15 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - viem@2.56.3(typescript@6.0.3): + viem@2.56.3(typescript@6.0.3)(zod@4.5.4): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.2.3(typescript@6.0.3) + abitype: 1.2.3(typescript@6.0.3)(zod@4.5.4) isows: 1.0.7(ws@8.21.0) - ox: 0.14.44(typescript@6.0.3) + ox: 0.14.44(typescript@6.0.3)(zod@4.5.4) ws: 8.21.0 optionalDependencies: typescript: 6.0.3