`degit` is a tool that enables cloning only the directory structure from a GitHub repository, without retrieving the entire repository.
-
+
Alternatively, use `git clone` to download the entire repository.
Clone the MetaMask SDK examples repository and navigate into the `partners/dynamic` directory:
diff --git a/metamask-connect/evm/quickstart/rainbowkit.md b/metamask-connect/evm/quickstart/rainbowkit.md
index 80ae044d236..fae12fd4e0b 100644
--- a/metamask-connect/evm/quickstart/rainbowkit.md
+++ b/metamask-connect/evm/quickstart/rainbowkit.md
@@ -9,7 +9,7 @@ keywords: [connect, MetaMask, JavaScript, RainbowKit, SDK, dapp, Wallet SDK, rai
:::info Heads up
Looks like you've landed on a guide that still uses the MetaMask legacy SDK (`@metamask/sdk`).
The MetaMask Connect integration for this library is on its way — once ready, it will be linked
-from the sidebar navigation. In the meantime, this guide is still perfectly valid if you're using
+from the sidebar navigation. In the meantime, this guide is still valid if you're using
MetaMask SDK.
:::
diff --git a/metamask-connect/evm/quickstart/web3auth.md b/metamask-connect/evm/quickstart/web3auth.md
index 5c0750032d7..8ebcf8b2538 100644
--- a/metamask-connect/evm/quickstart/web3auth.md
+++ b/metamask-connect/evm/quickstart/web3auth.md
@@ -9,7 +9,7 @@ keywords: [connect, MetaMask, Embedded Wallets, SDK, dapp, Wallet SDK, web3auth,
:::info Heads up
Looks like you've landed on a guide that still uses the MetaMask legacy SDK (`@metamask/sdk`).
The MetaMask Connect integration for this library is on its way — once ready, it will be linked
-from the sidebar navigation. In the meantime, this guide is still perfectly valid if you're using
+from the sidebar navigation. In the meantime, this guide is still valid if you're using
MetaMask SDK.
:::
@@ -52,7 +52,7 @@ Use MetaMask SDK features directly within Embedded Wallets SDK.
`degit` is a tool that enables cloning only the directory structure from a GitHub repository, without retrieving the entire repository.
-
+
Alternatively, use `git clone` to download the entire repository.
Clone the MetaMask SDK examples repository and navigate into the `partners/web3auth` directory:
diff --git a/metamask-connect/solana/quickstart/dynamic.md b/metamask-connect/solana/quickstart/dynamic.md
index c42866d0f08..70c22ac334d 100644
--- a/metamask-connect/solana/quickstart/dynamic.md
+++ b/metamask-connect/solana/quickstart/dynamic.md
@@ -9,7 +9,7 @@ keywords: [connect, MetaMask, Dynamic, SDK, dapp, Wallet SDK, dynamic xyz, solan
:::info Heads up
Looks like you've landed on a guide that still uses the MetaMask legacy SDK (`@metamask/sdk`).
The MetaMask Connect integration for this library is on its way — once ready, it will be linked
-from the sidebar navigation. In the meantime, this guide is still perfectly valid if you're using
+from the sidebar navigation. In the meantime, this guide is still valid if you're using
MetaMask SDK.
:::
diff --git a/package-lock.json b/package-lock.json
index d37bf961149..df4ed2e82e8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,10 +24,10 @@
"@lottiefiles/react-lottie-player": "^3.6.0",
"@mdx-js/react": "^3.1.0",
"@mermaid-js/layout-elk": "^0.1.9",
+ "@metamask/connect-evm": "^0.9.0",
"@metamask/design-tokens": "^7.1.0",
"@metamask/eth-sig-util": "^7.0.3",
"@metamask/profile-sync-controller": "^16.0.0",
- "@metamask/sdk": "^0.33.1",
"@rjsf/core": "^5.24.12",
"@rjsf/utils": "^5.24.13",
"@rjsf/validator-ajv8": "^5.24.12",
@@ -441,10 +441,12 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.27.1",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5",
"js-tokens": "^4.0.0",
"picocolors": "^1.1.1"
},
@@ -497,13 +499,13 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
- "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.28.3",
- "@babel/types": "^7.28.2",
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
"@jridgewell/gen-mapping": "^0.3.12",
"@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
@@ -617,23 +619,6 @@
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@babel/helper-globals": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
@@ -756,7 +741,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.27.1",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -795,12 +782,12 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz",
- "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==",
+ "version": "7.29.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
+ "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.28.4"
+ "@babel/types": "^7.29.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -2279,29 +2266,31 @@
}
},
"node_modules/@babel/template": {
- "version": "7.27.2",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/parser": "^7.27.2",
- "@babel/types": "^7.27.1"
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz",
- "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.3",
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
"@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.4",
- "@babel/template": "^7.27.2",
- "@babel/types": "^7.28.4",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
"debug": "^4.3.1"
},
"engines": {
@@ -2329,13 +2318,13 @@
}
},
"node_modules/@babel/types": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz",
- "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1"
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -7210,6 +7199,27 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/@metamask/analytics": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@metamask/analytics/-/analytics-0.4.0.tgz",
+ "integrity": "sha512-QKjVu8RsbjeSfXXhRLvOVdWJ0jUrVdXFwa4I1VyoI7LapWS6T0apTSjM8nLJKN1NADbpSYm7ctyuTyaHlG/0yA==",
+ "license": "MIT",
+ "dependencies": {
+ "openapi-fetch": "^0.13.5"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
+ "node_modules/@metamask/api-specs": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@metamask/api-specs/-/api-specs-0.14.0.tgz",
+ "integrity": "sha512-pL3FADJcw/CA5Nsq6k4ePYxrNyscqVJh0XYXStvGPkw9yPdgIRAc+DuMuMMpaahYpKsmWWHpTAuvwVo9DuFXyg==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.20 || ^20.17 || >=22"
+ }
+ },
"node_modules/@metamask/approval-controller": {
"version": "7.1.3",
"license": "MIT",
@@ -7224,18 +7234,6 @@
"node": "^18.18 || >=20"
}
},
- "node_modules/@metamask/approval-controller/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/approval-controller/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -7349,21 +7347,283 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/@metamask/chain-agnostic-permission": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@metamask/chain-agnostic-permission/-/chain-agnostic-permission-1.4.0.tgz",
+ "integrity": "sha512-807Y6JxqeY3tckSRDse96RmHV6atDsSPLD/x9KIync8ccFjOwSZlv0n4NA5Bsi0znjOogU0jEe5hPNIDTFzFRg==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/api-specs": "^0.14.0",
+ "@metamask/controller-utils": "^11.17.0",
+ "@metamask/permission-controller": "^12.2.0",
+ "@metamask/rpc-errors": "^7.0.2",
+ "@metamask/utils": "^11.9.0",
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": "^18.18 || >=20"
+ }
+ },
+ "node_modules/@metamask/chain-agnostic-permission/node_modules/@metamask/approval-controller": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@metamask/approval-controller/-/approval-controller-9.0.0.tgz",
+ "integrity": "sha512-krm31+CpfTQolTcN2bwSrzLBWf334B0E0GS/VRndHbJMXidgXhc9zcdOzNeTg5onBOma6nqarJyV3ziRvQi1pg==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/base-controller": "^9.0.0",
+ "@metamask/messenger": "^0.3.0",
+ "@metamask/rpc-errors": "^7.0.2",
+ "@metamask/utils": "^11.9.0",
+ "nanoid": "^3.3.8"
+ },
+ "engines": {
+ "node": "^18.18 || >=20"
+ }
+ },
+ "node_modules/@metamask/chain-agnostic-permission/node_modules/@metamask/base-controller": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@metamask/base-controller/-/base-controller-9.0.0.tgz",
+ "integrity": "sha512-uwGBb3bIFvfWPEBrRk+avV05eRLZKG0ouskKCiwfdRlFse4njpGGLLD0pO42iOLF7N3yUQ28+lO8reIrXwFP8A==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/messenger": "^0.3.0",
+ "@metamask/utils": "^11.8.1",
+ "immer": "^9.0.6"
+ },
+ "engines": {
+ "node": "^18.18 || >=20"
+ }
+ },
+ "node_modules/@metamask/chain-agnostic-permission/node_modules/@metamask/permission-controller": {
+ "version": "12.2.1",
+ "resolved": "https://registry.npmjs.org/@metamask/permission-controller/-/permission-controller-12.2.1.tgz",
+ "integrity": "sha512-i2nPMGDm5DNs6dwl9YReVn1Z0igNmgQcHIrM7cVyKwGCOZducfT4yGZsc1UxY/CjxSIeZASU4/SqfgTs8pBCvw==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/approval-controller": "^9.0.0",
+ "@metamask/base-controller": "^9.0.0",
+ "@metamask/controller-utils": "^11.19.0",
+ "@metamask/json-rpc-engine": "^10.2.3",
+ "@metamask/messenger": "^0.3.0",
+ "@metamask/rpc-errors": "^7.0.2",
+ "@metamask/utils": "^11.9.0",
+ "@types/deep-freeze-strict": "^1.1.0",
+ "deep-freeze-strict": "^1.1.1",
+ "immer": "^9.0.6",
+ "nanoid": "^3.3.8"
+ },
+ "engines": {
+ "node": "^18.18 || >=20"
+ }
+ },
+ "node_modules/@metamask/chain-agnostic-permission/node_modules/@metamask/utils": {
+ "version": "11.10.0",
+ "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.10.0.tgz",
+ "integrity": "sha512-+bWmTOANx1MbBW6RFM8Se4ZoigFYGXiuIrkhjj4XnG5Aez8uWaTSZ76yn9srKKClv+PoEVoAuVtcUOogFEMUNA==",
+ "license": "ISC",
+ "dependencies": {
+ "@ethereumjs/tx": "^4.2.0",
+ "@metamask/superstruct": "^3.1.0",
+ "@noble/hashes": "^1.3.1",
+ "@scure/base": "^1.1.3",
+ "@types/debug": "^4.1.7",
+ "@types/lodash": "^4.17.20",
+ "debug": "^4.3.4",
+ "lodash": "^4.17.21",
+ "pony-cause": "^2.1.10",
+ "semver": "^7.5.4",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": "^18.18 || ^20.14 || >=22"
+ }
+ },
+ "node_modules/@metamask/chain-agnostic-permission/node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/@metamask/connect-evm": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@metamask/connect-evm/-/connect-evm-0.9.0.tgz",
+ "integrity": "sha512-Ts2WZcCRYTjS8T2HMQiSOwtuqJABApV5DEB6PadwRi94msK95tQtaMOdvq8wo8uW/MrqGyYJWp4li54Mqn/i5g==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/analytics": "^0.4.0",
+ "@metamask/chain-agnostic-permission": "^1.2.2",
+ "@metamask/connect-multichain": "^0.11.0",
+ "@metamask/utils": "^11.8.1"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
+ "node_modules/@metamask/connect-evm/node_modules/@metamask/connect-multichain": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@metamask/connect-multichain/-/connect-multichain-0.11.0.tgz",
+ "integrity": "sha512-08l/B/Mc27pcYN7jq8+yraliVZdqftkLdv/UomB9lvvQx9Z6+l8igVWVMWziHcyBWa+v7+ExJaWtF+kTk3Y5yA==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/analytics": "^0.4.0",
+ "@metamask/mobile-wallet-protocol-core": "^0.4.0",
+ "@metamask/mobile-wallet-protocol-dapp-client": "^0.3.0",
+ "@metamask/multichain-api-client": "^0.10.1",
+ "@metamask/multichain-ui": "^0.4.0",
+ "@metamask/onboarding": "^1.0.1",
+ "@metamask/rpc-errors": "^7.0.3",
+ "@metamask/utils": "^11.8.1",
+ "@paulmillr/qr": "^0.2.1",
+ "bowser": "^2.11.0",
+ "buffer": "^6.0.3",
+ "cross-fetch": "^4.1.0",
+ "eciesjs": "0.4.17",
+ "eventemitter3": "^5.0.1",
+ "pako": "^2.1.0",
+ "uuid": "^11.1.0",
+ "ws": "^8.18.3"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@react-native-async-storage/async-storage": "^1.23"
+ },
+ "peerDependenciesMeta": {
+ "@react-native-async-storage/async-storage": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@metamask/connect-evm/node_modules/@metamask/utils": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.11.0.tgz",
+ "integrity": "sha512-0nF2CWjWQr/m0Y2t2lJnBTU1/CZPPTvKvcESLplyWe/tyeb8zFOi/FeneDmaFnML6LYRIGZU6f+xR0jKAIUZfw==",
+ "license": "ISC",
+ "dependencies": {
+ "@ethereumjs/tx": "^4.2.0",
+ "@metamask/superstruct": "^3.1.0",
+ "@noble/hashes": "^1.3.1",
+ "@scure/base": "^1.1.3",
+ "@types/debug": "^4.1.7",
+ "@types/lodash": "^4.17.20",
+ "debug": "^4.3.4",
+ "lodash": "^4.17.21",
+ "pony-cause": "^2.1.10",
+ "semver": "^7.5.4",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": "^18.18 || ^20.14 || >=22"
+ }
+ },
+ "node_modules/@metamask/connect-evm/node_modules/@metamask/utils/node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/@metamask/connect-evm/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/@metamask/connect-evm/node_modules/eventemitter3": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
+ "license": "MIT"
+ },
+ "node_modules/@metamask/connect-evm/node_modules/pako": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
+ "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
+ "license": "(MIT AND Zlib)"
+ },
+ "node_modules/@metamask/connect-evm/node_modules/uuid": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+ "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
+ "node_modules/@metamask/connect-evm/node_modules/ws": {
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
+ "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@metamask/controller-utils": {
- "version": "11.9.0",
+ "version": "11.19.0",
+ "resolved": "https://registry.npmjs.org/@metamask/controller-utils/-/controller-utils-11.19.0.tgz",
+ "integrity": "sha512-obPzdJhxCHcHf3oOq5vDh6w9GochsjIa0FLoTNY3BhGNxJOSmwL8OkQGCp+Hf1nZIX/VBeiiPk3JL1PUDzqCsg==",
"license": "MIT",
"dependencies": {
- "@ethereumjs/util": "^9.1.0",
"@metamask/eth-query": "^4.0.0",
"@metamask/ethjs-unit": "^0.3.0",
- "@metamask/utils": "^11.2.0",
+ "@metamask/utils": "^11.9.0",
"@spruceid/siwe-parser": "2.1.0",
"@types/bn.js": "^5.1.5",
"bignumber.js": "^9.1.2",
"bn.js": "^5.2.1",
"cockatiel": "^3.1.2",
"eth-ens-namehash": "^2.0.8",
- "fast-deep-equal": "^3.1.3"
+ "fast-deep-equal": "^3.1.3",
+ "lodash": "^4.17.21"
},
"engines": {
"node": "^18.18 || >=20"
@@ -7372,29 +7632,10 @@
"@babel/runtime": "^7.0.0"
}
},
- "node_modules/@metamask/controller-utils/node_modules/@ethereumjs/rlp": {
- "version": "5.0.2",
- "license": "MPL-2.0",
- "bin": {
- "rlp": "bin/rlp.cjs"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@metamask/controller-utils/node_modules/@ethereumjs/util": {
- "version": "9.1.0",
- "license": "MPL-2.0",
- "dependencies": {
- "@ethereumjs/rlp": "^5.0.2",
- "ethereum-cryptography": "^2.2.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@metamask/controller-utils/node_modules/@metamask/utils": {
- "version": "11.4.0",
+ "version": "11.10.0",
+ "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.10.0.tgz",
+ "integrity": "sha512-+bWmTOANx1MbBW6RFM8Se4ZoigFYGXiuIrkhjj4XnG5Aez8uWaTSZ76yn9srKKClv+PoEVoAuVtcUOogFEMUNA==",
"license": "ISC",
"dependencies": {
"@ethereumjs/tx": "^4.2.0",
@@ -7402,7 +7643,9 @@
"@noble/hashes": "^1.3.1",
"@scure/base": "^1.1.3",
"@types/debug": "^4.1.7",
+ "@types/lodash": "^4.17.20",
"debug": "^4.3.4",
+ "lodash": "^4.17.21",
"pony-cause": "^2.1.10",
"semver": "^7.5.4",
"uuid": "^9.0.1"
@@ -7413,6 +7656,8 @@
},
"node_modules/@metamask/controller-utils/node_modules/uuid": {
"version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
@@ -7612,18 +7857,6 @@
"node": "^18.18 || ^20.14 || >=22"
}
},
- "node_modules/@metamask/eth-json-rpc-infura/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/eth-json-rpc-infura/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -7706,18 +7939,6 @@
"node": "^18.18 || ^20.14 || >=22"
}
},
- "node_modules/@metamask/eth-json-rpc-middleware/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/eth-json-rpc-middleware/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -7764,18 +7985,6 @@
"node": "^18.18 || >=20"
}
},
- "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -8145,30 +8354,26 @@
}
},
"node_modules/@metamask/json-rpc-engine": {
- "version": "10.0.3",
+ "version": "10.2.3",
+ "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-10.2.3.tgz",
+ "integrity": "sha512-NkqDoU4MJ8lHaEAf8rYfzesCNcldHPQeMJRFFVr09zMEgsZyL+oWrM4gGO2QAfsoLVp8U0jANxyHp6nYxJ6L8w==",
"license": "ISC",
"dependencies": {
"@metamask/rpc-errors": "^7.0.2",
"@metamask/safe-event-emitter": "^3.0.0",
- "@metamask/utils": "^11.1.0"
+ "@metamask/utils": "^11.9.0",
+ "@types/deep-freeze-strict": "^1.1.0",
+ "deep-freeze-strict": "^1.1.1",
+ "klona": "^2.0.6"
},
"engines": {
"node": "^18.18 || >=20"
}
},
- "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": {
- "version": "11.4.0",
+ "version": "11.10.0",
+ "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.10.0.tgz",
+ "integrity": "sha512-+bWmTOANx1MbBW6RFM8Se4ZoigFYGXiuIrkhjj4XnG5Aez8uWaTSZ76yn9srKKClv+PoEVoAuVtcUOogFEMUNA==",
"license": "ISC",
"dependencies": {
"@ethereumjs/tx": "^4.2.0",
@@ -8176,7 +8381,9 @@
"@noble/hashes": "^1.3.1",
"@scure/base": "^1.1.3",
"@types/debug": "^4.1.7",
+ "@types/lodash": "^4.17.20",
"debug": "^4.3.4",
+ "lodash": "^4.17.21",
"pony-cause": "^2.1.10",
"semver": "^7.5.4",
"uuid": "^9.0.1"
@@ -8523,18 +8730,6 @@
"webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0"
}
},
- "node_modules/@metamask/keyring-internal-snap-client/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/keyring-internal-snap-client/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -8691,6 +8886,98 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/@metamask/messenger": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@metamask/messenger/-/messenger-0.3.0.tgz",
+ "integrity": "sha512-Wa9ctLwtD2B3ut9bJW0OLhoM4X2J7y7kuiWZbl+s8cuUBPmTS5IoUUUpvCDWOkucUsJ+6ZiqWMl2d5oSqLN28g==",
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18 || >=20"
+ }
+ },
+ "node_modules/@metamask/mobile-wallet-protocol-core": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@metamask/mobile-wallet-protocol-core/-/mobile-wallet-protocol-core-0.4.0.tgz",
+ "integrity": "sha512-rB1wMogvSUsFaxyH/eVUCczIkTxVaPPETlD/wgm+gw7EbWP0LlZPY7Bh+DICSfUCJ0zqnoFuwr77WNJvZ6ZiWw==",
+ "license": "MIT",
+ "dependencies": {
+ "async-mutex": "^0.5.0",
+ "centrifuge": "^5.3.5",
+ "eventemitter3": "^5.0.1",
+ "uuid": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@metamask/mobile-wallet-protocol-core/node_modules/eventemitter3": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
+ "license": "MIT"
+ },
+ "node_modules/@metamask/mobile-wallet-protocol-core/node_modules/uuid": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+ "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
+ "node_modules/@metamask/mobile-wallet-protocol-dapp-client": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@metamask/mobile-wallet-protocol-dapp-client/-/mobile-wallet-protocol-dapp-client-0.3.0.tgz",
+ "integrity": "sha512-rXStrvIa57a8OaeM+3HeR6Z9ETHOvmQi/9s6CLplDwH2hn2MWjI6WW3EUrxq2KGmGuhbO5Oo21ANnD23QKfduw==",
+ "license": "MIT",
+ "dependencies": {
+ "@metamask/mobile-wallet-protocol-core": "^0.4.0",
+ "@metamask/utils": "^9.1.0",
+ "uuid": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@metamask/mobile-wallet-protocol-dapp-client/node_modules/uuid": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+ "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
+ "node_modules/@metamask/multichain-api-client": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@metamask/multichain-api-client/-/multichain-api-client-0.10.1.tgz",
+ "integrity": "sha512-LsqO2SiDcTgOuXyVYEB0zgBaVNhryhP2tYI3L7tLa7PoeDqMkNIreFhDeu8jM5tPWkCimQvMwCkG3DF4P5dD3A==",
+ "license": "ISC",
+ "engines": {
+ "node": "^18.20 || ^20.17 || >=22"
+ }
+ },
+ "node_modules/@metamask/multichain-ui": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@metamask/multichain-ui/-/multichain-ui-0.4.0.tgz",
+ "integrity": "sha512-CaUyPssiJ5bXP5YXBLadAbRwJ+c//cpzYCFS8P8Nq53Qa4lUVhViAzqvM4667SS3YClGNjNY0tWGyGbXkCmWHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@paulmillr/qr": "^0.2.1",
+ "qr-code-styling": "^1.9.2"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
"node_modules/@metamask/network-controller": {
"version": "23.5.1",
"license": "MIT",
@@ -8720,18 +9007,6 @@
"node": "^18.18 || >=20"
}
},
- "node_modules/@metamask/network-controller/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/network-controller/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -8801,6 +9076,8 @@
},
"node_modules/@metamask/onboarding": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@metamask/onboarding/-/onboarding-1.0.1.tgz",
+ "integrity": "sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==",
"license": "MIT",
"dependencies": {
"bowser": "^2.9.0"
@@ -8827,17 +9104,6 @@
"@metamask/approval-controller": "^7.0.0"
}
},
- "node_modules/@metamask/permission-controller/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/permission-controller/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -8976,17 +9242,6 @@
"webextension-polyfill": "^0.10.0 || ^0.11.0 || ^0.12.0"
}
},
- "node_modules/@metamask/providers/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/providers/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -9017,197 +9272,44 @@
}
},
"node_modules/@metamask/rpc-errors": {
- "version": "6.3.1",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-7.0.3.tgz",
+ "integrity": "sha512-nrEaeBawm8yFU7hetJKok/CUs0tQsWtTqp3OLbFhPUMXYqU7uI5LAV5vi9o7rTjFkUyof7Nzbw5bea5+1ou+dg==",
"license": "MIT",
"dependencies": {
- "@metamask/utils": "^9.0.0",
+ "@metamask/utils": "^11.4.2",
"fast-safe-stringify": "^2.0.6"
},
"engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/@metamask/safe-event-emitter": {
- "version": "3.1.1",
- "license": "ISC",
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@metamask/scure-bip39": {
- "version": "2.1.1",
- "license": "MIT",
- "dependencies": {
- "@noble/hashes": "~1.3.2",
- "@scure/base": "~1.1.3"
- },
- "engines": {
- "node": "^16.20 || ^18.16 || >=20"
- }
- },
- "node_modules/@metamask/scure-bip39/node_modules/@noble/hashes": {
- "version": "1.3.3",
- "license": "MIT",
- "engines": {
- "node": ">= 16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/@metamask/sdk": {
- "version": "0.33.1",
- "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.33.1.tgz",
- "integrity": "sha512-1mcOQVGr9rSrVcbKPNVzbZ8eCl1K0FATsYH3WJ/MH4WcZDWGECWrXJPNMZoEAkLxWiMe8jOQBumg2pmcDa9zpQ==",
- "dependencies": {
- "@babel/runtime": "^7.26.0",
- "@metamask/onboarding": "^1.0.1",
- "@metamask/providers": "16.1.0",
- "@metamask/sdk-analytics": "0.0.5",
- "@metamask/sdk-communication-layer": "0.33.1",
- "@metamask/sdk-install-modal-web": "0.32.1",
- "@paulmillr/qr": "^0.2.1",
- "bowser": "^2.9.0",
- "cross-fetch": "^4.0.0",
- "debug": "4.3.4",
- "eciesjs": "^0.4.11",
- "eth-rpc-errors": "^4.0.3",
- "eventemitter2": "^6.4.9",
- "obj-multiplex": "^1.0.0",
- "pump": "^3.0.0",
- "readable-stream": "^3.6.2",
- "socket.io-client": "^4.5.1",
- "tslib": "^2.6.0",
- "util": "^0.12.4",
- "uuid": "^8.3.2"
- }
- },
- "node_modules/@metamask/sdk-analytics": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@metamask/sdk-analytics/-/sdk-analytics-0.0.5.tgz",
- "integrity": "sha512-fDah+keS1RjSUlC8GmYXvx6Y26s3Ax1U9hGpWb6GSY5SAdmTSIqp2CvYy6yW0WgLhnYhW+6xERuD0eVqV63QIQ==",
- "license": "MIT",
- "dependencies": {
- "openapi-fetch": "^0.13.5"
- }
- },
- "node_modules/@metamask/sdk-communication-layer": {
- "version": "0.33.1",
- "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.33.1.tgz",
- "integrity": "sha512-0bI9hkysxcfbZ/lk0T2+aKVo1j0ynQVTuB3sJ5ssPWlz+Z3VwveCkP1O7EVu1tsVVCb0YV5WxK9zmURu2FIiaA==",
- "dependencies": {
- "@metamask/sdk-analytics": "0.0.5",
- "bufferutil": "^4.0.8",
- "date-fns": "^2.29.3",
- "debug": "4.3.4",
- "utf-8-validate": "^5.0.2",
- "uuid": "^8.3.2"
- },
- "peerDependencies": {
- "cross-fetch": "^4.0.0",
- "eciesjs": "*",
- "eventemitter2": "^6.4.9",
- "readable-stream": "^3.6.2",
- "socket.io-client": "^4.5.1"
- }
- },
- "node_modules/@metamask/sdk-communication-layer/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@metamask/sdk-communication-layer/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "license": "MIT"
- },
- "node_modules/@metamask/sdk-install-modal-web": {
- "version": "0.32.1",
- "resolved": "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.32.1.tgz",
- "integrity": "sha512-MGmAo6qSjf1tuYXhCu2EZLftq+DSt5Z7fsIKr2P+lDgdTPWgLfZB1tJKzNcwKKOdf6q9Qmmxn7lJuI/gq5LrKw==",
- "dependencies": {
- "@paulmillr/qr": "^0.2.1"
- }
- },
- "node_modules/@metamask/sdk/node_modules/@metamask/json-rpc-engine": {
- "version": "8.0.2",
- "license": "ISC",
- "dependencies": {
- "@metamask/rpc-errors": "^6.2.1",
- "@metamask/safe-event-emitter": "^3.0.0",
- "@metamask/utils": "^8.3.0"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/@metamask/sdk/node_modules/@metamask/json-rpc-middleware-stream": {
- "version": "7.0.2",
- "license": "ISC",
- "dependencies": {
- "@metamask/json-rpc-engine": "^8.0.2",
- "@metamask/safe-event-emitter": "^3.0.0",
- "@metamask/utils": "^8.3.0",
- "readable-stream": "^3.6.2"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/@metamask/sdk/node_modules/@metamask/providers": {
- "version": "16.1.0",
- "license": "MIT",
- "dependencies": {
- "@metamask/json-rpc-engine": "^8.0.1",
- "@metamask/json-rpc-middleware-stream": "^7.0.1",
- "@metamask/object-multiplex": "^2.0.0",
- "@metamask/rpc-errors": "^6.2.1",
- "@metamask/safe-event-emitter": "^3.1.1",
- "@metamask/utils": "^8.3.0",
- "detect-browser": "^5.2.0",
- "extension-port-stream": "^3.0.0",
- "fast-deep-equal": "^3.1.3",
- "is-stream": "^2.0.0",
- "readable-stream": "^3.6.2",
- "webextension-polyfill": "^0.10.0"
- },
- "engines": {
- "node": "^18.18 || >=20"
+ "node": "^18.20 || ^20.17 || >=22"
}
},
- "node_modules/@metamask/sdk/node_modules/@metamask/utils": {
- "version": "8.5.0",
+ "node_modules/@metamask/rpc-errors/node_modules/@metamask/utils": {
+ "version": "11.10.0",
+ "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.10.0.tgz",
+ "integrity": "sha512-+bWmTOANx1MbBW6RFM8Se4ZoigFYGXiuIrkhjj4XnG5Aez8uWaTSZ76yn9srKKClv+PoEVoAuVtcUOogFEMUNA==",
"license": "ISC",
"dependencies": {
"@ethereumjs/tx": "^4.2.0",
- "@metamask/superstruct": "^3.0.0",
+ "@metamask/superstruct": "^3.1.0",
"@noble/hashes": "^1.3.1",
"@scure/base": "^1.1.3",
"@types/debug": "^4.1.7",
+ "@types/lodash": "^4.17.20",
"debug": "^4.3.4",
+ "lodash": "^4.17.21",
"pony-cause": "^2.1.10",
"semver": "^7.5.4",
"uuid": "^9.0.1"
},
"engines": {
- "node": ">=16.0.0"
+ "node": "^18.18 || ^20.14 || >=22"
}
},
- "node_modules/@metamask/sdk/node_modules/@metamask/utils/node_modules/uuid": {
+ "node_modules/@metamask/rpc-errors/node_modules/uuid": {
"version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
@@ -9217,43 +9319,33 @@
"uuid": "dist/bin/uuid"
}
},
- "node_modules/@metamask/sdk/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
+ "node_modules/@metamask/safe-event-emitter": {
+ "version": "3.1.1",
+ "license": "ISC",
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=12.0.0"
}
},
- "node_modules/@metamask/sdk/node_modules/extension-port-stream": {
- "version": "3.0.0",
- "license": "ISC",
+ "node_modules/@metamask/scure-bip39": {
+ "version": "2.1.1",
+ "license": "MIT",
"dependencies": {
- "readable-stream": "^3.6.2 || ^4.4.2",
- "webextension-polyfill": ">=0.10.0 <1.0"
+ "@noble/hashes": "~1.3.2",
+ "@scure/base": "~1.1.3"
},
"engines": {
- "node": ">=12.0.0"
+ "node": "^16.20 || ^18.16 || >=20"
}
},
- "node_modules/@metamask/sdk/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "license": "MIT"
- },
- "node_modules/@metamask/sdk/node_modules/webextension-polyfill": {
- "version": "0.10.0",
- "license": "MPL-2.0"
+ "node_modules/@metamask/scure-bip39/node_modules/@noble/hashes": {
+ "version": "1.3.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
},
"node_modules/@metamask/slip44": {
"version": "4.2.0",
@@ -9308,18 +9400,6 @@
}
}
},
- "node_modules/@metamask/snaps-controllers/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/snaps-controllers/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -9412,18 +9492,6 @@
"node": "^18.16 || >=20"
}
},
- "node_modules/@metamask/snaps-rpc-methods/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/snaps-rpc-methods/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -9469,17 +9537,6 @@
"node": "^18.16 || >=20"
}
},
- "node_modules/@metamask/snaps-sdk/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/snaps-sdk/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -9542,17 +9599,6 @@
"node": "^18.16 || >=20"
}
},
- "node_modules/@metamask/snaps-utils/node_modules/@metamask/rpc-errors": {
- "version": "7.0.2",
- "license": "MIT",
- "dependencies": {
- "@metamask/utils": "^11.0.1",
- "fast-safe-stringify": "^2.0.6"
- },
- "engines": {
- "node": "^18.20 || ^20.17 || >=22"
- }
- },
"node_modules/@metamask/snaps-utils/node_modules/@metamask/utils": {
"version": "11.4.0",
"license": "ISC",
@@ -10104,6 +10150,70 @@
"version": "1.0.0-next.28",
"license": "MIT"
},
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/@react-native/assets-registry": {
"version": "0.81.4",
"resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.81.4.tgz",
@@ -10167,24 +10277,6 @@
}
}
},
- "node_modules/@react-native/community-cli-plugin/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@react-native/debugger-frontend": {
"version": "0.81.4",
"resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.81.4.tgz",
@@ -10218,24 +10310,6 @@
"node": ">= 20.19.4"
}
},
- "node_modules/@react-native/dev-middleware/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@react-native/dev-middleware/node_modules/open": {
"version": "7.4.2",
"resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
@@ -10676,12 +10750,6 @@
"micromark-util-symbol": "^1.0.1"
}
},
- "node_modules/@socket.io/component-emitter": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
- "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
- "license": "MIT"
- },
"node_modules/@spruceid/siwe-parser": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -11408,6 +11476,12 @@
"integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==",
"license": "MIT"
},
+ "node_modules/@types/lodash": {
+ "version": "4.17.24",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz",
+ "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==",
+ "license": "MIT"
+ },
"node_modules/@types/mdast": {
"version": "4.0.4",
"license": "MIT",
@@ -12537,7 +12611,6 @@
"node_modules/async-mutex": {
"version": "0.5.0",
"license": "MIT",
- "peer": true,
"dependencies": {
"tslib": "^2.4.0"
}
@@ -13096,7 +13169,9 @@
"license": "ISC"
},
"node_modules/bowser": {
- "version": "2.11.0",
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
+ "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==",
"license": "MIT"
},
"node_modules/boxen": {
@@ -13368,6 +13443,8 @@
"version": "4.0.8",
"hasInstallScript": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
"node-gyp-build": "^4.3.0"
},
@@ -13652,6 +13729,16 @@
"react": ">=17.0.0"
}
},
+ "node_modules/centrifuge": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/centrifuge/-/centrifuge-5.5.3.tgz",
+ "integrity": "sha512-LPkWnsAxu7JaE5S738XiREzJIko3Pf/qnWb3kd0q/OR0OJONUbSdnZ5pKsEI2yFi/odQ89SYsHPhLuEeZFhp/g==",
+ "license": "MIT",
+ "dependencies": {
+ "events": "^3.3.0",
+ "protobufjs": "^7.2.5"
+ }
+ },
"node_modules/chalk": {
"version": "4.1.2",
"license": "MIT",
@@ -16210,22 +16297,6 @@
"inherits": "~2.0.3"
}
},
- "node_modules/date-fns": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
- "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.21.0"
- },
- "engines": {
- "node": ">=0.11"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
- }
- },
"node_modules/dayjs": {
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz",
@@ -16237,7 +16308,9 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.3.7",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -16769,14 +16842,14 @@
}
},
"node_modules/eciesjs": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.15.tgz",
- "integrity": "sha512-r6kEJXDKecVOCj2nLMuXK/FCPeurW33+3JRpfXVbjLja3XUYFfD9I/JBreH6sUyzcm3G/YQboBjMla6poKeSdA==",
+ "version": "0.4.17",
+ "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.17.tgz",
+ "integrity": "sha512-TOOURki4G7sD1wDCjj7NfLaXZZ49dFOeEb5y39IXpb8p0hRzVvfvzZHOi5JcT+PpyAbi/Y+lxPb8eTag2WYH8w==",
"license": "MIT",
"dependencies": {
- "@ecies/ciphers": "^0.2.3",
+ "@ecies/ciphers": "^0.2.5",
"@noble/ciphers": "^1.3.0",
- "@noble/curves": "^1.9.1",
+ "@noble/curves": "^1.9.7",
"@noble/hashes": "^1.8.0"
},
"engines": {
@@ -16786,13 +16859,13 @@
}
},
"node_modules/eciesjs/node_modules/@ecies/ciphers": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.4.tgz",
- "integrity": "sha512-t+iX+Wf5nRKyNzk8dviW3Ikb/280+aEJAnw9YXvCp2tYGPSkMki+NRY+8aNLmVFv3eNtMdvViPNOPxS8SZNP+w==",
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.6.tgz",
+ "integrity": "sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==",
"license": "MIT",
"engines": {
"bun": ">=1",
- "deno": ">=2",
+ "deno": ">=2.7.10",
"node": ">=16"
},
"peerDependencies": {
@@ -16913,28 +16986,6 @@
"once": "^1.4.0"
}
},
- "node_modules/engine.io-client": {
- "version": "6.6.3",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz",
- "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==",
- "license": "MIT",
- "dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.1",
- "engine.io-parser": "~5.2.1",
- "ws": "~8.17.1",
- "xmlhttprequest-ssl": "~2.1.1"
- }
- },
- "node_modules/engine.io-parser": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
- "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/enhanced-resolve": {
"version": "5.17.1",
"license": "MIT",
@@ -17681,13 +17732,6 @@
"js-sha3": "^0.5.7"
}
},
- "node_modules/eth-rpc-errors": {
- "version": "4.0.3",
- "license": "MIT",
- "dependencies": {
- "fast-safe-stringify": "^2.0.6"
- }
- },
"node_modules/ethereum-cryptography": {
"version": "2.2.1",
"license": "MIT",
@@ -17861,12 +17905,6 @@
"node": ">=6"
}
},
- "node_modules/eventemitter2": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
- "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
- "license": "MIT"
- },
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -21853,6 +21891,12 @@
"url": "https://tidelift.com/funding/github/npm/loglevel"
}
},
+ "node_modules/long": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
+ "license": "Apache-2.0"
+ },
"node_modules/longest-streak": {
"version": "3.1.0",
"license": "MIT",
@@ -22958,24 +23002,6 @@
"node": ">=20.19.4"
}
},
- "node_modules/metro-file-map/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/metro-minify-terser": {
"version": "0.83.2",
"resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.2.tgz",
@@ -23130,24 +23156,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/metro/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/metro/node_modules/hermes-estree": {
"version": "0.32.0",
"resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz",
@@ -25391,6 +25399,7 @@
"node_modules/node-gyp-build": {
"version": "4.8.2",
"license": "MIT",
+ "peer": true,
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
@@ -25661,43 +25670,6 @@
"node": ">=20.19.4"
}
},
- "node_modules/obj-multiplex": {
- "version": "1.0.0",
- "license": "ISC",
- "dependencies": {
- "end-of-stream": "^1.4.0",
- "once": "^1.4.0",
- "readable-stream": "^2.3.3"
- }
- },
- "node_modules/obj-multiplex/node_modules/isarray": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/obj-multiplex/node_modules/readable-stream": {
- "version": "2.3.8",
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/obj-multiplex/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/obj-multiplex/node_modules/string_decoder": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/object-assign": {
"version": "4.1.1",
"license": "MIT",
@@ -28757,6 +28729,30 @@
"version": "1.2.4",
"license": "ISC"
},
+ "node_modules/protobufjs": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
+ "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==",
+ "hasInstallScript": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/protoduck": {
"version": "4.0.0",
"license": "CC0-1.0",
@@ -28811,14 +28807,6 @@
"version": "4.12.0",
"license": "MIT"
},
- "node_modules/pump": {
- "version": "3.0.2",
- "license": "MIT",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"node_modules/pumpify": {
"version": "1.5.1",
"license": "MIT",
@@ -28856,6 +28844,24 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/qr-code-styling": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.9.2.tgz",
+ "integrity": "sha512-RgJaZJ1/RrXJ6N0j7a+pdw3zMBmzZU4VN2dtAZf8ZggCfRB5stEQ3IoDNGaNhYY3nnZKYlYSLl5YkfWN5dPutg==",
+ "license": "MIT",
+ "dependencies": {
+ "qrcode-generator": "^1.4.4"
+ },
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/qrcode-generator": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.5.2.tgz",
+ "integrity": "sha512-pItrW0Z9HnDBnFmgiNrY1uxRdri32Uh9EjNYLPVC2zZ3ZRIIEqBoDgm4DkvDwNNDHTK7FNkmr8zAa77BYc9xNw==",
+ "license": "MIT"
+ },
"node_modules/qs": {
"version": "6.13.0",
"license": "BSD-3-Clause",
@@ -31771,51 +31777,6 @@
"tslib": "^2.0.3"
}
},
- "node_modules/socket.io-client": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
- "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
- "license": "MIT",
- "dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.2",
- "engine.io-client": "~6.6.1",
- "socket.io-parser": "~4.2.4"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-parser": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz",
- "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==",
- "license": "MIT",
- "dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.4.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-parser/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@@ -34119,6 +34080,8 @@
"version": "5.0.10",
"hasInstallScript": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
"node-gyp-build": "^4.3.0"
},
@@ -35126,14 +35089,6 @@
"xml-js": "bin/cli.js"
}
},
- "node_modules/xmlhttprequest-ssl": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
- "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/xtend": {
"version": "4.0.2",
"license": "MIT",
diff --git a/package.json b/package.json
index 92a3ae28908..4b43296c3cb 100644
--- a/package.json
+++ b/package.json
@@ -43,10 +43,10 @@
"@lottiefiles/react-lottie-player": "^3.6.0",
"@mdx-js/react": "^3.1.0",
"@mermaid-js/layout-elk": "^0.1.9",
+ "@metamask/connect-evm": "^0.9.0",
"@metamask/design-tokens": "^7.1.0",
"@metamask/eth-sig-util": "^7.0.3",
"@metamask/profile-sync-controller": "^16.0.0",
- "@metamask/sdk": "^0.33.1",
"@rjsf/core": "^5.24.12",
"@rjsf/utils": "^5.24.13",
"@rjsf/validator-ajv8": "^5.24.12",
@@ -129,4 +129,4 @@
"engines": {
"node": "20.x"
}
-}
+}
\ No newline at end of file
diff --git a/src/components/AuthLogin/AuthModal.tsx b/src/components/AuthLogin/AuthModal.tsx
index 3168fe9c4b9..7c27531df70 100644
--- a/src/components/AuthLogin/AuthModal.tsx
+++ b/src/components/AuthLogin/AuthModal.tsx
@@ -126,7 +126,7 @@ const AuthModal = ({
const { siteConfig } = useDocusaurusContext()
const { DASHBOARD_URL, VERCEL_ENV } = siteConfig?.customFields || {}
const {
- sdk,
+ client,
setNeedsMfa,
setWalletLinked,
setWalletAuthUrl,
@@ -140,23 +140,18 @@ const AuthModal = ({
const { pathname } = location
const login = async () => {
+ if (!client) return
setStep(AUTH_LOGIN_STEP.CONNECTING)
try {
- if (!sdk.isExtensionActive()) {
- setOpen(false)
- }
-
- // Try to connect wallet first
- const accounts = await sdk.connect()
+ const { accounts } = await client.connect({ chainIds: ['0xaa36a7', '0xe705'] })
if (accounts && accounts.length > 0) {
setMetaMaskAccount(accounts[0])
fetchLineaEns(accounts[0])
- const provider = sdk.getProvider()
- setMetaMaskProvider(provider)
+ setMetaMaskProvider(client.getProvider())
}
- const customProvider = sdk.getProvider()
+ const customProvider = client.getProvider()
// Call Profile SDK API to retrieve Hydra Access Token & Wallet userProfile
// Hydra Access Token will be used to fetch Infura API
const { accessToken, userProfile } = await authenticateAndAuthorize(
@@ -251,7 +246,9 @@ const AuthModal = ({
...REQUEST_PARAMS('GET', { Authorization: `Bearer ${token}` }),
})
if (!projectsResponse.ok) {
- throw new Error(`Failed to fetch projects: ${projectsResponse.status} ${projectsResponse.statusText}`)
+ throw new Error(
+ `Failed to fetch projects: ${projectsResponse.status} ${projectsResponse.statusText}`
+ )
}
const {
result: { projects },
@@ -263,7 +260,9 @@ const AuthModal = ({
...REQUEST_PARAMS('GET', { Authorization: `Bearer ${token}` }),
})
if (!uksUserRawResp.ok) {
- throw new Error(`Failed to fetch user info: ${uksUserRawResp.status} ${uksUserRawResp.statusText}`)
+ throw new Error(
+ `Failed to fetch user info: ${uksUserRawResp.status} ${uksUserRawResp.statusText}`
+ )
}
const {
result: {
diff --git a/src/components/Faucet/Hero.tsx b/src/components/Faucet/Hero.tsx
index c2223038513..3784b4285b8 100644
--- a/src/components/Faucet/Hero.tsx
+++ b/src/components/Faucet/Hero.tsx
@@ -32,16 +32,12 @@ export default function Hero({
}: IHero) {
const {
metaMaskAccount,
- sdk,
metaMaskWalletIdConnectHandler,
walletLinked,
projects,
walletAuthUrl,
needsMfa,
} = useContext(MetamaskProviderContext)
- const isMobile = sdk.platformManager?.isMobile ?? false
- const isExtensionActive = sdk.isExtensionActive()
- const showInstallButton = !isExtensionActive && !isMobile
const [isWalletLinking, setIsWalletLinking] = useState(false)
const { colorMode } = useColorMode()
@@ -82,22 +78,20 @@ export default function Hero({
- {showInstallButton
- ? 'Install MetaMask for your browser to get started and request ETH.'
- : !Object.keys(projects).length
- ? needsMfa
- ? 'Your Infura Account requires 2-Factor Authentication'
- : walletLinked === undefined
- ? 'Connect your MetaMask wallet to get started and request ETH.'
- : walletLinked === WALLET_LINK_TYPE.NO
- ? 'Link your Developer Dashboard account to get started and request ETH.'
- : 'Select your Developer Dashboard account to get started and request ETH.'
- : !isMaintenance
- ? 'Enter your MetaMask wallet address and request ETH.'
- : 'The faucet is at full capacity due to high demand. Try checking back later.'}
+ {!Object.keys(projects).length
+ ? needsMfa
+ ? 'Your Infura Account requires 2-Factor Authentication'
+ : walletLinked === undefined
+ ? 'Connect your MetaMask wallet to get started and request ETH.'
+ : walletLinked === WALLET_LINK_TYPE.NO
+ ? 'Link your Developer Dashboard account to get started and request ETH.'
+ : 'Select your Developer Dashboard account to get started and request ETH.'
+ : !isMaintenance
+ ? 'Enter your MetaMask wallet address and request ETH.'
+ : 'The faucet is at full capacity due to high demand. Try checking back later.'}
- {!!Object.keys(projects).length && !showInstallButton && !isMaintenance && (
+ {!!Object.keys(projects).length && !isMaintenance && (
)}
- {showInstallButton ? (
-
- ) : !Object.keys(projects).length ? (
+ {!Object.keys(projects).length ? (
<>
{needsMfa ? (
(null)
const buttonRef = useRef(null)
const [userAccount, setUserAccount] = useState(metaMaskAccountEns || metaMaskAccount)
@@ -111,10 +107,10 @@ const NavbarWalletComponent: FC = ({ includeUrl = [] }: INavbarWalletComponent)
return !userAccount ? (
= ({
return (
<>
{method}
-
+
{description && (
{description}
)}
-
+
Parameters
-
+
{parameters.length === 0 ? (
@@ -81,7 +81,7 @@ const DetailsBox: React.FC = ({
)}
-
+
{returns && (
<>
@@ -94,7 +94,7 @@ const DetailsBox: React.FC = ({
>
)}
-
+
{errors.length > 0 && (
<>
diff --git a/src/globals.d.ts b/src/globals.d.ts
index 7cec3a6199e..1a4769a9745 100644
--- a/src/globals.d.ts
+++ b/src/globals.d.ts
@@ -3,3 +3,15 @@ declare module '*.svg' {
const content: FC>
export default content
}
+
+// The @metamask/connect-evm package exports `createEVMClient` at runtime
+// but its type declarations name it `createMetamaskConnectEVM`.
+declare module '@metamask/connect-evm' {
+ export { MetamaskConnectEVM, EIP1193Provider } from '@metamask/connect-evm'
+ export function createEVMClient(options: {
+ dapp: { name: string; url: string; iconUrl?: string }
+ api?: { supportedNetworks?: Record }
+ eventHandlers?: Record void>
+ debug?: boolean
+ }): Promise
+}
diff --git a/src/lib/siwsrp/auth.ts b/src/lib/siwsrp/auth.ts
index 8715f77e530..23eb4be8e2a 100644
--- a/src/lib/siwsrp/auth.ts
+++ b/src/lib/siwsrp/auth.ts
@@ -1,5 +1,4 @@
import { SDK } from '@metamask/profile-sync-controller'
-import { SDKProvider } from '@metamask/sdk'
import jwt from 'jsonwebtoken'
type HydraEnv = {
@@ -66,7 +65,10 @@ const auth = (env: string) =>
}
)
-export const authenticateAndAuthorize = async (env: string, customProvider: SDKProvider) => {
+export const authenticateAndAuthorize = async (
+ env: string,
+ customProvider: { request: (args: { method: string; params?: unknown[] }) => Promise }
+) => {
let accessToken: string, userProfile: SDK.UserProfile
try {
const authInstance = auth(env)
diff --git a/src/theme/Root.tsx b/src/theme/Root.tsx
index 8280a32d379..338c0385ed9 100644
--- a/src/theme/Root.tsx
+++ b/src/theme/Root.tsx
@@ -1,8 +1,8 @@
-import React, { ReactElement, createContext, useEffect, useState, useCallback } from 'react'
+import React, { ReactElement, createContext, useEffect, useState, useCallback, useRef } from 'react'
import { Provider as AlertProvider } from 'react-alert'
import useDocusaurusContext from '@docusaurus/useDocusaurusContext'
import { AlertTemplate, options } from '@site/src/components/Alert'
-import { MetaMaskSDK, SDKProvider } from '@metamask/sdk'
+import { createEVMClient, MetamaskConnectEVM, EIP1193Provider } from '@metamask/connect-evm'
import { REF_ALLOW_LOGIN_PATH, REQUEST_PARAMS } from '@site/src/lib/constants'
import {
clearStorage,
@@ -18,6 +18,7 @@ import AuthModal, {
AUTH_LOGIN_STEP,
WALLET_LINK_TYPE,
} from '@site/src/components/AuthLogin/AuthModal'
+import { getInfuraRpcUrls } from '@metamask/connect-evm'
interface Project {
id: string
@@ -43,10 +44,11 @@ interface IMetamaskProviderContext {
metaMaskAccount: string
metaMaskAccountEns: string
setMetaMaskAccount: (arg: string[] | string) => void
- metaMaskProvider: SDKProvider
- setMetaMaskProvider: (arg: SDKProvider) => void
+ metaMaskProvider: EIP1193Provider
+ setMetaMaskProvider: (arg: EIP1193Provider) => void
uksTier: string
- sdk: MetaMaskSDK
+ client: MetamaskConnectEVM | null
+ clientError: string | null
setNeedsMfa: (arg: boolean) => void
needsMfa: boolean
setWalletLinked: (arg: WALLET_LINK_TYPE) => void
@@ -73,7 +75,8 @@ export const MetamaskProviderContext = createContext({
uksTier: undefined,
metaMaskProvider: undefined,
setMetaMaskProvider: () => {},
- sdk: undefined,
+ client: null,
+ clientError: null,
setNeedsMfa: () => {},
needsMfa: false,
setWalletLinked: () => {},
@@ -87,29 +90,20 @@ export const MetamaskProviderContext = createContext({
setUserEncPublicKey: () => {},
})
-const sdk = new MetaMaskSDK({
- dappMetadata: {
- name: 'Reference pages',
- url: 'https://docs.metamask.io/',
- },
- preferDesktop: true,
- extensionOnly: true,
- checkInstallationImmediately: false,
- logging: {
- sdk: false,
- },
-})
-
export const LoginProvider = ({ children }) => {
const [projects, setProjects] = useState({})
const [userId, setUserId] = useState('')
const [token, setToken] = useState(undefined)
const [openAuthModal, setOpenAuthModal] = useState(false)
- const [metaMaskProvider, setMetaMaskProvider] = useState(undefined)
+ const [metaMaskProvider, setMetaMaskProvider] = useState(undefined)
const [metaMaskAccount, setMetaMaskAccount] = useState(undefined)
const [metaMaskAccountEns, setMetaMaskAccountEns] = useState(undefined)
const [uksTier, setUksTier] = useState(undefined)
- const [isInitialized, setIsInitialized] = useState(false)
+ const [client, setClient] = useState(null)
+ const [clientError, setClientError] = useState(null)
+ const clientInitialized = useRef(false)
+ const MAX_INIT_RETRIES = 3
+ const [initRetry, setInitRetry] = useState(0)
const [step, setStep] = useState(AUTH_LOGIN_STEP.CONNECTING)
const [walletLinked, setWalletLinked] = useState(undefined)
const [needsMfa, setNeedsMfa] = useState(false)
@@ -117,11 +111,53 @@ export const LoginProvider = ({ children }) => {
const [userAPIKey, setUserAPIKey] = useState('')
const [userEncPublicKey, setUserEncPublicKey] = useState(undefined)
const { siteConfig } = useDocusaurusContext()
- const { DASHBOARD_URL, LINEA_ENS_URL } = siteConfig?.customFields || {}
+ const { DASHBOARD_URL, LINEA_ENS_URL, INFURA_API_KEY } = siteConfig?.customFields || {}
- if (sdk.isInitialized() && !isInitialized) {
- setIsInitialized(true)
- }
+ useEffect(() => {
+ if (client || initRetry >= MAX_INIT_RETRIES) return
+ if (clientInitialized.current) return
+ clientInitialized.current = true
+
+ let cancelled = false
+ let retryTimeoutId: ReturnType
+
+ createEVMClient({
+ dapp: {
+ name: 'MetaMask Developer Documentation',
+ url: 'https://docs.metamask.io/',
+ },
+ api: {
+ supportedNetworks: {
+ '0xaa36a7': 'https://rpc.sepolia.org',
+ '0xe705': 'https://rpc.sepolia.linea.build',
+ ...(INFURA_API_KEY
+ ? getInfuraRpcUrls({ infuraApiKey: INFURA_API_KEY as string })
+ : {}),
+ },
+ },
+ })
+ .then(instance => {
+ if (cancelled) return
+ setClient(instance)
+ setMetaMaskProvider(instance.getProvider())
+ })
+ .catch(error => {
+ if (cancelled) return
+ console.error('MetaMask Connect EVM initialization failed:', error)
+ setClientError(error?.message || 'Failed to initialize wallet connection')
+ clientInitialized.current = false
+ retryTimeoutId = setTimeout(
+ () => setInitRetry(prev => prev + 1),
+ 1000 * Math.pow(2, initRetry),
+ )
+ })
+
+ return () => {
+ cancelled = true
+ clientInitialized.current = false
+ clearTimeout(retryTimeoutId)
+ }
+ }, [initRetry])
const fetchLineaEns = async (rawAddress: string) => {
if (getWalletEns()) {
@@ -147,18 +183,18 @@ export const LoginProvider = ({ children }) => {
}
const getStaleDate = async () => {
+ if (!client) return
try {
setProjects(JSON.parse(sessionStorage.getItem(AUTH_WALLET_PROJECTS) || '{}'))
setUserId(getUserIdFromJwtToken())
setToken(getTokenString())
setUksTier(getUksTier())
setMetaMaskAccountEns(getWalletEns())
- const accounts = await sdk.connect()
- setMetaMaskAccount(accounts)
+ // Sepolia and Linea Sepolia
+ const { accounts } = await client.connect({ chainIds: ['0xaa36a7', '0xe705'] })
if (accounts && accounts.length > 0) {
setMetaMaskAccount(accounts[0])
- const provider = sdk.getProvider()
- setMetaMaskProvider(provider)
+ setMetaMaskProvider(client.getProvider())
}
} catch (e) {}
}
@@ -173,7 +209,7 @@ export const LoginProvider = ({ children }) => {
const metaMaskDisconnect = useCallback(async () => {
try {
- await sdk?.terminate()
+ await client?.disconnect()
setOpenAuthModal(false)
setUserId(undefined)
setToken(undefined)
@@ -188,22 +224,10 @@ export const LoginProvider = ({ children }) => {
} catch (err) {
console.warn('failed to disconnect..', err)
}
- }, [sdk, setOpenAuthModal, setUserId, setToken, setMetaMaskAccount, setUksTier, setProjects])
-
- useEffect(() => {
- const provider = sdk?.getProvider()
- setMetaMaskProvider(provider)
- }, [])
-
- useEffect(() => {
- if (isInitialized && sdk.isExtensionActive()) {
- const provider = sdk.getProvider()
- sdk.resume()
- setMetaMaskProvider(provider)
- }
- }, [isInitialized])
+ }, [client, setOpenAuthModal, setUserId, setToken, setMetaMaskAccount, setUksTier, setProjects])
useEffect(() => {
+ if (!client) return
const url = new URL(window.location.href)
getStaleDate()
if (REF_ALLOW_LOGIN_PATH.some(item => url.pathname.includes(item))) {
@@ -238,7 +262,7 @@ export const LoginProvider = ({ children }) => {
})()
}
}
- }, [])
+ }, [client])
return (
{
metaMaskProvider,
uksTier,
setMetaMaskProvider,
- sdk,
+ client,
+ clientError,
walletLinked,
setWalletLinked,
needsMfa,