From f3948d0b287deb4c87c22de16196d63d2d37409d Mon Sep 17 00:00:00 2001 From: Dev Date: Wed, 12 Jul 2023 21:17:45 +0200 Subject: [PATCH] fix: clean deps and publish 0.0.17-beta.4 --- packages/common/types.ts | 61 +++++- packages/sismo-connect-client/package.json | 2 +- .../sismo-connect-client/rollup.config.js | 23 +- packages/sismo-connect-react/package.json | 4 +- packages/sismo-connect-react/rollup.config.js | 29 ++- packages/sismo-connect-react/yarn-error.log | 32 +-- packages/sismo-connect-react/yarn.lock | 8 +- packages/sismo-connect-server/package.json | 5 +- .../sismo-connect-server/rollup.config.js | 24 ++- .../sismo-connect-server/src/common-types.ts | 61 +++++- .../src/utils/toSismoResponseBytes.ts | 197 ++++++++++++++++++ packages/sismo-connect-server/yarn.lock | 79 +++++++ 12 files changed, 452 insertions(+), 73 deletions(-) create mode 100644 packages/sismo-connect-server/src/utils/toSismoResponseBytes.ts diff --git a/packages/common/types.ts b/packages/common/types.ts index f692693..4c91d15 100644 --- a/packages/common/types.ts +++ b/packages/common/types.ts @@ -1,3 +1,5 @@ +import { toSismoConnectResponseBytes } from "./utils/toSismoResponseBytes"; + export const SISMO_CONNECT_VERSION = `sismo-connect-v1.1`; export type SismoConnectRequest = { @@ -71,12 +73,69 @@ export const authTypeLabels: { [authType in AuthType]: string } = { [AuthType.TELEGRAM]: "Telegram", }; -export type SismoConnectResponse = Pick & { +export type SismoConnectResponseInterface = Pick & { appId: string; signedMessage?: string; proofs: SismoConnectProof[]; }; +export class SismoConnectResponse implements SismoConnectResponseInterface { + namespace?: string; + version: string; + appId: string; + signedMessage?: string; + proofs: SismoConnectProof[]; + auths: Auth[]; + claims: Auth[]; + + constructor(params: SismoConnectResponseInterface) { + Object.assign(this, params); + this.auths = params.proofs.reduce((auths: Auth[], proof) => { + if (proof.auths) { + return [...auths, ...proof.auths]; + } else { + return auths; + } + }, []); + this.claims = params.proofs.reduce((auths: Auth[], proof) => { + if (proof.auths) { + return [...auths, ...proof.auths]; + } else { + return auths; + } + }, []); + } + + public toJson(): SismoConnectResponseInterface { + return { + namespace: this.namespace, + version: this.version, + appId: this.appId, + signedMessage: this.signedMessage, + proofs: this.proofs, + }; + } + + public toBytes(): string { + return toSismoConnectResponseBytes(this); + } + + public getUserId(authType: AuthType): string | undefined { + const userId = this.auths.find((verifiedAuth) => verifiedAuth.authType === authType)?.userId; + return resolveSismoIdentifier(userId, authType); + } + + public getUserIds(authType: AuthType): string[] { + return this.auths + .filter((verifiedAuth) => verifiedAuth.authType === authType && verifiedAuth.userId) + .map((auth) => resolveSismoIdentifier(auth.userId, authType)) as string[]; + } + + public getSignedMessage(): string | undefined { + return this.signedMessage; + } +} + export type SismoConnectProof = { auths?: Auth[]; claims?: Claim[]; diff --git a/packages/sismo-connect-client/package.json b/packages/sismo-connect-client/package.json index 917f75f..80cb316 100644 --- a/packages/sismo-connect-client/package.json +++ b/packages/sismo-connect-client/package.json @@ -1,6 +1,6 @@ { "name": "@sismo-core/sismo-connect-client", - "version": "0.0.17-beta.0", + "version": "0.0.17-beta.4", "description": "Sismo Connect client package", "main": "lib/cjs/index.js", "module": "lib/esm/index.js", diff --git a/packages/sismo-connect-client/rollup.config.js b/packages/sismo-connect-client/rollup.config.js index 6304405..1060f63 100644 --- a/packages/sismo-connect-client/rollup.config.js +++ b/packages/sismo-connect-client/rollup.config.js @@ -2,6 +2,7 @@ import resolve from "@rollup/plugin-node-resolve"; import commonjs from "@rollup/plugin-commonjs"; import typescript from "@rollup/plugin-typescript"; import dts from "rollup-plugin-dts"; +import pkg from "./package.json"; export default [ { @@ -18,25 +19,23 @@ export default [ sourcemap: true, }, ], - plugins: [ - resolve(), - commonjs(), - typescript({ tsconfig: "./tsconfig.json" }), - ], + plugins: [resolve(), commonjs(), typescript({ tsconfig: "./tsconfig.json" })], external: [ + "@ethersproject/bignumber", "viem", "js-base64", - "pako" - ] + "pako", + ...Object.keys(pkg.devDependencies || {}), + ], }, { input: "lib/esm/types/index.d.ts", output: [ { - file: "lib/index.d.ts", - format: "esm" - } + file: "lib/index.d.ts", + format: "esm", + }, ], plugins: [dts.default()], - } -]; \ No newline at end of file + }, +]; diff --git a/packages/sismo-connect-react/package.json b/packages/sismo-connect-react/package.json index 77092b6..0768203 100644 --- a/packages/sismo-connect-react/package.json +++ b/packages/sismo-connect-react/package.json @@ -1,6 +1,6 @@ { "name": "@sismo-core/sismo-connect-react", - "version": "0.0.16", + "version": "0.0.17-beta.4", "description": "sismoConnect React package", "main": "lib/cjs/index.js", "module": "lib/esm/index.js", @@ -41,6 +41,6 @@ }, "peerDependencies": {}, "dependencies": { - "@sismo-core/sismo-connect-client": "0.0.16" + "@sismo-core/sismo-connect-client": "0.0.17-beta.4" } } diff --git a/packages/sismo-connect-react/rollup.config.js b/packages/sismo-connect-react/rollup.config.js index 71770ee..a8bcac9 100644 --- a/packages/sismo-connect-react/rollup.config.js +++ b/packages/sismo-connect-react/rollup.config.js @@ -1,10 +1,11 @@ import resolve from "@rollup/plugin-node-resolve"; import commonjs from "@rollup/plugin-commonjs"; import typescript from "@rollup/plugin-typescript"; -import postcss from 'rollup-plugin-postcss'; +import postcss from "rollup-plugin-postcss"; import dts from "rollup-plugin-dts"; -import external from 'rollup-plugin-peer-deps-external'; -import packageJson from './package.json'; +import external from "rollup-plugin-peer-deps-external"; +import packageJson from "./package.json"; +import pkg from "./package.json"; export default [ { @@ -14,7 +15,7 @@ export default [ file: packageJson.module, format: "esm", sourcemap: true, - } + }, ], plugins: [ external(), @@ -23,23 +24,17 @@ export default [ typescript({ tsconfig: "./tsconfig.json" }), postcss(), ], - external: [ - "viem", - "js-base64", - "pako" - ] + external: ["@sismo-core/sismo-connect-client", ...Object.keys(pkg.devDependencies || {})], }, { input: "lib/esm/types/index.d.ts", output: [ { - file: "lib/index.d.ts", - format: "esm" - } + file: "lib/index.d.ts", + format: "esm", + }, ], external: [/\.css$/], - plugins: [ - dts.default() - ], - } -]; \ No newline at end of file + plugins: [dts.default()], + }, +]; diff --git a/packages/sismo-connect-react/yarn-error.log b/packages/sismo-connect-react/yarn-error.log index 15c9143..fcc9c2b 100644 --- a/packages/sismo-connect-react/yarn-error.log +++ b/packages/sismo-connect-react/yarn-error.log @@ -1,5 +1,5 @@ Arguments: - /usr/local/bin/node /Users/dev/.cache/node/corepack/yarn/1.22.19/bin/yarn.js upgrade @sismo-core/sismo-connec-client@0.0.12-beta.14 + /usr/local/bin/node /Users/dev/.cache/node/corepack/yarn/1.22.19/bin/yarn.js upgrade @sismo-core/sismo-connect-client@0.0.17-beta.4 PATH: /opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/dev/.cargo/bin:/Users/dev/.foundry/bin @@ -8,28 +8,19 @@ Yarn version: 1.22.19 Node version: - 16.20.0 + 18.16.1 Platform: darwin arm64 Trace: - Error: https://registry.npmjs.org/@sismo-core%2fsismo-connec-client: Not found - at Request.params.callback [as _callback] (/Users/dev/.cache/node/corepack/yarn/1.22.19/lib/cli.js:66145:18) - at Request.self.callback (/Users/dev/.cache/node/corepack/yarn/1.22.19/lib/cli.js:140890:22) - at Request.emit (node:events:513:28) - at Request. (/Users/dev/.cache/node/corepack/yarn/1.22.19/lib/cli.js:141862:10) - at Request.emit (node:events:513:28) - at IncomingMessage. (/Users/dev/.cache/node/corepack/yarn/1.22.19/lib/cli.js:141784:12) - at Object.onceWrapper (node:events:627:28) - at IncomingMessage.emit (node:events:525:35) - at endReadableNT (node:internal/streams/readable:1358:12) - at processTicksAndRejections (node:internal/process/task_queues:83:21) + Error: getaddrinfo ENOTFOUND registry.npmjs.org + at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) npm manifest: { "name": "@sismo-core/sismo-connect-react", - "version": "0.0.14-beta.10", + "version": "0.0.17-beta.3", "description": "sismoConnect React package", "main": "lib/cjs/index.js", "module": "lib/esm/index.js", @@ -59,9 +50,6 @@ npm manifest: "lib", "src" ], - "engines": { - "npm": "USE YARN INSTEAD OF NPM" - }, "repository": "git@github.com:sismo-core/sismo-connect-packages.git", "author": "leo@sismo.io", "license": "MIT", @@ -73,7 +61,7 @@ npm manifest: }, "peerDependencies": {}, "dependencies": { - "@sismo-core/sismo-connect-client": "0.0.12-beta.12" + "@sismo-core/sismo-connect-client": "0.0.17-beta.3" } } @@ -226,10 +214,10 @@ Lockfile: "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" - "@sismo-core/sismo-connect-client@0.0.12-beta.12": - version "0.0.12-beta.12" - resolved "https://registry.yarnpkg.com/@sismo-core/sismo-connect-client/-/sismo-connect-client-0.0.12-beta.12.tgz#99792ab9a527356adef82d74435a4a9dab05e7b3" - integrity sha512-alIbo5p7MLKM8+vJC4ZkRgeJ9/75M9BoreJo4BuRpi3nqttqoDglJNQn7BUCzeaOuGdmhlYT5BgfTqiG0JrFuQ== + "@sismo-core/sismo-connect-client@0.0.17-beta.3": + version "0.0.17-beta.3" + resolved "https://registry.yarnpkg.com/@sismo-core/sismo-connect-client/-/sismo-connect-client-0.0.17-beta.3.tgz#8d6ef3e802a9a627be4ffa6e292422050ed0d678" + integrity sha512-vwAzL4jegye+TFleWMrGbV7gxLt6SfrNMD2AD7TVzKfm0TiDiyMd2GRyKIfi7kxCymdOHIzSPhCbMnQy60AkOg== dependencies: "@ethersproject/bignumber" "5.7.0" js-base64 "^3.7.5" diff --git a/packages/sismo-connect-react/yarn.lock b/packages/sismo-connect-react/yarn.lock index 26f7acf..4e12452 100644 --- a/packages/sismo-connect-react/yarn.lock +++ b/packages/sismo-connect-react/yarn.lock @@ -143,10 +143,10 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@sismo-core/sismo-connect-client@0.0.16": - version "0.0.16" - resolved "https://registry.yarnpkg.com/@sismo-core/sismo-connect-client/-/sismo-connect-client-0.0.16.tgz#28f1c8e586509bf6272fc42969c8b13d837e3cbc" - integrity sha512-SO33SjpVPy2rVSIqE3B568+bQfNGe1T5ieh1pxNR68W6sAeLGU+PtzRegdKNbirFLVhVTi0Ky/vfmqI12Ehmng== +"@sismo-core/sismo-connect-client@0.0.17-beta.4": + version "0.0.17-beta.4" + resolved "https://registry.yarnpkg.com/@sismo-core/sismo-connect-client/-/sismo-connect-client-0.0.17-beta.4.tgz#39968c5dc1245437b073735fe26b0b49d625439d" + integrity sha512-9qSUzoKkAGoAuuV+NANBe+bXq02PijVJ5wvbrhcQt6jr03bn2MfxVVfOhOzeTHrQ7vlg7Uyf3lJHmtJWymAa0w== dependencies: "@ethersproject/bignumber" "5.7.0" js-base64 "^3.7.5" diff --git a/packages/sismo-connect-server/package.json b/packages/sismo-connect-server/package.json index af69bf9..1fea878 100644 --- a/packages/sismo-connect-server/package.json +++ b/packages/sismo-connect-server/package.json @@ -1,6 +1,6 @@ { "name": "@sismo-core/sismo-connect-server", - "version": "0.0.16", + "version": "0.0.17-beta.4", "description": "sismoConnect server package", "main": "lib/cjs/index.js", "module": "lib/esm/index.js", @@ -38,7 +38,8 @@ "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", - "@sismo-core/hydra-s3": "^1.0.0" + "@sismo-core/hydra-s3": "^1.0.0", + "viem": "^1.2.13" }, "lint-staged": { "src/**/*": "prettier --write --ignore-unknown", diff --git a/packages/sismo-connect-server/rollup.config.js b/packages/sismo-connect-server/rollup.config.js index 8b25647..a011d22 100644 --- a/packages/sismo-connect-server/rollup.config.js +++ b/packages/sismo-connect-server/rollup.config.js @@ -1,8 +1,9 @@ import resolve from "@rollup/plugin-node-resolve"; import commonjs from "@rollup/plugin-commonjs"; import typescript from "@rollup/plugin-typescript"; -import json from '@rollup/plugin-json'; +import json from "@rollup/plugin-json"; import dts from "rollup-plugin-dts"; +import pkg from "./package.json"; export default [ { @@ -19,21 +20,22 @@ export default [ sourcemap: true, }, ], - plugins: [ - resolve(), - commonjs(), - json(), - typescript(), + external: [ + "@ethersproject/bignumber", + "@sismo-core/hydra-s3", + "viem", + ...Object.keys(pkg.devDependencies || {}), ], + plugins: [resolve(), commonjs(), json(), typescript()], }, { input: "lib/esm/types/index.d.ts", output: [ { - file: "lib/index.d.ts", - format: "esm" - } + file: "lib/index.d.ts", + format: "esm", + }, ], plugins: [dts.default()], - } -]; \ No newline at end of file + }, +]; diff --git a/packages/sismo-connect-server/src/common-types.ts b/packages/sismo-connect-server/src/common-types.ts index f692693..4c91d15 100644 --- a/packages/sismo-connect-server/src/common-types.ts +++ b/packages/sismo-connect-server/src/common-types.ts @@ -1,3 +1,5 @@ +import { toSismoConnectResponseBytes } from "./utils/toSismoResponseBytes"; + export const SISMO_CONNECT_VERSION = `sismo-connect-v1.1`; export type SismoConnectRequest = { @@ -71,12 +73,69 @@ export const authTypeLabels: { [authType in AuthType]: string } = { [AuthType.TELEGRAM]: "Telegram", }; -export type SismoConnectResponse = Pick & { +export type SismoConnectResponseInterface = Pick & { appId: string; signedMessage?: string; proofs: SismoConnectProof[]; }; +export class SismoConnectResponse implements SismoConnectResponseInterface { + namespace?: string; + version: string; + appId: string; + signedMessage?: string; + proofs: SismoConnectProof[]; + auths: Auth[]; + claims: Auth[]; + + constructor(params: SismoConnectResponseInterface) { + Object.assign(this, params); + this.auths = params.proofs.reduce((auths: Auth[], proof) => { + if (proof.auths) { + return [...auths, ...proof.auths]; + } else { + return auths; + } + }, []); + this.claims = params.proofs.reduce((auths: Auth[], proof) => { + if (proof.auths) { + return [...auths, ...proof.auths]; + } else { + return auths; + } + }, []); + } + + public toJson(): SismoConnectResponseInterface { + return { + namespace: this.namespace, + version: this.version, + appId: this.appId, + signedMessage: this.signedMessage, + proofs: this.proofs, + }; + } + + public toBytes(): string { + return toSismoConnectResponseBytes(this); + } + + public getUserId(authType: AuthType): string | undefined { + const userId = this.auths.find((verifiedAuth) => verifiedAuth.authType === authType)?.userId; + return resolveSismoIdentifier(userId, authType); + } + + public getUserIds(authType: AuthType): string[] { + return this.auths + .filter((verifiedAuth) => verifiedAuth.authType === authType && verifiedAuth.userId) + .map((auth) => resolveSismoIdentifier(auth.userId, authType)) as string[]; + } + + public getSignedMessage(): string | undefined { + return this.signedMessage; + } +} + export type SismoConnectProof = { auths?: Auth[]; claims?: Claim[]; diff --git a/packages/sismo-connect-server/src/utils/toSismoResponseBytes.ts b/packages/sismo-connect-server/src/utils/toSismoResponseBytes.ts new file mode 100644 index 0000000..c45e748 --- /dev/null +++ b/packages/sismo-connect-server/src/utils/toSismoResponseBytes.ts @@ -0,0 +1,197 @@ +import { + Hex, + encodeAbiParameters, + pad, + sliceHex, + toHex, + keccak256, + isHex, + toBytes as toBytesViem, +} from "viem"; +import { SismoConnectResponse } from "../common-types"; + +const toBytes16 = (data) => { + if (isHex(data)) return pad(data, { size: 16 }); + else return sliceHex(keccak256(hexlify(data)), 0, 16); +}; + +const toBytes32 = (data) => { + return pad(hexlify(data), { size: 32, dir: "right" }); +}; + +const toBytes = (data) => { + return toHex(toBytesViem(data)); +}; + +export const hexlify = (data) => { + return isHex(data) ? (data as Hex) : toHex(data); +}; + +const formatResponseToEncode = (sismoConnectResponse: SismoConnectResponse) => { + return { + appId: toBytes16(sismoConnectResponse.appId), + namespace: toBytes16(sismoConnectResponse?.namespace ?? "main"), + version: toBytes32(sismoConnectResponse.version), + signedMessage: + (sismoConnectResponse.signedMessage as `0x${string}`) ?? + toBytes("0x0000000000000000000000000000000000000000000000000000000000000000"), + proofs: sismoConnectResponse.proofs?.map((proof) => { + return { + claims: + proof.claims?.map((claim) => { + return { + groupId: toBytes16(claim.groupId ?? "0x00"), + groupTimestamp: + !proof?.claims[0]?.groupTimestamp || proof?.claims[0]?.groupTimestamp === "latest" + ? pad(hexlify("latest"), { size: 16, dir: "right" }) + : toBytes(proof?.claims[0]?.groupTimestamp), + claimType: claim.claimType, + isSelectableByUser: claim?.isSelectableByUser ?? false, + value: BigInt(claim.value ?? 1), + extraData: toBytes(claim.extraData ?? ""), + }; + }) ?? [], + auths: + proof.auths?.map((auth) => { + return { + authType: auth?.authType, + isAnon: auth?.isAnon ?? false, + isSelectableByUser: auth?.isSelectableByUser ?? false, + userId: BigInt(auth?.userId ?? 0), + extraData: toBytes(auth.extraData ?? ""), + }; + }) ?? [], + proofData: proof.proofData as Hex, + provingScheme: toBytes32(proof?.provingScheme ?? "hydra-s3.1"), + extraData: toBytes(proof.extraData ?? ""), + }; + }), + }; +}; + +export const toSismoConnectResponseBytes = (sismoConnectResponse: SismoConnectResponse) => { + if (!sismoConnectResponse) return null; + return encodeAbiParameters( + [ + { + components: [ + { + internalType: "bytes16", + name: "appId", + type: "bytes16", + }, + { + internalType: "bytes16", + name: "namespace", + type: "bytes16", + }, + { + internalType: "bytes32", + name: "version", + type: "bytes32", + }, + { + internalType: "bytes", + name: "signedMessage", + type: "bytes", + }, + { + components: [ + { + components: [ + { + internalType: "enum AuthType", + name: "authType", + type: "uint8", + }, + { + internalType: "bool", + name: "isAnon", + type: "bool", + }, + { + internalType: "bool", + name: "isSelectableByUser", + type: "bool", + }, + { + internalType: "uint256", + name: "userId", + type: "uint256", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + internalType: "struct Auth[]", + name: "auths", + type: "tuple[]", + }, + { + components: [ + { + internalType: "enum ClaimType", + name: "claimType", + type: "uint8", + }, + { + internalType: "bytes16", + name: "groupId", + type: "bytes16", + }, + { + internalType: "bytes16", + name: "groupTimestamp", + type: "bytes16", + }, + { + internalType: "bool", + name: "isSelectableByUser", + type: "bool", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + internalType: "struct Claim[]", + name: "claims", + type: "tuple[]", + }, + { + internalType: "bytes32", + name: "provingScheme", + type: "bytes32", + }, + { + internalType: "bytes", + name: "proofData", + type: "bytes", + }, + { + internalType: "bytes", + name: "extraData", + type: "bytes", + }, + ], + internalType: "struct SismoConnectProof[]", + name: "proofs", + type: "tuple[]", + }, + ], + internalType: "struct SismoConnectResponse", + name: "response", + type: "tuple", + }, + ], + [formatResponseToEncode(sismoConnectResponse)] + ); +}; diff --git a/packages/sismo-connect-server/yarn.lock b/packages/sismo-connect-server/yarn.lock index 45597de..0c6c4e2 100644 --- a/packages/sismo-connect-server/yarn.lock +++ b/packages/sismo-connect-server/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@adraffy/ens-normalize@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" + integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== + "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -948,6 +953,23 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@noble/curves@1.0.0", "@noble/curves@~1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" + integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== + dependencies: + "@noble/hashes" "1.3.0" + +"@noble/hashes@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + +"@noble/hashes@~1.3.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== + "@rollup/plugin-commonjs@^24.0.1": version "24.0.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz#d54ba26a3e3c495dc332bd27a81f7e9e2df46f90" @@ -996,6 +1018,28 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@scure/base@~1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== + +"@scure/bip32@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" + integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== + dependencies: + "@noble/curves" "~1.0.0" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" + integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + "@sinclair/typebox@^0.25.16": version "0.25.22" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.22.tgz#2808d895e9c2722b20a622a9c8cb332f6720eb4a" @@ -1195,6 +1239,16 @@ dependencies: "@types/yargs-parser" "*" +"@wagmi/chains@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.2.0.tgz#d59eaa70ec51a5fdcd113975926992acfb17ab12" + integrity sha512-dmDRipsE54JfyudOBkuhEexqQWcrZqxn/qiujG8SBzMh/az/AH5xlJSA+j1CPWTx9+QofSMF3B7A4gb6XRmSaQ== + +abitype@0.8.11: + version "0.8.11" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.11.tgz#66e1cf2cbf46f48d0e57132d7c1c392447536cc1" + integrity sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A== + acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" @@ -2046,6 +2100,11 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isomorphic-ws@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== + istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" @@ -3179,6 +3238,21 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" +viem@^1.2.13: + version "1.2.13" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.2.13.tgz#03d20066a12e32d2205d8a32ec4c5a00ed1e1f00" + integrity sha512-BhBbL/JieVZvM1hiSvzoQCsj96j7HoOx/apvl4YYIR/0m/tue4JK/a03P1GKPJ9S316HEB/bT6AIJMlXS/SyiQ== + dependencies: + "@adraffy/ens-normalize" "1.9.0" + "@noble/curves" "1.0.0" + "@noble/hashes" "1.3.0" + "@scure/bip32" "1.3.0" + "@scure/bip39" "1.2.0" + "@wagmi/chains" "1.2.0" + abitype "0.8.11" + isomorphic-ws "5.0.0" + ws "8.12.0" + walker@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" @@ -3244,6 +3318,11 @@ ws@7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"