Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

big-integer shim testing on android-jsc #6221

Closed
wants to merge 14 commits into from
40 changes: 40 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,43 @@ if (IGNORE_BOXLOGS_DEVELOPMENT === 'true') {
* Application entry point responsible for registering root component
*/
AppRegistry.registerComponent(name, () => Sentry.wrap(Root));

import {
arrToBufArr,
// bufferToHex,
// ecsign,
// publicToAddress,
// toBuffer,
// hashPersonalMessage,
// privateToPublic,
} from '@ethereumjs/util';

// Test arrToBufArr fn
// const arr = [1, 2, 3, 4, 5]; // TypeError: The "value" argument must not be of type number. Received type number
const arr = new Uint8Array([1, 2, 3]);
const bufArr = arrToBufArr(arr);
// console.log(bufArr); // {"data": [1, 2, 3], "type": "Buffer"}

// Test bufferToHex fn
// const buffer = Buffer.from('Hello World', 'utf8');
// const hex = bufferToHex(buffer);
// console.log(hex); // 0x48656c6c6f20576f726c64

// // Test ecsign fn
// const privateKey = Buffer.from(
// 'aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899',
// 'hex',
// );
// const message = hashPersonalMessage(Buffer.from('Hello World', 'utf8'));
// const signature = ecsign(message, privateKey);
// console.log(signature); // {"r": {"data": [Array], "type": "Buffer"}, "s": {"data": [Array], "type": "Buffer"}, "v": 28n}

// // Test publicToAddress fn
// const publicKey = privateToPublic(privateKey);
// const address = publicToAddress(publicKey);
// console.log(address); // {"data": [239, 192, 115, 33, 211, 214, 168, 250, 73, 97, 48, 108, 123, 245, 85, 240, 114, 63, 40, 193], "type": "Buffer"}

// // Test toBuffer fn
// const int = 12345;
// const bufferInt = toBuffer(int);
// console.log(bufferInt); // {"data": [48, 57], "type": "Buffer"}
2 changes: 1 addition & 1 deletion ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -874,4 +874,4 @@ SPEC CHECKSUMS:

PODFILE CHECKSUM: 74e503a275b4ed097cb01c171027882e9cdc699d

COCOAPODS: 1.11.3
COCOAPODS: 1.12.1
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@
"@eth-optimism/contracts": "0.0.0-2021919175625",
"@ethereumjs/common": "^2.3.1",
"@ethereumjs/tx": "^3.2.1",
"@ethereumjs/util": "^8.0.6",
"@exodus/react-native-payments": "git+https://github.com/MetaMask/react-native-payments.git#dbc8cbbed570892d2fea5e3d183bf243e062c1e5",
"@keystonehq/bc-ur-registry-eth": "^0.7.7",
"@keystonehq/metamask-airgapped-keyring": "^0.3.0",
Expand All @@ -146,8 +147,8 @@
"@metamask/contract-metadata": "^2.1.0",
"@metamask/controller-utils": "^2.0.0",
"@metamask/design-tokens": "^1.11.1",
"@metamask/etherscan-link": "^2.0.0",
"@metamask/eth-sig-util": "^4.0.1",
"@metamask/etherscan-link": "^2.0.0",
"@metamask/gas-fee-controller": "^3.0.0",
"@metamask/keyring-controller": "^1.0.1",
"@metamask/message-manager": "^1.0.2",
Expand All @@ -158,6 +159,7 @@
"@metamask/sdk-communication-layer": "0.2.0",
"@metamask/swaps-controller": "^6.8.0",
"@metamask/transaction-controller": "^3.0.0",
"@metamask/utils": "^5.0.1",
"@ngraveio/bc-ur": "^1.1.6",
"@react-native-async-storage/async-storage": "1.17.10",
"@react-native-clipboard/clipboard": "^1.8.4",
Expand Down Expand Up @@ -188,6 +190,7 @@
"babel-plugin-transform-inline-environment-variables": "0.4.3",
"babel-plugin-transform-remove-console": "6.9.4",
"base-64": "1.0.0",
"big-integer": "^1.6.51",
"bignumber.js": "^9.0.1",
"buffer": "5.2.1",
"compare-versions": "^3.6.0",
Expand Down
1 change: 1 addition & 0 deletions shim.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ if (typeof process === 'undefined') {

process.browser = false;
if (typeof Buffer === 'undefined') global.Buffer = require('buffer').Buffer;
if (typeof BigInt === 'undefined') global.BigInt = require('big-integer');

// global.location = global.location || { port: 80 }
const isDev = typeof __DEV__ === 'boolean' && __DEV__;
Expand Down
150 changes: 148 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1524,6 +1524,48 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==

"@chainsafe/as-sha256@^0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz#3639df0e1435cab03f4d9870cc3ac079e57a6fc9"
integrity sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==

"@chainsafe/as-sha256@^0.4.1":
version "0.4.1"
resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.4.1.tgz#cfc0737e25f8c206767bdb6703e7943e5d44513e"
integrity sha512-IqeeGwQihK6Y2EYLFofqs2eY2ep1I2MvQXHzOAI+5iQN51OZlUkrLgyAugu2x86xZewDk5xas7lNczkzFzF62w==

"@chainsafe/persistent-merkle-tree@^0.4.2":
version "0.4.2"
resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz#4c9ee80cc57cd3be7208d98c40014ad38f36f7ff"
integrity sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==
dependencies:
"@chainsafe/as-sha256" "^0.3.1"

"@chainsafe/persistent-merkle-tree@^0.6.1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.6.1.tgz#37bde25cf6cbe1660ad84311aa73157dc86ec7f2"
integrity sha512-gcENLemRR13+1MED2NeZBMA7FRS0xQPM7L2vhMqvKkjqtFT4YfjSVADq5U0iLuQLhFUJEMVuA8fbv5v+TN6O9A==
dependencies:
"@chainsafe/as-sha256" "^0.4.1"
"@noble/hashes" "^1.3.0"

"@chainsafe/ssz@0.9.4":
version "0.9.4"
resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.4.tgz#696a8db46d6975b600f8309ad3a12f7c0e310497"
integrity sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==
dependencies:
"@chainsafe/as-sha256" "^0.3.1"
"@chainsafe/persistent-merkle-tree" "^0.4.2"
case "^1.6.3"

"@chainsafe/ssz@^0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.11.1.tgz#d4aec883af2ec5196ae67b96242c467da20b2476"
integrity sha512-cB8dBkgGN6ZoeOKuk+rIRHKN0L5i9JLGeC0Lui71QX0TuLcQKwgbfkUexpyJxnGFatWf8yeJxlOjozMn/OTP0g==
dependencies:
"@chainsafe/as-sha256" "^0.4.1"
"@chainsafe/persistent-merkle-tree" "^0.6.1"

"@cnakazawa/watch@^1.0.3":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
Expand Down Expand Up @@ -1913,11 +1955,24 @@
crc-32 "^1.2.0"
ethereumjs-util "^7.1.5"

"@ethereumjs/common@^3.1.1":
version "3.1.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.1.1.tgz#6f754c8933727ad781f63ca3929caab542fe184e"
integrity sha512-iEl4gQtcrj2udNhEizs04z7WA15ez1QoXL0XzaCyaNgwRyXezIg1DnfNeZUUpJnkrOF/0rYXyq2UFSLxt1NPQg==
dependencies:
"@ethereumjs/util" "^8.0.5"
crc-32 "^1.2.0"

"@ethereumjs/rlp@^4.0.0-beta.2":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.0.tgz#66719891bd727251a7f233f9ca80212d1994f8c8"
integrity sha512-LM4jS5n33bJN60fM5EC8VeyhUgga6/DjCPBV2vWjnfVtobqtOiNC4SQ1MRFqyBSmJGGdB533JZWewyvlcdJtkQ==

"@ethereumjs/rlp@^4.0.1":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41"
integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==

"@ethereumjs/tx@3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.0.0.tgz#8dfd91ed6e91e63996e37b3ddc340821ebd48c81"
Expand Down Expand Up @@ -1950,6 +2005,18 @@
"@ethereumjs/common" "^2.6.4"
ethereumjs-util "^7.1.5"

"@ethereumjs/tx@^4.1.1":
version "4.1.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.1.1.tgz#d1b5bf2c4fd3618f2f333b66e262848530d4686a"
integrity sha512-QDj7nuROfoeyK83RObMA0XCZ+LUDdneNkSCIekO498uEKTY25FxI4Whduc/6j0wdd4IqpQvkq+/7vxSULjGIBQ==
dependencies:
"@chainsafe/ssz" "0.9.4"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leotm in case you're not aware and it's relevant, this will pull in a WASM dependency. MetaMask/eth-sig-util#302 (comment)

My understanding is that @chainsafe/ssz is runtime-agnostic as of recent 0.11.1, which will be incorporated in an imminent @ethereumjs/* release.

Copy link
Member Author

@leotm leotm Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks again for bringing up earlier ^ and the link
gotcha so the shim could be incompat w @ethereumjs/util>@ChainSafe/ssz>@chainsafe/as-sha256's wasm serialisation, which @ethereumjs/util bump might fix (replacing w e.g. js-only noble-hashes)

Copy link
Member Author

@leotm leotm Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the shim's unsupported big int literals on android-jsc (e.g. 1n) remain
but yeah not rly a prob long as @ethereumjs/util doesn't complain

Copy link
Member Author

@leotm leotm Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

testing @ethereumjs/util 8.0.6 with arrToBufArr 64fb902 throws (screenshot)

error: Error: Unable to resolve module zlib from .../metamask-mobile/node_modules/micro-ftch/index.js: zlib could not be found within the project or in these directories:
  node_modules

which is true node_modules/zlib doesn't exist 🤔

and noticed
@ethereumjs/util/src/index.ts also exports * from './provider'
'./provider' imports fetch from 'micro-ftch'
'./provider' exports fetchFromProvider


edit: ah zlib is a node API we'd need to shim too for arrToBufArr
looks like https://github.com/tradle/rn-nodeify/blob/master/shims.js#L3 already has browserify-zlib to potentially add to our postinstall.sh (otherwise shim manually again like big-integer)
if going down this potential whack-a-mole route, to get all @ethereumjs/util methods like arrToBufArr working

also we have a Metro warning which could be related

warn Package @metamask/eth-sig-util has been ignored because it contains invalid configuration. Reason: Package subpath './package.json' is not defined by "exports" in /Users/leo/Documents/GitHub/metamask-mobile/node_modules/@metamask/eth-sig-util/package.json

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just checked a fresh (RN 0.71.6) as well
switched off Hermes (for android-jsc)
added and ran rn-nodeify --install http,https,zlib,events,util --hack --yarn (minimal shims)
added and manually shimmed big-integer
added @ethereumjs/util 8.0.6 and tested arrToBufArr
which gets us past node missing shim issues like zlib
onto a new issue (potentially more):

rn-nodeify --install http,https,zlib,events,util --hack --yarn

"@ethereumjs/common" "^3.1.1"
"@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/util" "^8.0.5"
"@ethersproject/providers" "^5.7.2"
ethereum-cryptography "^1.1.2"

"@ethereumjs/util@^8.0.0":
version "8.0.2"
resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.2.tgz#b7348fc7253649b0f00685a94546c6eee1fad819"
Expand All @@ -1959,6 +2026,25 @@
async "^3.2.4"
ethereum-cryptography "^1.1.2"

"@ethereumjs/util@^8.0.5":
version "8.0.5"
resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.5.tgz#b9088fc687cc13f0c1243d6133d145dfcf3fe446"
integrity sha512-259rXKK3b3D8HRVdRmlOEi6QFvwxdt304hhrEAmpZhsj7ufXEOTIc9JRZPMnXatKjECokdLNBcDOFBeBSzAIaw==
dependencies:
"@chainsafe/ssz" "0.9.4"
"@ethereumjs/rlp" "^4.0.1"
ethereum-cryptography "^1.1.2"

"@ethereumjs/util@^8.0.6":
version "8.0.6"
resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.6.tgz#f9716ed34235ea05eff8353bc5d483e5a6455989"
integrity sha512-zFLG/gXtF3QUC7iKFn4PT6HCr+DEnlCbwUGKGtXoqjA+64T+e0FuqMjlo4bQIY2ngRzk3EtudKdGYC4g31ehhg==
dependencies:
"@chainsafe/ssz" "^0.11.1"
"@ethereumjs/rlp" "^4.0.1"
ethereum-cryptography "^2.0.0"
micro-ftch "^0.3.1"

"@ethersproject/abi@5.4.1":
version "5.4.1"
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.1.tgz#6ac28fafc9ef6f5a7a37e30356a2eb31fa05d39b"
Expand Down Expand Up @@ -2477,7 +2563,7 @@
bech32 "1.1.4"
ws "7.4.6"

"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.0":
"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.0", "@ethersproject/providers@^5.7.2":
version "5.7.2"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
Expand Down Expand Up @@ -4350,6 +4436,17 @@
semver "^7.3.8"
superstruct "^1.0.3"

"@metamask/utils@^5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-5.0.1.tgz#8a60adcfeaa33f046dc66c0b9b02f2b172872d1b"
integrity sha512-8XCCYlLYoW4rZD2+QjEZ0UjOuvvS/EBmn89QwWW8A9+KVEO2B9HxXJFGZF/Rl+E4IoCxVczrjjIjXLg2kvkNPg==
dependencies:
"@ethereumjs/tx" "^4.1.1"
"@types/debug" "^4.1.7"
debug "^4.3.4"
semver "^7.3.8"
superstruct "^1.0.3"

"@ngraveio/bc-ur@^1.1.5", "@ngraveio/bc-ur@^1.1.6":
version "1.1.6"
resolved "https://registry.yarnpkg.com/@ngraveio/bc-ur/-/bc-ur-1.1.6.tgz#8f8c75fff22f6a5e4dfbc5a6b540d7fe8f42cd39"
Expand All @@ -4363,11 +4460,23 @@
jsbi "^3.1.5"
sha.js "^2.4.11"

"@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.1.2":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183"
integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==

"@noble/hashes@1.3.0", "@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.1.1":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.3.tgz#360afc77610e0a61f3417e497dcf36862e4f8111"
Expand Down Expand Up @@ -4745,6 +4854,15 @@
"@noble/secp256k1" "~1.6.0"
"@scure/base" "~1.1.0"

"@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.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.0.tgz#92f11d095bae025f166bef3defcc5bf4945d419a"
Expand All @@ -4753,6 +4871,14 @@
"@noble/hashes" "~1.1.1"
"@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"

"@segment/analytics-react-native@2.13.0":
version "2.13.0"
resolved "https://registry.yarnpkg.com/@segment/analytics-react-native/-/analytics-react-native-2.13.0.tgz#2a612253219cd91ea3716f46d4fa837231d968d8"
Expand Down Expand Up @@ -8429,7 +8555,7 @@ bech32@1.1.4:
resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==

big-integer@1.6.x, big-integer@^1.6.17:
big-integer@1.6.x, big-integer@^1.6.17, big-integer@^1.6.51:
version "1.6.51"
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
Expand Down Expand Up @@ -9116,6 +9242,11 @@ capture-exit@^2.0.0:
dependencies:
rsvp "^4.8.4"

case@^1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9"
integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==

caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
Expand Down Expand Up @@ -12245,6 +12376,16 @@ ethereum-cryptography@^1.1.2:
"@scure/bip32" "1.1.0"
"@scure/bip39" "1.1.0"

ethereum-cryptography@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.0.0.tgz#e052b49fa81affae29402e977b8d3a31f88612b6"
integrity sha512-g25m4EtfQGjstWgVE1aIz7XYYjf3kH5kG17ULWVB5dH6uLahsoltOhACzSxyDV+fhn4gbR4xRrOXGe6r2uh4Bg==
dependencies:
"@noble/curves" "1.0.0"
"@noble/hashes" "1.3.0"
"@scure/bip32" "1.3.0"
"@scure/bip39" "1.2.0"

ethereum-ens-network-map@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/ethereum-ens-network-map/-/ethereum-ens-network-map-1.0.2.tgz#4e27bad18dae7bd95d84edbcac2c9e739fc959b9"
Expand Down Expand Up @@ -17936,6 +18077,11 @@ metro@0.72.3:
ws "^7.5.1"
yargs "^15.3.1"

micro-ftch@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f"
integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==

micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
Expand Down
Loading