Solidity
Cairo
+
Confidential
Stellar
Stylus
Uniswap Hooks
diff --git a/packages/ui/public/polkadot.html b/packages/ui/public/polkadot.html
new file mode 100644
index 000000000..519398323
--- /dev/null
+++ b/packages/ui/public/polkadot.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
OpenZeppelin Contracts Wizard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
New
+
+ Build secure, OpenZeppelin-standard smart contracts with your favorite AI using the
+
Contracts MCP.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ui/public/stellar.html b/packages/ui/public/stellar.html
index 2e70aa784..3c879fbc6 100644
--- a/packages/ui/public/stellar.html
+++ b/packages/ui/public/stellar.html
@@ -65,6 +65,7 @@
Solidity
Cairo
+
Confidential
Stellar
Stylus
Uniswap Hooks
diff --git a/packages/ui/public/stylus.html b/packages/ui/public/stylus.html
index ec0a6c70d..4f32ee57b 100644
--- a/packages/ui/public/stylus.html
+++ b/packages/ui/public/stylus.html
@@ -65,6 +65,7 @@
Solidity
Cairo
+
Confidential
Stellar
Stylus
Uniswap Hooks
diff --git a/packages/ui/public/uniswap-hooks.html b/packages/ui/public/uniswap-hooks.html
index 017031882..fd52e7730 100644
--- a/packages/ui/public/uniswap-hooks.html
+++ b/packages/ui/public/uniswap-hooks.html
@@ -95,6 +95,7 @@
Solidity
Cairo
+
Confidential
Stellar
Stylus
Uniswap Hooks
diff --git a/packages/ui/rollup.config.mjs b/packages/ui/rollup.config.mjs
index 2f6eb05b4..3924352a6 100644
--- a/packages/ui/rollup.config.mjs
+++ b/packages/ui/rollup.config.mjs
@@ -99,8 +99,9 @@ export default [
assetFileNames: '[name][extname]',
},
plugins: [
- // Generate openzeppelin-contracts.js data file
+ // Generate contract library data files
onStartRun(...'yarn --cwd ../core/solidity prepare'.split(' ')),
+ onStartRun(...'yarn --cwd ../core/confidential prepare'.split(' ')),
svelte(await import('./svelte.config.js')),
diff --git a/packages/ui/src/common/languages-types.ts b/packages/ui/src/common/languages-types.ts
index 77f7c2acf..375e93dd8 100644
--- a/packages/ui/src/common/languages-types.ts
+++ b/packages/ui/src/common/languages-types.ts
@@ -1,6 +1,7 @@
import type { GenericOptions as SolidityOptions } from '@openzeppelin/wizard';
import type { GenericOptions as CairoOptions } from '@openzeppelin/wizard-cairo';
import type { GenericOptions as CairoAlphaOptions } from '@openzeppelin/wizard-cairo-alpha';
+import type { GenericOptions as ConfidentialOptions } from '@openzeppelin/wizard-confidential';
import type { GenericOptions as StellarOptions } from '@openzeppelin/wizard-stellar';
import type { GenericOptions as StylusOptions } from '@openzeppelin/wizard-stylus';
import type { GenericOptions as UniswapHooksOptions } from '@openzeppelin/wizard-uniswap-hooks';
@@ -9,6 +10,7 @@ export type LanguagesOptions =
| Required
| Required
| Required
+ | Required
| Required
| Required
| Required;
@@ -17,7 +19,8 @@ export type Language =
| 'solidity'
| 'cairo'
| 'cairo-alpha'
+ | 'confidential'
| 'polkadot-solidity'
- | 'stylus'
| 'stellar'
+ | 'stylus'
| 'uniswap-hooks-solidity';
diff --git a/packages/ui/src/common/styles/vars.css b/packages/ui/src/common/styles/vars.css
index 4ef58c8d0..78b499dda 100644
--- a/packages/ui/src/common/styles/vars.css
+++ b/packages/ui/src/common/styles/vars.css
@@ -36,6 +36,9 @@
--stellar-black: #0f0f0f;
+ --confidential-black: #000000;
+ --confidential-yellow: #ffd208;
+
--uniswap-pink: #f50eb4;
/* Dimensions (scale taken from Tailwind) */
diff --git a/packages/ui/src/confidential/App.svelte b/packages/ui/src/confidential/App.svelte
new file mode 100644
index 000000000..5715efba1
--- /dev/null
+++ b/packages/ui/src/confidential/App.svelte
@@ -0,0 +1,471 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {#if showCode}
+ {@html highlightedCode}
+ {/if}
+
+
+
+
+
+
diff --git a/packages/ui/src/confidential/ERC7984Controls.svelte b/packages/ui/src/confidential/ERC7984Controls.svelte
new file mode 100644
index 000000000..95c894f29
--- /dev/null
+++ b/packages/ui/src/confidential/ERC7984Controls.svelte
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ui/src/confidential/inject-hyperlinks.ts b/packages/ui/src/confidential/inject-hyperlinks.ts
new file mode 100644
index 000000000..e73749c44
--- /dev/null
+++ b/packages/ui/src/confidential/inject-hyperlinks.ts
@@ -0,0 +1,34 @@
+import { version as contractsVersion } from '@openzeppelin/contracts/package.json';
+import { version as confidentialContractsVersion } from '@openzeppelin/confidential-contracts/package.json';
+import { version as fhevmSolidityVersion } from '@fhevm/solidity/package.json';
+
+function remapFhevmNpmVersionToGitTag(version: string): string {
+ // The FHEVM Solidity contracts are published on npm with version 0.9.1, but correspond to tag 0.9.14.
+ if (version === '0.9.1') {
+ return 'v0.9.14';
+ }
+ return `v${version}`;
+}
+
+export function injectHyperlinks(code: string) {
+ // We are modifying HTML, so use HTML escaped chars. The pattern excludes paths that include /../ in the URL.
+ const importContractsRegex =
+ /"(@openzeppelin\/)(contracts-upgradeable\/|contracts\/)((?:(?!\.\.)[^/]+\/)*?[^/]*?)"/g;
+ const importConfidentialContractsRegex =
+ /"(@openzeppelin\/)(confidential-contracts\/)((?:(?!\.\.)[^/]+\/)*?[^/]*?)"/g;
+ const importFhevmSolidityRegex = /"(@fhevm\/)(solidity\/)((?:(?!\.\.)[^/]+\/)*?[^/]*?)"/g;
+
+ return code
+ .replace(
+ importContractsRegex,
+ `"$1$2$3"`,
+ )
+ .replace(
+ importConfidentialContractsRegex,
+ `"$1$2$3"`,
+ )
+ .replace(
+ importFhevmSolidityRegex,
+ `"$1$2$3"`,
+ );
+}
diff --git a/packages/ui/src/main.ts b/packages/ui/src/main.ts
index 9a27d84d5..635fdc0d6 100644
--- a/packages/ui/src/main.ts
+++ b/packages/ui/src/main.ts
@@ -3,6 +3,7 @@ import './common/styles/global.css';
import SolidityApp from './solidity/App.svelte';
import CairoApp from './cairo/App.svelte';
import CairoAlphaApp from './cairo_alpha/App.svelte';
+import ConfidentialApp from './confidential/App.svelte';
import PolkadotApp from './polkadot/App.svelte';
import StellarApp from './stellar/App.svelte';
import StylusApp from './stylus/App.svelte';
@@ -17,6 +18,7 @@ import {
compatibleContractsSemver as cairoAlphaSemver,
contractsVersion as cairoAlphaVersion,
} from '@openzeppelin/wizard-cairo-alpha';
+import { compatibleConfidentialContractsSemver as confidentialSemver } from '@openzeppelin/wizard-confidential';
import { compatibleContractsSemver as stellarSemver } from '@openzeppelin/wizard-stellar';
import { compatibleContractsSemver as stylusSemver } from '@openzeppelin/wizard-stylus';
import { compatibleContractsSemver as uniswapHooksSemver } from '@openzeppelin/wizard-uniswap-hooks';
@@ -46,7 +48,7 @@ const initialOpts: InitialOptions = {
interface CompatibleSelection {
compatible: true;
- appType: 'solidity' | 'cairo' | 'cairo_alpha' | 'polkadot' | 'stellar' | 'stylus' | 'uniswap-hooks';
+ appType: 'solidity' | 'cairo' | 'cairo_alpha' | 'confidential' | 'polkadot' | 'stellar' | 'stylus' | 'uniswap-hooks';
}
interface IncompatibleSelection {
@@ -82,6 +84,13 @@ function evaluateSelection(
return { compatible: false, compatibleVersionsSemver: `${cairoAlphaSemver} || ${cairoSemver}` };
}
}
+ case 'confidential': {
+ if (requestedVersion === undefined || semver.satisfies(requestedVersion, confidentialSemver)) {
+ return { compatible: true, appType: 'confidential' };
+ } else {
+ return { compatible: false, compatibleVersionsSemver: confidentialSemver };
+ }
+ }
case 'polkadot': {
// Use Solidity Contracts semver
if (requestedVersion === undefined || semver.satisfies(requestedVersion, soliditySemver)) {
@@ -172,6 +181,9 @@ if (!selection.compatible) {
case 'stylus':
app = new StylusApp({ target: document.body, props: { initialTab, initialOpts } });
break;
+ case 'confidential':
+ app = new ConfidentialApp({ target: document.body, props: { initialTab, initialOpts } });
+ break;
case 'uniswap-hooks':
app = new UniswapHooksApp({ target: document.body, props: { initialTab, initialOpts } });
break;
diff --git a/packages/ui/src/standalone.css b/packages/ui/src/standalone.css
index 2cb1de09d..c8b8b122b 100644
--- a/packages/ui/src/standalone.css
+++ b/packages/ui/src/standalone.css
@@ -153,6 +153,13 @@ body {
contrast(100%);
}
+.nav .switch.switch-confidential.active {
+ --color-2: #000000;
+}
+.nav .switch.switch-confidential.active img {
+ filter: brightness(0);
+}
+
.nav .switch.switch-uniswap-hooks.active {
--color-2: var(--uniswap-pink);
}
diff --git a/yarn.lock b/yarn.lock
index 06e11663d..72a79fca2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,11 @@
# yarn lockfile v1
+"@adraffy/ens-normalize@1.10.1":
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069"
+ integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==
+
"@alloc/quick-lru@^5.2.0":
version "5.2.0"
resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
@@ -507,6 +512,42 @@
resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d"
integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==
+"@fhevm/hardhat-plugin@^0.3.0-1":
+ version "0.3.0-1"
+ resolved "https://registry.yarnpkg.com/@fhevm/hardhat-plugin/-/hardhat-plugin-0.3.0-1.tgz#954efd430213a723d2cc48d4141d3f034edd4c76"
+ integrity sha512-SnxtynkDehpkvoq0CRi1x09J01/K1rP2Q99fMNUv6PxXowwvjhZYhq0vw8qi6mZLI62AVMh94KbzN/Gb3L4e/w==
+ dependencies:
+ "@fhevm/host-contracts" "0.9.0"
+ debug "^4.1.1"
+ dotenv "^16.5.0"
+ picocolors "^1.1.1"
+ resolve "^1.22.10"
+
+"@fhevm/host-contracts@0.9.0":
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/@fhevm/host-contracts/-/host-contracts-0.9.0.tgz#b296946edb193ba4097c8c262f337e4a42cd6878"
+ integrity sha512-N/DRfpXVCzHbg+9NE5sLHzTH3X7Wt3xRSN/7Jyoo+mKgjI7u40heJz8z/dUqvcq0h8wXjXcZcQHgP4pjMNjLKw==
+ dependencies:
+ encrypted-types "^0.0.4"
+ optionalDependencies:
+ solidity-comments-darwin-arm64 "0.1.1"
+ solidity-comments-linux-x64-gnu "0.1.1"
+
+"@fhevm/mock-utils@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@fhevm/mock-utils/-/mock-utils-0.1.0.tgz#403522994f1f7a9e3c27715c8dfa2587e12d1f0c"
+ integrity sha512-MZk+hXNrO4t0kIgoO9nLln9lKCefCe6gCAKeBhwAMmndIdYGIGkNJHVTbqAAMWS7wPTsA5pkR47BWvX0N6XaZQ==
+
+"@fhevm/solidity@^0.9.1":
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/@fhevm/solidity/-/solidity-0.9.1.tgz#1ca0fe341a03f8a5a49a292f3666058a77f4735b"
+ integrity sha512-QxP+R+6v3aHA/rzgH9cDsiYOwRBB6zLAL3qNI4YfRewKA6ZB01cdkYvrB80FkJyddzxRNsT1jHIvJvSRS8XZ+Q==
+ dependencies:
+ encrypted-types "^0.0.4"
+ optionalDependencies:
+ solidity-comments-darwin-arm64 "0.1.1"
+ solidity-comments-linux-x64-gnu "0.1.1"
+
"@humanfs/core@^0.19.1":
version "0.19.1"
resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
@@ -654,6 +695,13 @@
resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc"
integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==
+"@noble/curves@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35"
+ integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==
+ dependencies:
+ "@noble/hashes" "1.3.2"
+
"@noble/curves@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.0.tgz#13e0ca8be4a0ce66c113693a94514e5599f40cfc"
@@ -675,6 +723,11 @@
dependencies:
"@noble/hashes" "1.8.0"
+"@noble/hashes@1.3.2":
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39"
+ integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==
+
"@noble/hashes@1.7.2", "@noble/hashes@~1.7.1":
version "1.7.2"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.2.tgz#d53c65a21658fb02f3303e7ee3ba89d6754c64b4"
@@ -754,6 +807,14 @@
"@nomicfoundation/edr-linux-x64-musl" "0.11.3"
"@nomicfoundation/edr-win32-x64-msvc" "0.11.3"
+"@nomicfoundation/hardhat-ethers@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.1.0.tgz#d33595e85cdb53e802391de64ee35910c078dbb0"
+ integrity sha512-jx6fw3Ms7QBwFGT2MU6ICG292z0P81u6g54JjSV105+FbTZOF4FJqPksLfDybxkkOeq28eDxbqq7vpxRYyIlxA==
+ dependencies:
+ debug "^4.1.1"
+ lodash.isequal "^4.5.0"
+
"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2":
version "0.1.2"
resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557"
@@ -806,11 +867,21 @@
version "0.0.1"
resolved "git+https://github.com/OpenZeppelin/openzeppelin-community-contracts.git#b0ddd275a4c5d87ba2ded654b33e08db85094588"
+"@openzeppelin/confidential-contracts@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@openzeppelin/confidential-contracts/-/confidential-contracts-0.3.0.tgz#5e7d08fb19d50109be1cff8a3c7b2ac3645f514b"
+ integrity sha512-SccPGH4RgmKNtNBhv6gU85Ek/MT99fuI09o14xN4gd6PBrjEetUoAS01dlevP1lpqbAoyM8oiXshOEJ86M5tyw==
+
"@openzeppelin/contracts-upgradeable@^5.5.0":
version "5.5.0"
resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.5.0.tgz#e35b3ededa5ccc13205c2b42e2058cd5cb7d424a"
integrity sha512-Va5hKG5oaK0EE5bXTVWugcGimMHazxL+SL523dH6WVbGiuLXwuWr9oxtLyPHQSVGtgmlIgtKNR5V+OUpCIUwFQ==
+"@openzeppelin/contracts@^5.4.0":
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.4.0.tgz#177594bdb2d86c71f5d1052fe40cb4edb95fb20f"
+ integrity sha512-eCYgWnLg6WO+X52I16TZt8uEjbtdkgLC0SUX/xnAksjjrQI4Xfn4iBRoI5j55dmlOhDv1Y7BoR3cU7e3WWhC6A==
+
"@openzeppelin/contracts@^5.5.0":
version "5.5.0"
resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.5.0.tgz#24e8a2f9598de484dcb223512af656edf52bc0e8"
@@ -1173,6 +1244,13 @@
dependencies:
undici-types "~7.10.0"
+"@types/node@22.7.5":
+ version "22.7.5"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b"
+ integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==
+ dependencies:
+ undici-types "~6.19.2"
+
"@types/node@^12.7.1":
version "12.20.55"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
@@ -1355,6 +1433,21 @@
picomatch "^4.0.2"
resolve-from "^5.0.0"
+"@zama-fhe/relayer-sdk@0.3.0-5":
+ version "0.3.0-5"
+ resolved "https://registry.yarnpkg.com/@zama-fhe/relayer-sdk/-/relayer-sdk-0.3.0-5.tgz#f1d809bcdb95c39006c6e5a84842d1c285c1657b"
+ integrity sha512-DIPlN9z5tfSCXqUlhQN2MEv57HmAUHSGV9LPtGs6LWmM7POj6WsMd1hU7Qci4AWPsor7k3IqMfqGGthIvot/DQ==
+ dependencies:
+ commander "^14.0.0"
+ ethers "^6.15.0"
+ fetch-retry "^6.0.0"
+ keccak "^3.0.4"
+ node-tfhe "1.4.0-alpha.3"
+ node-tkms "^0.12.0"
+ tfhe "1.4.0-alpha.3"
+ tkms "^0.12.0"
+ wasm-feature-detect "^1.8.0"
+
abbrev@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-3.0.1.tgz#8ac8b3b5024d31464fe2a5feeea9f4536bf44025"
@@ -1395,6 +1488,11 @@ adm-zip@^0.4.16:
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365"
integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==
+aes-js@4.0.0-beta.5:
+ version "4.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873"
+ integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==
+
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -1946,6 +2044,11 @@ commander@^11.1.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906"
integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==
+commander@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.0.tgz#f244fc74a92343514e56229f16ef5c5e22ced5e9"
+ integrity sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==
+
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@@ -2425,6 +2528,11 @@ domutils@^3.0.1:
domelementtype "^2.3.0"
domhandler "^5.0.3"
+dotenv@^16.5.0:
+ version "16.6.1"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020"
+ integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==
+
dotenv@^8.1.0:
version "8.6.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
@@ -2492,6 +2600,11 @@ encodeurl@^2.0.0:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
+encrypted-types@^0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/encrypted-types/-/encrypted-types-0.0.4.tgz#6df80d7917d02f3946b21caf2dd77ba91ac22971"
+ integrity sha512-f55ccBBUwvqWqr3ymAVOLZ6bzjsSQZlDN0GcKFmzkvTpml4Vm3Y6BCaHhCuW/ctrabTJJ3DFnUsjtFOpokJUaQ==
+
enquirer@^2.3.0, enquirer@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56"
@@ -2729,6 +2842,19 @@ ethereum-cryptography@^1.0.3, ethereum-cryptography@^2.2.1, ethereum-cryptograph
"@scure/bip32" "1.7.0"
"@scure/bip39" "1.6.0"
+ethers@^6.15.0:
+ version "6.15.0"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.15.0.tgz#2980f2a3baf0509749b7e21f8692fa8a8349c0e3"
+ integrity sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==
+ dependencies:
+ "@adraffy/ens-normalize" "1.10.1"
+ "@noble/curves" "1.2.0"
+ "@noble/hashes" "1.3.2"
+ "@types/node" "22.7.5"
+ aes-js "4.0.0-beta.5"
+ tslib "2.7.0"
+ ws "8.17.1"
+
eventemitter3@^4.0.4:
version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
@@ -2841,6 +2967,11 @@ fdir@^6.2.0, fdir@^6.4.4:
resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350"
integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
+fetch-retry@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-6.0.0.tgz#4ffdf92c834d72ae819e42a4ee2a63f1e9454426"
+ integrity sha512-BUFj1aMubgib37I3v4q78fYo63Po7t4HUPTpQ6/QE6yK6cIQrP+W43FYToeTEyg5m2Y7eFUtijUuAv/PDlWuag==
+
figures@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-6.1.0.tgz#935479f51865fa7479f6fa94fc6fc7ac14e62c4a"
@@ -3660,7 +3791,7 @@ jszip@^3.6.0:
readable-stream "~2.3.6"
setimmediate "^1.0.5"
-keccak@^3.0.2:
+keccak@^3.0.2, keccak@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d"
integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==
@@ -3750,6 +3881,11 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
+
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
@@ -4083,6 +4219,16 @@ node-releases@^2.0.19:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
+node-tfhe@1.4.0-alpha.3:
+ version "1.4.0-alpha.3"
+ resolved "https://registry.yarnpkg.com/node-tfhe/-/node-tfhe-1.4.0-alpha.3.tgz#9e8d8afbd13ea7b0c00283f6929bf0a7af9787e3"
+ integrity sha512-oTcWL0OFA6t6BhScmDiGQ3VA8tU8T3EXCzIzpNxQxcuJDgQtiUF5CV6dgJLOrpWck4KCp1Bo/xLhv07uwn3q6Q==
+
+node-tkms@^0.12.0:
+ version "0.12.5"
+ resolved "https://registry.yarnpkg.com/node-tkms/-/node-tkms-0.12.5.tgz#fc7f2ee30e86859082b9643c305d6ba8ceeddcbc"
+ integrity sha512-1GZf8DtZGSqNKT/K4swcNytwhChYXUkKXg/rJTc66FbJ3VwjPbDDheHlp5kEBw0tFQO+dJ0lWsm+NRtafucFYg==
+
nofilter@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66"
@@ -5104,7 +5250,7 @@ resolve@1.17.0:
dependencies:
path-parse "^1.0.6"
-resolve@^1.1.7, resolve@^1.21.0, resolve@^1.22.1, resolve@^1.22.8:
+resolve@^1.1.7, resolve@^1.21.0, resolve@^1.22.1, resolve@^1.22.10, resolve@^1.22.8:
version "1.22.10"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
@@ -5499,6 +5645,16 @@ solidity-ast@^0.4.18:
resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.60.tgz#7c0324eace040034d6a40edbd85475e4773cbbe8"
integrity sha512-UwhasmQ37ji1ul8cIp0XlrQ/+SVQhy09gGqJH4jnwdo2TgI6YIByzi0PI5QvIGcIdFOs1pbSmJW1pnWB7AVh2w==
+solidity-comments-darwin-arm64@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/solidity-comments-darwin-arm64/-/solidity-comments-darwin-arm64-0.1.1.tgz#9fc53a617229d942e091f6365d7715c6d7ddf19e"
+ integrity sha512-ze1+YboHm8tRJXCoFEsxtU1gpvQ3rCH55xMtBH6dtyh1/gz4qrKCOUBaAP+IHplbzCacZBn+Pz3UmMDOoGshRw==
+
+solidity-comments-linux-x64-gnu@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/solidity-comments-linux-x64-gnu/-/solidity-comments-linux-x64-gnu-0.1.1.tgz#be9d8c2e861db2ee3f9b8b8402ce600dec0fde72"
+ integrity sha512-oiU4yhh1Q9SeGXQ+/sogfTNoOkU8I8IvlIeotBQziTOonUHrxQk4E63kNiYGPDn5ZbB3BhKFmGHNRNrkufsxcQ==
+
sorcery@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.11.1.tgz#7cac27ae9c9549b3cd1e4bb85317f7b2dc7b7e22"
@@ -5853,6 +6009,11 @@ terser@^5.0.0:
commander "^2.20.0"
source-map-support "~0.5.20"
+tfhe@1.4.0-alpha.3:
+ version "1.4.0-alpha.3"
+ resolved "https://registry.yarnpkg.com/tfhe/-/tfhe-1.4.0-alpha.3.tgz#e00e20f3e12b302b49c2fecc336faa6a05639462"
+ integrity sha512-xdla7hi2WzLFIdAx2/ihRZ/bKlKcgDDabTJGtoqp1E5oqhLM1PzTXsJE0p7tW8+ebrvxiMGfbgMAWnU3f2ZAIQ==
+
thenify-all@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
@@ -5892,6 +6053,11 @@ tippy.js@^6.3.7:
dependencies:
"@popperjs/core" "^2.9.0"
+tkms@^0.12.0:
+ version "0.12.5"
+ resolved "https://registry.yarnpkg.com/tkms/-/tkms-0.12.5.tgz#1a48db4f83bcca049b9a2970aa00dca5765050f3"
+ integrity sha512-FuZYwBGEmdDAQ8S4mmq0o9SBhNQWczqOTX8L+lHLmPcLT7KCLlof6jYyXlp2/8IIFLnZ4gwEzLeWBYaW05q3AA==
+
tmp@0.0.33, tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -5955,6 +6121,11 @@ ts-node@^10.4.0, ts-node@^10.9.2:
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
+tslib@2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01"
+ integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==
+
tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
@@ -6031,6 +6202,11 @@ uncrypto@^0.1.3:
resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b"
integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==
+undici-types@~6.19.2:
+ version "6.19.8"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
+ integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
+
undici-types@~6.21.0:
version "6.21.0"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb"
@@ -6114,6 +6290,11 @@ vary@^1, vary@^1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+wasm-feature-detect@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/wasm-feature-detect/-/wasm-feature-detect-1.8.0.tgz#4e9f55b0a64d801f372fbb0324ed11ad3abd0c78"
+ integrity sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==
+
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
@@ -6209,6 +6390,11 @@ write-file-atomic@^6.0.0:
imurmurhash "^0.1.4"
signal-exit "^4.0.1"
+ws@8.17.1:
+ version "8.17.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b"
+ integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
+
ws@^7.4.3, ws@^7.4.6:
version "7.5.10"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"