diff --git a/package.json b/package.json index 61d9742011..49c262f0c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "root", - "version": "84.0.0", + "version": "86.0.0", "private": true, "repository": { "type": "git", diff --git a/packages/examples/packages/bip32/snap.manifest.json b/packages/examples/packages/bip32/snap.manifest.json index 8e4cb79a31..d0b5c5541a 100644 --- a/packages/examples/packages/bip32/snap.manifest.json +++ b/packages/examples/packages/bip32/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "ojW3Hm/UhUzUs35jVfoI9+xEsy0zoVLFzfZGZ3dgZeQ=", + "shasum": "OfcFktfSIur/yfdHbKjN9s6djdEYTFT0bRfeI5f4Tj0=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -43,6 +43,6 @@ } ] }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/bip44/snap.manifest.json b/packages/examples/packages/bip44/snap.manifest.json index f044129c0e..6889f72e3e 100644 --- a/packages/examples/packages/bip44/snap.manifest.json +++ b/packages/examples/packages/bip44/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "kYRZmgdWbCe5U9mK1DBn4r1eh2VFI6TBolStHsYnwqQ=", + "shasum": "U1o6OXFAot8VhSRRGFRjajeAgm6MqeynyJhUGhmVh80=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -31,6 +31,6 @@ } ] }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/browserify-plugin/snap.manifest.json b/packages/examples/packages/browserify-plugin/snap.manifest.json index 61d9fb2146..fc111c2e52 100644 --- a/packages/examples/packages/browserify-plugin/snap.manifest.json +++ b/packages/examples/packages/browserify-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "PU8/QaQOlO6/ShRIM+jofaiQFUAprfuUX9RV6G5xRJo=", + "shasum": "R4WjwqkDLNMUtU07n8AGq0WZKjsqjTjQXlASF++J4ws=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/browserify/snap.manifest.json b/packages/examples/packages/browserify/snap.manifest.json index 4fc06d52a3..d42908c907 100644 --- a/packages/examples/packages/browserify/snap.manifest.json +++ b/packages/examples/packages/browserify/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "5vUCvHpbE8BnQv9R8QorYcvyKPZk0s+Fuh/MFUZ7LH4=", + "shasum": "06xWu+ehUlNMpbJQxTZi2mlnAJId3cLHEK6fWD2Z9rc=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/client-status/snap.manifest.json b/packages/examples/packages/client-status/snap.manifest.json index e8b471c470..3cdc767e2e 100644 --- a/packages/examples/packages/client-status/snap.manifest.json +++ b/packages/examples/packages/client-status/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "arWIxnocunv/5esPgYG068vzZzyBxg/FcbiDILeyLCs=", + "shasum": "G38EpQqm2Z1U/veP81rtdqrxIZFgzfQsKiHUOK+erzA=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ "snaps": false } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/cronjobs/snap.manifest.json b/packages/examples/packages/cronjobs/snap.manifest.json index 30abf49eaf..3a8ca958b3 100644 --- a/packages/examples/packages/cronjobs/snap.manifest.json +++ b/packages/examples/packages/cronjobs/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "p0EjILZJvCZE2KZSlJ8e5q96ODsV/heJHp2nmUx7DG8=", + "shasum": "AbkcAQ2cN1UMCV9wNheZ9SAumG/Bm9mZvGG4LVDAcIM=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -34,6 +34,6 @@ "snap_dialog": {}, "snap_notify": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/dialogs/snap.manifest.json b/packages/examples/packages/dialogs/snap.manifest.json index 9ba7d3c293..7eb80188eb 100644 --- a/packages/examples/packages/dialogs/snap.manifest.json +++ b/packages/examples/packages/dialogs/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "6IGgmJV+Gc1jdmr4M+Gc0SHBfu2Ieuq3QFCIa5t7vYY=", + "shasum": "6dn7WLD0YVYRZ50MmHyBFyXBIGukiixU5HkT5uPtb+g=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ }, "snap_dialog": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/errors/snap.manifest.json b/packages/examples/packages/errors/snap.manifest.json index bce9fa38ec..de643e753c 100644 --- a/packages/examples/packages/errors/snap.manifest.json +++ b/packages/examples/packages/errors/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "UOVWInK9Rcy0j2EcPkwtgutBE7GqPAtIOhMWXaIFBJs=", + "shasum": "Qi6Q9/E4ce6NOATzZ0Ds2O84dtvpzix5DZcrjDpeLcQ=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/ethereum-provider/snap.manifest.json b/packages/examples/packages/ethereum-provider/snap.manifest.json index 9d1b5d629c..5842690ae9 100644 --- a/packages/examples/packages/ethereum-provider/snap.manifest.json +++ b/packages/examples/packages/ethereum-provider/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "8f7Fo6y40+L0x+KHkDCq2wjEMrkTL+L6e2NSNBZYVLA=", + "shasum": "hNF1mUs59JKIFTIX5VZOeItOVkbmj5GrXzqx1G+DgYU=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ }, "endowment:ethereum-provider": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/ethers-js/snap.manifest.json b/packages/examples/packages/ethers-js/snap.manifest.json index ad366d1e4e..4da32bf965 100644 --- a/packages/examples/packages/ethers-js/snap.manifest.json +++ b/packages/examples/packages/ethers-js/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "U4iQEpD4FcKBClMoFgESj8aVZy/io4bR3T3xC8D1J/c=", + "shasum": "0PQlh3ZQK70STy34txsPzxo0VDR9d32cfMAw8Ik9xNI=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ "snap_dialog": {}, "snap_getEntropy": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/file-upload/snap.manifest.json b/packages/examples/packages/file-upload/snap.manifest.json index d9960ea0d7..1800655537 100644 --- a/packages/examples/packages/file-upload/snap.manifest.json +++ b/packages/examples/packages/file-upload/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "U5/rIXgTqaoXVudqfJyK1cglKFXyLKKal+hj4mk+i0g=", + "shasum": "ZlAnRKUo2h9gUV0ex3y5uaKlSx2xDej+kZbyum7XPj4=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -24,6 +24,6 @@ "snap_dialog": {}, "snap_manageState": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/get-entropy/snap.manifest.json b/packages/examples/packages/get-entropy/snap.manifest.json index 177ef7b231..036fbf77ef 100644 --- a/packages/examples/packages/get-entropy/snap.manifest.json +++ b/packages/examples/packages/get-entropy/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "vFbFG/f0wOk+xcAypUssW9LJST38Ul9Oq4fZRaHq50E=", + "shasum": "sit3GC+CpbJICXOuTeETFHYHA3ad/MeQ11k3ru14EVE=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ "snap_dialog": {}, "snap_getEntropy": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/get-file/snap.manifest.json b/packages/examples/packages/get-file/snap.manifest.json index 57183b0dcd..4098a6bafd 100644 --- a/packages/examples/packages/get-file/snap.manifest.json +++ b/packages/examples/packages/get-file/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "IkhZaFe3JhsDGcjO+/2CettMLck0yQUby8I13U2BUpU=", + "shasum": "JjhNVG6X81ErE+atwelDCNzr6udwHTpzQrndurFHJnI=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/home-page/snap.manifest.json b/packages/examples/packages/home-page/snap.manifest.json index 7ff8322a15..c900c3c24a 100644 --- a/packages/examples/packages/home-page/snap.manifest.json +++ b/packages/examples/packages/home-page/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "Z0ZFlsmVKHo2lrZKpCfrdLUjUe7kuXHUxqd4vm277nI=", + "shasum": "S2rws6DxOk+mcx2JY1dtQz/VVco7LqClOqKAVYgBwyI=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -19,6 +19,6 @@ "initialPermissions": { "endowment:page-home": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/images/snap.manifest.json b/packages/examples/packages/images/snap.manifest.json index 0ac660a010..f572b01c6b 100644 --- a/packages/examples/packages/images/snap.manifest.json +++ b/packages/examples/packages/images/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "qDnkVe1UEihxCX8jKtc5kU6Xsz2mszjC9abLo9gxyqQ=", + "shasum": "L5ToWUmXcUtxiNWuaY5lFsF6Gi2nox83PJ8HYBFHQz4=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ }, "snap_dialog": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/interactive-ui/snap.manifest.json b/packages/examples/packages/interactive-ui/snap.manifest.json index 96a8738c8a..5077d6bb21 100644 --- a/packages/examples/packages/interactive-ui/snap.manifest.json +++ b/packages/examples/packages/interactive-ui/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "7hLctw66Qa64WB7Y1kdJnqQFIkPt5hYvdNj9l/00E78=", + "shasum": "TXZq2fT+plgy46ydJXukgcwP9fdFDZ/m/bYyzg8/D5w=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -25,6 +25,6 @@ "endowment:transaction-insight": {}, "endowment:page-home": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json b/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json index 5b9b23bf40..9196215fc3 100644 --- a/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json +++ b/packages/examples/packages/invoke-snap/packages/consumer-signer/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "G6qDbbY6gfcNXbwavYeLOcX5dZRXGrzR4OVtIMWizwg=", + "shasum": "/bvqHNjWxAO44fApvCzrH63UjDwyLXcfKi4qSn/O95Y=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json b/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json index 66e2bc1f8f..0dfce7276a 100644 --- a/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json +++ b/packages/examples/packages/invoke-snap/packages/core-signer/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "UMY4+tvOkzhxFhBE7v1hIpSANISaTCM6BcjwniuxKUc=", + "shasum": "ZpO1CcfyClFhuRxCZLjaibVyoF/TkyrRNuCgGu0hTOw=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ "snap_dialog": {}, "snap_manageState": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/json-rpc/snap.manifest.json b/packages/examples/packages/json-rpc/snap.manifest.json index 8b326402b7..d97ad508d7 100644 --- a/packages/examples/packages/json-rpc/snap.manifest.json +++ b/packages/examples/packages/json-rpc/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "4i/96yKvEMlwjGd6BvcuYwwGtol1YZEZTZ2dOcGOtxs=", + "shasum": "Pf7fu54qu9QtOO+t5WkIlFubHIHdlWQO6TKVCJxX43w=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -26,6 +26,6 @@ } } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/jsx/snap.manifest.json b/packages/examples/packages/jsx/snap.manifest.json index 46329ffb93..7eb4111a76 100644 --- a/packages/examples/packages/jsx/snap.manifest.json +++ b/packages/examples/packages/jsx/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "TN8Dci3rNymh4EFBhXvzqbfzTGIDjemAF1WrqTXbkGQ=", + "shasum": "bnJbg/aCyNKJt31AjZc9hjCrHdCXtKeUT0Qsuszw+CA=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ "snap_dialog": {}, "snap_manageState": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/lifecycle-hooks/snap.manifest.json b/packages/examples/packages/lifecycle-hooks/snap.manifest.json index b3cb1e5a42..6942bb156e 100644 --- a/packages/examples/packages/lifecycle-hooks/snap.manifest.json +++ b/packages/examples/packages/lifecycle-hooks/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "p52kcbuuauq3MOOOV4ktx7DowKimNx95d1q4aR5gAJQ=", + "shasum": "mUWllNK/XtuB43nquRhRqoL1iE7u5YQW2AZdmtZxMwY=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -20,6 +20,6 @@ "snap_dialog": {}, "endowment:lifecycle-hooks": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/localization/snap.manifest.json b/packages/examples/packages/localization/snap.manifest.json index a1a192a81e..4690239ae1 100644 --- a/packages/examples/packages/localization/snap.manifest.json +++ b/packages/examples/packages/localization/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "hE4IbH9CWs7QS8JnUWsReyG3TuZG9Z00/K2kCRsfID4=", + "shasum": "nLpv+n/12cFSB1yFeEKnoGXSdg7KL1zroH+dWu7tkI4=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ }, "snap_getPreferences": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/manage-state/snap.manifest.json b/packages/examples/packages/manage-state/snap.manifest.json index 3bbbef315c..a825cf1f7d 100644 --- a/packages/examples/packages/manage-state/snap.manifest.json +++ b/packages/examples/packages/manage-state/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "9n3dGpYT/s9CwkwfGTkOgMA8jvrkLg9KVP2Y/KsrWkg=", + "shasum": "2EiHyXrGKrl5T6mo+f0DkhYj4FiwcrYJTAybKkyKs7Q=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ }, "snap_manageState": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/name-lookup/snap.manifest.json b/packages/examples/packages/name-lookup/snap.manifest.json index 6f0b373724..e15c57a4d8 100644 --- a/packages/examples/packages/name-lookup/snap.manifest.json +++ b/packages/examples/packages/name-lookup/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "+hSYtYA/3RFNyYURc1luWrNPrnQ3sqVAi0HDenCJsAE=", + "shasum": "Tg0B3zcrVIpB7hJQBGMVx1F6YcaQvFq8t10oR4Q0xys=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "chains": ["eip155:1"] } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/network-access/snap.manifest.json b/packages/examples/packages/network-access/snap.manifest.json index 603e3373ca..065e23f4ec 100644 --- a/packages/examples/packages/network-access/snap.manifest.json +++ b/packages/examples/packages/network-access/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "FLqA/O/vfM7Cbv07OMjLbf5wnJ6xiDVOicRc62DN6Dw=", + "shasum": "L/SikOKezRjC/928EpqPWPCcFpOTCNVmRV9MYmzG20M=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ }, "endowment:network-access": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/notifications/snap.manifest.json b/packages/examples/packages/notifications/snap.manifest.json index 6af0136d2a..fe51549d77 100644 --- a/packages/examples/packages/notifications/snap.manifest.json +++ b/packages/examples/packages/notifications/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "vgZf2fdTM9fTAFroi78267SHtaEeTJLTNa/hobO22s0=", + "shasum": "qo7N8fZmfUpLF925nGuGrtqEOE662sZYAMBYWyJSNwY=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ }, "snap_notify": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/preinstalled/snap.manifest.json b/packages/examples/packages/preinstalled/snap.manifest.json index 49760fc93a..c22ea8e2ce 100644 --- a/packages/examples/packages/preinstalled/snap.manifest.json +++ b/packages/examples/packages/preinstalled/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "i8jxIqiwe7OvwEP32oFIFKUu3EfnHnbFbyRXeqIKPiY=", + "shasum": "CTiFajnUn7rw8nKxRxuKGcV148xp6bXpa6A+jT3ILYk=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -24,6 +24,6 @@ "endowment:page-settings": {}, "snap_manageState": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/rollup-plugin/snap.manifest.json b/packages/examples/packages/rollup-plugin/snap.manifest.json index b12a46527a..adf14938d5 100644 --- a/packages/examples/packages/rollup-plugin/snap.manifest.json +++ b/packages/examples/packages/rollup-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "9kEcCvm7AAgm49TqYDjUdiqLlnNqjfXipUgtI2ndBwQ=", + "shasum": "5hxZ02imlN4CQYIawIHX4ns0bGkYHU8xtbCD1xP6ZOw=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/send-flow/snap.manifest.json b/packages/examples/packages/send-flow/snap.manifest.json index 75c380aeac..06e4890c73 100644 --- a/packages/examples/packages/send-flow/snap.manifest.json +++ b/packages/examples/packages/send-flow/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "ycKXLBkX4carLSIYGnuc+oHDin/2qSUNNQ/cfW0wt4o=", + "shasum": "UBVwkakFLdABtz9iUyj84ilUIUqSr+XlFvqoHL9mLzA=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -23,6 +23,6 @@ "snap_dialog": {}, "endowment:page-home": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/signature-insights/snap.manifest.json b/packages/examples/packages/signature-insights/snap.manifest.json index 890a67108e..759f9ac590 100644 --- a/packages/examples/packages/signature-insights/snap.manifest.json +++ b/packages/examples/packages/signature-insights/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "AlY+qEYeU/GmMR7tvBEpuFXk6YWdWx+hhszOsnGyQcU=", + "shasum": "wf0rfTxoaubBFWnLhIIv+MvqN/SG3fPQF5KxklhE4Q4=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -19,6 +19,6 @@ "initialPermissions": { "endowment:signature-insight": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/transaction-insights/snap.manifest.json b/packages/examples/packages/transaction-insights/snap.manifest.json index f0afce841e..9528090d5b 100644 --- a/packages/examples/packages/transaction-insights/snap.manifest.json +++ b/packages/examples/packages/transaction-insights/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "lxnpksH+gsCRKZfgDBv66VXlSjbS25gSS/r+hOiO9RQ=", + "shasum": "IfofsBv6vcOxaC9STombLssh09jyZg7x/itt12TWznk=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -19,6 +19,6 @@ "initialPermissions": { "endowment:transaction-insight": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/wasm/snap.manifest.json b/packages/examples/packages/wasm/snap.manifest.json index 54f20a4082..176ec208d3 100644 --- a/packages/examples/packages/wasm/snap.manifest.json +++ b/packages/examples/packages/wasm/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "ZLNLyIw7vPg+geDBqmngSU6+92UjZPhG6on34Ij3+Nc=", + "shasum": "GJ/CUZ822pg9YgzwumZJUg3y4EsirAMVq9i/Zv6zJNI=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -22,6 +22,6 @@ }, "endowment:webassembly": {} }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/examples/packages/webpack-plugin/snap.manifest.json b/packages/examples/packages/webpack-plugin/snap.manifest.json index d990776378..79c7b63ba3 100644 --- a/packages/examples/packages/webpack-plugin/snap.manifest.json +++ b/packages/examples/packages/webpack-plugin/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snaps.git" }, "source": { - "shasum": "l5ZrPChhTClz9FfuqCVCk95v7zwDzchZpWmHs/4Iji0=", + "shasum": "J8pR53SHhATCqZ/s8A3qDkWOlvLV/Dp/IGenHxczvro=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -21,6 +21,6 @@ "dapps": true } }, - "platformVersion": "6.15.0", + "platformVersion": "6.16.0", "manifestVersion": "0.1" } diff --git a/packages/snaps-controllers/CHANGELOG.md b/packages/snaps-controllers/CHANGELOG.md index 7abb0ffaca..5abc00596a 100644 --- a/packages/snaps-controllers/CHANGELOG.md +++ b/packages/snaps-controllers/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [9.18.0] + +### Added + +- Add support for `onAssetsLookup` and `onAssetsConversion` handlers ([#3028](https://github.com/MetaMask/snaps/pull/3028)) + ## [9.17.0] ### Added @@ -605,7 +611,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The version of the package no longer needs to match the version of all other MetaMask Snaps packages. -[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.17.0...HEAD +[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.18.0...HEAD +[9.18.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.17.0...@metamask/snaps-controllers@9.18.0 [9.17.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.16.0...@metamask/snaps-controllers@9.17.0 [9.16.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.15.0...@metamask/snaps-controllers@9.16.0 [9.15.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.14.0...@metamask/snaps-controllers@9.15.0 diff --git a/packages/snaps-controllers/package.json b/packages/snaps-controllers/package.json index 9d95c45715..9a02130d6b 100644 --- a/packages/snaps-controllers/package.json +++ b/packages/snaps-controllers/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/snaps-controllers", - "version": "9.17.0", + "version": "9.18.0", "description": "Controllers for MetaMask Snaps", "keywords": [ "MetaMask", diff --git a/packages/snaps-execution-environments/CHANGELOG.md b/packages/snaps-execution-environments/CHANGELOG.md index 4f218106b4..10770860bc 100644 --- a/packages/snaps-execution-environments/CHANGELOG.md +++ b/packages/snaps-execution-environments/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [6.13.0] + +### Added + +- Add `Intl` as a default global ([#3035](https://github.com/MetaMask/snaps/pull/3035)) +- Add support for `onAssetsLookup` and `onAssetsConversion` handlers ([#3028](https://github.com/MetaMask/snaps/pull/3028)) + ## [6.12.0] ### Changed @@ -415,7 +422,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The version of the package no longer needs to match the version of all other MetaMask Snaps packages. -[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-execution-environments@6.12.0...HEAD +[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-execution-environments@6.13.0...HEAD +[6.13.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-execution-environments@6.12.0...@metamask/snaps-execution-environments@6.13.0 [6.12.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-execution-environments@6.11.0...@metamask/snaps-execution-environments@6.12.0 [6.11.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-execution-environments@6.10.0...@metamask/snaps-execution-environments@6.11.0 [6.10.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-execution-environments@6.9.2...@metamask/snaps-execution-environments@6.10.0 diff --git a/packages/snaps-execution-environments/package.json b/packages/snaps-execution-environments/package.json index 949696530e..7c3c84fa84 100644 --- a/packages/snaps-execution-environments/package.json +++ b/packages/snaps-execution-environments/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/snaps-execution-environments", - "version": "6.12.0", + "version": "6.13.0", "description": "Snap sandbox environments for executing SES javascript", "keywords": [ "MetaMask", diff --git a/packages/snaps-execution-environments/src/common/endowments/commonEndowmentFactory.ts b/packages/snaps-execution-environments/src/common/endowments/commonEndowmentFactory.ts index 6efa59ae19..7736d5080b 100644 --- a/packages/snaps-execution-environments/src/common/endowments/commonEndowmentFactory.ts +++ b/packages/snaps-execution-environments/src/common/endowments/commonEndowmentFactory.ts @@ -39,6 +39,7 @@ const commonEndowments: CommonEndowmentSpecification[] = [ { endowment: DataView, name: 'DataView' }, { endowment: Float32Array, name: 'Float32Array' }, { endowment: Float64Array, name: 'Float64Array' }, + { endowment: Intl, name: 'Intl' }, { endowment: Int8Array, name: 'Int8Array' }, { endowment: Int16Array, name: 'Int16Array' }, { endowment: Int32Array, name: 'Int32Array' }, @@ -48,6 +49,7 @@ const commonEndowments: CommonEndowmentSpecification[] = [ { endowment: Uint16Array, name: 'Uint16Array' }, { endowment: Uint32Array, name: 'Uint32Array' }, { endowment: URL, name: 'URL' }, + { endowment: URLSearchParams, name: 'URLSearchParams' }, { endowment: WebAssembly, name: 'WebAssembly' }, ]; diff --git a/packages/snaps-execution-environments/src/common/endowments/endowments.test.browser.ts b/packages/snaps-execution-environments/src/common/endowments/endowments.test.browser.ts index 3268506f5f..39a7d84f08 100644 --- a/packages/snaps-execution-environments/src/common/endowments/endowments.test.browser.ts +++ b/packages/snaps-execution-environments/src/common/endowments/endowments.test.browser.ts @@ -92,6 +92,10 @@ describe('endowments', () => { endowments: { URL }, factory: () => new URL('https://metamask.io/snaps/'), }, + URLSearchParams: { + endowments: { URLSearchParams }, + factory: () => new URLSearchParams('https://metamask.io/snaps?foo=bar'), + }, Int8Array: { endowments: { Int8Array }, factory: () => new Int8Array(), @@ -168,6 +172,10 @@ describe('endowments', () => { endowments: { crypto }, factory: () => crypto, }, + Intl: { + endowments: { Intl }, + factory: () => Intl, + }, mathAttenuated: { endowments: { mathAttenuated }, factory: () => mathAttenuated, @@ -352,6 +360,10 @@ describe('endowments', () => { factory: expect.any(Function), names: ['Float64Array'], }, + { + factory: expect.any(Function), + names: ['Intl'], + }, { factory: expect.any(Function), names: ['Int8Array'], @@ -376,6 +388,7 @@ describe('endowments', () => { { factory: expect.any(Function), names: ['Uint16Array'] }, { factory: expect.any(Function), names: ['Uint32Array'] }, { factory: expect.any(Function), names: ['URL'] }, + { factory: expect.any(Function), names: ['URLSearchParams'] }, { factory: expect.any(Function), names: ['WebAssembly'] }, ]); }); diff --git a/packages/snaps-rpc-methods/CHANGELOG.md b/packages/snaps-rpc-methods/CHANGELOG.md index 45a85918ad..ba9745c162 100644 --- a/packages/snaps-rpc-methods/CHANGELOG.md +++ b/packages/snaps-rpc-methods/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [11.10.0] + +### Added + +- Add `endowment:assets` permission ([#3028](https://github.com/MetaMask/snaps/pull/3028)) + ## [11.9.1] ### Fixed @@ -368,7 +374,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The version of the package no longer needs to match the version of all other MetaMask Snaps packages. -[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.9.1...HEAD +[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.10.0...HEAD +[11.10.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.9.1...@metamask/snaps-rpc-methods@11.10.0 [11.9.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.9.0...@metamask/snaps-rpc-methods@11.9.1 [11.9.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.8.0...@metamask/snaps-rpc-methods@11.9.0 [11.8.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@11.7.0...@metamask/snaps-rpc-methods@11.8.0 diff --git a/packages/snaps-rpc-methods/package.json b/packages/snaps-rpc-methods/package.json index 86430e95fc..0d0831802e 100644 --- a/packages/snaps-rpc-methods/package.json +++ b/packages/snaps-rpc-methods/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/snaps-rpc-methods", - "version": "11.9.1", + "version": "11.10.0", "description": "MetaMask Snaps JSON-RPC method implementations", "keywords": [ "MetaMask", diff --git a/packages/snaps-sdk/CHANGELOG.md b/packages/snaps-sdk/CHANGELOG.md index 00d6343176..1e241ee8a6 100644 --- a/packages/snaps-sdk/CHANGELOG.md +++ b/packages/snaps-sdk/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [6.16.0] + +### Added + +- Add types for `onAssetsLookup` and `onAssetsConversion` handlers ([#3028](https://github.com/MetaMask/snaps/pull/3028)) +- Add `Skeleton` component ([#3024](https://github.com/MetaMask/snaps/pull/3024)) +- Add border radius prop to `Image` ([#3023](https://github.com/MetaMask/snaps/pull/3023)) + ## [6.15.0] ### Added @@ -463,7 +471,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial release of this package. -[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-sdk@6.15.0...HEAD +[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-sdk@6.16.0...HEAD +[6.16.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-sdk@6.15.0...@metamask/snaps-sdk@6.16.0 [6.15.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-sdk@6.14.0...@metamask/snaps-sdk@6.15.0 [6.14.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-sdk@6.13.0...@metamask/snaps-sdk@6.14.0 [6.13.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-sdk@6.12.0...@metamask/snaps-sdk@6.13.0 diff --git a/packages/snaps-sdk/package.json b/packages/snaps-sdk/package.json index 5bfd3de3e9..e0332c6685 100644 --- a/packages/snaps-sdk/package.json +++ b/packages/snaps-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/snaps-sdk", - "version": "6.15.0", + "version": "6.16.0", "description": "A library containing the core functionality for building MetaMask Snaps", "keywords": [ "MetaMask", diff --git a/packages/snaps-sdk/src/jsx/components/Avatar.ts b/packages/snaps-sdk/src/jsx/components/Avatar.ts index 36e97ab462..d1f1a624fc 100644 --- a/packages/snaps-sdk/src/jsx/components/Avatar.ts +++ b/packages/snaps-sdk/src/jsx/components/Avatar.ts @@ -6,6 +6,7 @@ import { createSnapComponent } from '../component'; * The props of the {@link Avatar} component. * * @property address - The address to display. This should be a valid CAIP-10 address. + * @property size - The size of the avatar. Can be `sm`, `md`, or `lg`. Defaults to `md`. */ export type AvatarProps = { address: CaipAccountId; @@ -21,6 +22,7 @@ const TYPE = 'Avatar'; * * @param props - The props of the component. * @param props.address - The address to display. This should be a valid CAIP-10 address. + * @param props.size - The size of the avatar. Can be `sm`, `md`, or `lg`. Defaults to `md`. * @returns An avatar element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/Checkbox.test.tsx b/packages/snaps-sdk/src/jsx/components/form/Checkbox.test.tsx index 7ac2a7557a..1bb3ece167 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Checkbox.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/Checkbox.test.tsx @@ -14,9 +14,15 @@ describe('Checkbox', () => { }); }); - it('renders a checkbox with a variant and a label', () => { + it('renders a disabled checkbox with a variant and a label', () => { const result = ( - + ); expect(result).toStrictEqual({ @@ -26,6 +32,7 @@ describe('Checkbox', () => { checked: true, variant: 'toggle', label: 'Foo', + disabled: true, }, key: null, }); diff --git a/packages/snaps-sdk/src/jsx/components/form/Checkbox.ts b/packages/snaps-sdk/src/jsx/components/form/Checkbox.ts index ad2dd799fc..df462ef5cf 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Checkbox.ts +++ b/packages/snaps-sdk/src/jsx/components/form/Checkbox.ts @@ -8,12 +8,14 @@ import { createSnapComponent } from '../../component'; * @property checked - Whether the checkbox is checked or not. * @property label - An optional label for the checkbox. * @property variant - An optional variant for the checkbox. + * @property disabled - Whether the checkbox is disabled. */ export type CheckboxProps = { name: string; checked?: boolean | undefined; label?: string | undefined; variant?: 'default' | 'toggle' | undefined; + disabled?: boolean | undefined; }; const TYPE = 'Checkbox'; @@ -27,6 +29,7 @@ const TYPE = 'Checkbox'; * @param props.checked - Whether the checkbox is checked or not. * @param props.label - An optional label for the checkbox. * @param props.variant - An optional variant for the checkbox. + * @param props.disabled - Whether the checkbox is disabled. * @returns A checkbox element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/Dropdown.test.tsx b/packages/snaps-sdk/src/jsx/components/form/Dropdown.test.tsx index a43e4f91f7..de8618ab83 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Dropdown.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/Dropdown.test.tsx @@ -66,4 +66,41 @@ describe('Dropdown', () => { key: null, }); }); + + it('renders disabled dropdown with options', () => { + const result = ( + + + + + ); + + expect(result).toStrictEqual({ + type: 'Dropdown', + props: { + name: 'dropdown', + value: 'foo', + disabled: true, + children: [ + { + type: 'Option', + props: { + value: 'foo', + children: 'Foo', + }, + key: null, + }, + { + type: 'Option', + props: { + value: 'bar', + children: 'Bar', + }, + key: null, + }, + ], + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/Dropdown.ts b/packages/snaps-sdk/src/jsx/components/form/Dropdown.ts index f0c476fb2b..f5f6877188 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Dropdown.ts +++ b/packages/snaps-sdk/src/jsx/components/form/Dropdown.ts @@ -9,11 +9,13 @@ import type { OptionElement } from './Option'; * state in the form data. * @property value - The selected value of the dropdown. * @property children - The children of the dropdown. + * @property disabled - Whether the dropdown is disabled. */ export type DropdownProps = { name: string; value?: string | undefined; children: SnapsChildren; + disabled?: boolean | undefined; }; const TYPE = 'Dropdown'; @@ -26,6 +28,7 @@ const TYPE = 'Dropdown'; * state in the form data. * @param props.value - The selected value of the dropdown. * @param props.children - The children of the dropdown. + * @param props.disabled - Whether the dropdown is disabled. * @returns A dropdown element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/FileInput.test.tsx b/packages/snaps-sdk/src/jsx/components/form/FileInput.test.tsx index 77ea8a4542..8e64905129 100644 --- a/packages/snaps-sdk/src/jsx/components/form/FileInput.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/FileInput.test.tsx @@ -26,4 +26,17 @@ describe('FileInput', () => { key: null, }); }); + + it('renders disabled file input', () => { + const result = ; + + expect(result).toStrictEqual({ + type: 'FileInput', + props: { + name: 'foo', + disabled: true, + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/FileInput.ts b/packages/snaps-sdk/src/jsx/components/form/FileInput.ts index 7a009ae689..56bc6b9b95 100644 --- a/packages/snaps-sdk/src/jsx/components/form/FileInput.ts +++ b/packages/snaps-sdk/src/jsx/components/form/FileInput.ts @@ -10,11 +10,13 @@ import { createSnapComponent } from '../../component'; * specified, the file input field accepts all file types. * @property compact - Whether the file input field is compact. Default is * `false`. + * @property disabled - whether the file input is disabled. */ export type FileInputProps = { name: string; accept?: string[] | undefined; compact?: boolean | undefined; + disabled?: boolean | undefined; }; const TYPE = 'FileInput'; @@ -33,6 +35,7 @@ const TYPE = 'FileInput'; * valid values, see the [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept). * @param props.compact - Whether the file input field is compact. Default is * `false`. + * @param props.disabled - Whether the file input is disabled. * @returns A file input element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/Input.test.tsx b/packages/snaps-sdk/src/jsx/components/form/Input.test.tsx index f446081a89..1696e8447e 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Input.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/Input.test.tsx @@ -42,4 +42,58 @@ describe('Input', () => { key: null, }); }); + + it('renders a disabled text input', () => { + const result = ; + + expect(result).toStrictEqual({ + type: 'Input', + props: { + name: 'foo', + type: 'text', + disabled: true, + }, + key: null, + }); + }); + + it('renders a disabled number input', () => { + const result = ( + + ); + + expect(result).toStrictEqual({ + type: 'Input', + props: { + name: 'foo', + type: 'number', + min: 0, + max: 10, + step: 1, + disabled: true, + }, + key: null, + }); + }); + + it('renders a disabled password input', () => { + const result = ; + + expect(result).toStrictEqual({ + type: 'Input', + props: { + name: 'foo', + type: 'password', + disabled: true, + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/Input.ts b/packages/snaps-sdk/src/jsx/components/form/Input.ts index 814bac24f5..6897019687 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Input.ts +++ b/packages/snaps-sdk/src/jsx/components/form/Input.ts @@ -6,6 +6,7 @@ export type GenericInputProps = { name: string; value?: string | undefined; placeholder?: string | undefined; + disabled?: boolean | undefined; }; export type TextInputProps = { type: 'text' } & GenericInputProps; @@ -57,6 +58,7 @@ const TYPE = 'Input'; * Only applicable to the type `number` input. * @param props.step - The step value of the input field. * Only applicable to the type `number` input. + * @param props.disabled - Whether the input is disabled. * @returns An input element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/Option.test.tsx b/packages/snaps-sdk/src/jsx/components/form/Option.test.tsx index 0c6a5eb3b2..8f3c6d7e6e 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Option.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/Option.test.tsx @@ -13,4 +13,22 @@ describe('Option', () => { key: null, }); }); + + it('renders disabled dropdown option', () => { + const result = ( + + ); + + expect(result).toStrictEqual({ + type: 'Option', + props: { + value: 'foo', + children: 'Foo', + disabled: true, + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/Option.ts b/packages/snaps-sdk/src/jsx/components/form/Option.ts index 6466ce068c..d83ad56a92 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Option.ts +++ b/packages/snaps-sdk/src/jsx/components/form/Option.ts @@ -8,10 +8,12 @@ import { Dropdown } from './Dropdown'; * @property value - The value of the dropdown option. This is used to populate the * state in the form data. * @property children - The text to display. + * @property disabled - Whether the option is disabled. */ type OptionProps = { value: string; children: string; + disabled?: boolean; }; const TYPE = 'Option'; @@ -24,6 +26,7 @@ const TYPE = 'Option'; * @param props.value - The value of the dropdown option. This is used to populate the * state in the form data. * @param props.children - The text to display. + * @param props.disabled - Whether the option is disabled. * @returns A dropdown option element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/Radio.test.tsx b/packages/snaps-sdk/src/jsx/components/form/Radio.test.tsx index 3c4f441296..5f51eb2f4e 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Radio.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/Radio.test.tsx @@ -13,4 +13,22 @@ describe('Radio', () => { key: null, }); }); + + it('renders a disabled radio option', () => { + const result = ( + + Foo + + ); + + expect(result).toStrictEqual({ + type: 'Radio', + props: { + value: 'foo', + disabled: true, + children: 'Foo', + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/Radio.ts b/packages/snaps-sdk/src/jsx/components/form/Radio.ts index d01200d3b3..f52998725e 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Radio.ts +++ b/packages/snaps-sdk/src/jsx/components/form/Radio.ts @@ -6,10 +6,12 @@ import { createSnapComponent } from '../../component'; * @property value - The value of the radio option. This is used to populate the * state in the form data. * @property children - The text to display. + * @property disabled - Whether the radio is disabled. */ type RadioProps = { value: string; children: string; + disabled?: boolean | undefined; }; const TYPE = 'Radio'; @@ -22,6 +24,7 @@ const TYPE = 'Radio'; * @param props.value - The value of the radio option. This is used to populate the * state in the form data. * @param props.children - The text to display. + * @param props.disabled - Whether the radio is disabled. * @returns A radio element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/RadioGroup.test.tsx b/packages/snaps-sdk/src/jsx/components/form/RadioGroup.test.tsx index f9874a44f1..5770570490 100644 --- a/packages/snaps-sdk/src/jsx/components/form/RadioGroup.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/RadioGroup.test.tsx @@ -45,4 +45,40 @@ describe('RadioGroup', () => { key: null, }); }); + + it('renders a disabled Radio group', () => { + const result = ( + + Option A + Option B + + ); + + expect(result).toStrictEqual({ + type: 'RadioGroup', + props: { + name: 'radio-choice', + disabled: true, + children: [ + { + type: 'Radio', + key: null, + props: { + value: 'A', + children: 'Option A', + }, + }, + { + type: 'Radio', + key: null, + props: { + value: 'B', + children: 'Option B', + }, + }, + ], + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/RadioGroup.ts b/packages/snaps-sdk/src/jsx/components/form/RadioGroup.ts index b23ef09100..da1b31330d 100644 --- a/packages/snaps-sdk/src/jsx/components/form/RadioGroup.ts +++ b/packages/snaps-sdk/src/jsx/components/form/RadioGroup.ts @@ -9,17 +9,25 @@ const TYPE = 'RadioGroup'; * * @property name - The name of the dropdown. This is used to identify the * state in the form data. + * @property value - The value of the radio group element. * @property children - Radio options in form of elements. + * @property disabled - Whether the radio group is disabled. */ type RadioGroupProps = { name: string; value?: string | undefined; children: SnapsChildren; + disabled?: boolean | undefined; }; /** * A RadioGroup component, used to display multiple choices, where only one can be chosen. * + * @param props.name - The name of the dropdown. This is used to identify the + * state in the form data. + * @param props.value - The value of the radio group element. + * @param props.children - Radio options in form of elements. + * @param props.disabled - Whether the radio group is disabled. * @returns A RadioGroup element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/Selector.test.tsx b/packages/snaps-sdk/src/jsx/components/form/Selector.test.tsx index 843025d3d0..127c4c217c 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Selector.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/Selector.test.tsx @@ -100,4 +100,45 @@ describe('Selector', () => { key: null, }); }); + + it('renders a disabled selector', () => { + const result = ( + + + + + + ); + + expect(result).toStrictEqual({ + type: 'Selector', + props: { + name: 'selector', + value: 'foo', + title: 'Choose an option', + disabled: true, + children: { + type: 'SelectorOption', + props: { + value: 'foo', + children: { + type: 'Card', + props: { + title: 'Foo', + value: '$1', + }, + key: null, + }, + }, + key: null, + }, + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/Selector.ts b/packages/snaps-sdk/src/jsx/components/form/Selector.ts index 67e8adb9c8..503ac0e5f8 100644 --- a/packages/snaps-sdk/src/jsx/components/form/Selector.ts +++ b/packages/snaps-sdk/src/jsx/components/form/Selector.ts @@ -10,12 +10,14 @@ import type { SelectorOptionElement } from './SelectorOption'; * @property title - The title of the selector. This is displayed in the UI. * @property value - The selected value of the selector. * @property children - The children of the selector. + * @property disabled - Whether the selector is disabled. */ export type SelectorProps = { name: string; title: string; value?: string | undefined; children: SnapsChildren; + disabled?: boolean | undefined; }; const TYPE = 'Selector'; @@ -29,6 +31,7 @@ const TYPE = 'Selector'; * @param props.title - The title of the selector field. This is displayed in the UI. * @param props.value - The selected value of the selector. * @param props.children - The children of the selector. + * @property disabled - Whether the selector is disabled. * @returns A selector element. * @example * diff --git a/packages/snaps-sdk/src/jsx/components/form/SelectorOption.test.tsx b/packages/snaps-sdk/src/jsx/components/form/SelectorOption.test.tsx index 65dd9aeb0a..7ea5451270 100644 --- a/packages/snaps-sdk/src/jsx/components/form/SelectorOption.test.tsx +++ b/packages/snaps-sdk/src/jsx/components/form/SelectorOption.test.tsx @@ -25,4 +25,29 @@ describe('Option', () => { key: null, }); }); + + it('renders a disabled selector option', () => { + const result = ( + + + + ); + + expect(result).toStrictEqual({ + type: 'SelectorOption', + props: { + value: 'foo', + disabled: true, + children: { + type: 'Card', + props: { + title: 'Foo', + value: 'Bar', + }, + key: null, + }, + }, + key: null, + }); + }); }); diff --git a/packages/snaps-sdk/src/jsx/components/form/SelectorOption.ts b/packages/snaps-sdk/src/jsx/components/form/SelectorOption.ts index 67734f5716..00c847c01c 100644 --- a/packages/snaps-sdk/src/jsx/components/form/SelectorOption.ts +++ b/packages/snaps-sdk/src/jsx/components/form/SelectorOption.ts @@ -7,10 +7,12 @@ import type { CardElement } from '../Card'; * @property value - The value of the selector option. This is used to populate the * state in the form data. * @property children - The component to display. + * @property disabled - Whether the selector option is disabled. */ export type SelectorOptionProps = { value: string; children: CardElement; + disabled?: boolean; }; const TYPE = 'SelectorOption'; @@ -23,6 +25,7 @@ const TYPE = 'SelectorOption'; * @param props.value - The value of the selector option. This is used to populate the * state in the form data. * @param props.children - The component to display. + * @param props.disabled - Whether the selector option is disabled. * @returns A selector option element. * @example * diff --git a/packages/snaps-sdk/src/jsx/validation.test.tsx b/packages/snaps-sdk/src/jsx/validation.test.tsx index f7c38514aa..cbe0999408 100644 --- a/packages/snaps-sdk/src/jsx/validation.test.tsx +++ b/packages/snaps-sdk/src/jsx/validation.test.tsx @@ -210,8 +210,11 @@ describe('ButtonStruct', () => { describe('InputStruct', () => { it.each([ , + , , + , , + , , , , @@ -811,6 +814,7 @@ describe('CheckboxStruct', () => { , , , + , ])('validates a dropdown element', (value) => { expect(is(value, CheckboxStruct)).toBe(true); }); @@ -899,6 +903,16 @@ describe('DropdownStruct', () => { , + + + + , + + + + , ])('validates a dropdown element', (value) => { expect(is(value, DropdownStruct)).toBe(true); }); @@ -930,6 +944,12 @@ describe('RadioGroupStruct', () => { Option 1 Option 2 , + + Option 1 + + Option 2 + + , ])('validates a radio group element', (value) => { expect(is(value, RadioGroupStruct)).toBe(true); }); @@ -960,6 +980,7 @@ describe('FileInputStruct', () => { , , , + , ])('validates a file input element', (value) => { expect(is(value, FileInputStruct)).toBe(true); }); @@ -1001,6 +1022,16 @@ describe('SelectorStruct', () => { , + + + + + , + + + + + , ])('validates a selector element', (value) => { expect(is(value, SelectorStruct)).toBe(true); }); diff --git a/packages/snaps-sdk/src/jsx/validation.ts b/packages/snaps-sdk/src/jsx/validation.ts index 3649a37da8..b02997c944 100644 --- a/packages/snaps-sdk/src/jsx/validation.ts +++ b/packages/snaps-sdk/src/jsx/validation.ts @@ -270,6 +270,7 @@ export const CheckboxStruct: Describe = element('Checkbox', { checked: optional(boolean()), label: optional(string()), variant: optional(nullUnion([literal('default'), literal('toggle')])), + disabled: optional(boolean()), }); /** @@ -279,6 +280,7 @@ export const GenericInputPropsStruct = object({ name: string(), value: optional(string()), placeholder: optional(string()), + disabled: optional(boolean()), }); /** @@ -342,6 +344,7 @@ export const InputStruct: Describe = elementWithSelectiveProps( export const OptionStruct: Describe = element('Option', { value: string(), children: string(), + disabled: optional(boolean()), }); /** @@ -351,6 +354,7 @@ export const DropdownStruct: Describe = element('Dropdown', { name: string(), value: optional(string()), children: children([OptionStruct]), + disabled: optional(boolean()), }); /** @@ -387,6 +391,7 @@ export const SelectorOptionStruct: Describe = element( { value: string(), children: CardStruct, + disabled: optional(boolean()), }, ); @@ -398,6 +403,7 @@ export const SelectorStruct: Describe = element('Selector', { title: string(), value: optional(string()), children: children([SelectorOptionStruct]), + disabled: optional(boolean()), }); /** @@ -406,6 +412,7 @@ export const SelectorStruct: Describe = element('Selector', { export const RadioStruct: Describe = element('Radio', { value: string(), children: string(), + disabled: optional(boolean()), }); /** @@ -417,6 +424,7 @@ export const RadioGroupStruct: Describe = element( name: string(), value: optional(string()), children: children([RadioStruct]), + disabled: optional(boolean()), }, ); @@ -429,6 +437,7 @@ export const FileInputStruct: Describe = element( name: string(), accept: nullUnion([optional(array(string()))]), compact: optional(boolean()), + disabled: optional(boolean()), }, ); diff --git a/packages/snaps-simulation/src/methods/specifications.test.ts b/packages/snaps-simulation/src/methods/specifications.test.ts index 6b23e2789b..a1be97a8d5 100644 --- a/packages/snaps-simulation/src/methods/specifications.test.ts +++ b/packages/snaps-simulation/src/methods/specifications.test.ts @@ -347,6 +347,7 @@ describe('getEndowments', () => { "TextDecoder", "TextEncoder", "URL", + "URLSearchParams", "setInterval", "clearInterval", "Int8Array", @@ -356,6 +357,7 @@ describe('getEndowments', () => { "Uint16Array", "Int32Array", "isSecureContext", + "Intl", "Uint32Array", "Float32Array", "Float64Array", diff --git a/packages/snaps-utils/CHANGELOG.md b/packages/snaps-utils/CHANGELOG.md index c0df5f8300..465b47a867 100644 --- a/packages/snaps-utils/CHANGELOG.md +++ b/packages/snaps-utils/CHANGELOG.md @@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [8.9.1] + +### Fixed + +- Correct validation for scopes on `endowment:assets` permission ([#3039](https://github.com/MetaMask/snaps/pull/3039)) + +## [8.9.0] + +### Added + +- Add support for `onAssetsLookup` and `onAssetsConversion` handlers ([#3028](https://github.com/MetaMask/snaps/pull/3028)) +- Add `Intl` as a default global ([#3035](https://github.com/MetaMask/snaps/pull/3035)) + ## [8.8.0] ### Added @@ -515,7 +528,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The version of the package no longer needs to match the version of all other MetaMask Snaps packages. -[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.8.0...HEAD +[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.9.1...HEAD +[8.9.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.9.0...@metamask/snaps-utils@8.9.1 +[8.9.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.8.0...@metamask/snaps-utils@8.9.0 [8.8.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.7.0...@metamask/snaps-utils@8.8.0 [8.7.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.6.1...@metamask/snaps-utils@8.7.0 [8.6.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@8.6.0...@metamask/snaps-utils@8.6.1 diff --git a/packages/snaps-utils/package.json b/packages/snaps-utils/package.json index 7f95853587..06b1704571 100644 --- a/packages/snaps-utils/package.json +++ b/packages/snaps-utils/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/snaps-utils", - "version": "8.8.0", + "version": "8.9.1", "description": "A collection of utilities for MetaMask Snaps", "keywords": [ "MetaMask", diff --git a/packages/snaps-utils/src/default-endowments.ts b/packages/snaps-utils/src/default-endowments.ts index eb471e977a..7cf263bc02 100644 --- a/packages/snaps-utils/src/default-endowments.ts +++ b/packages/snaps-utils/src/default-endowments.ts @@ -15,6 +15,7 @@ export const DEFAULT_ENDOWMENTS: readonly string[] = Object.freeze([ 'TextDecoder', 'TextEncoder', 'URL', + 'URLSearchParams', 'setInterval', 'clearInterval', 'Int8Array', @@ -24,6 +25,7 @@ export const DEFAULT_ENDOWMENTS: readonly string[] = Object.freeze([ 'Uint16Array', 'Int32Array', 'isSecureContext', + 'Intl', 'Uint32Array', 'Float32Array', 'Float64Array', diff --git a/packages/snaps-utils/src/manifest/validation.ts b/packages/snaps-utils/src/manifest/validation.ts index becb3073b0..2721bb2cc8 100644 --- a/packages/snaps-utils/src/manifest/validation.ts +++ b/packages/snaps-utils/src/manifest/validation.ts @@ -189,10 +189,7 @@ export const EmptyObjectStruct = object({}) as unknown as Struct< /* eslint-disable @typescript-eslint/naming-convention */ export const PermissionsStruct: Describe = type({ 'endowment:assets': optional( - mergeStructs( - HandlerCaveatsStruct, - object({ scopes: size(array(ChainIdsStruct), 1, Infinity) }), - ), + mergeStructs(HandlerCaveatsStruct, object({ scopes: ChainIdsStruct })), ), 'endowment:cronjob': optional( mergeStructs( diff --git a/packages/test-snaps/CHANGELOG.md b/packages/test-snaps/CHANGELOG.md index 097b3a337f..7215622754 100644 --- a/packages/test-snaps/CHANGELOG.md +++ b/packages/test-snaps/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.18.1] + +### Fixed + +- Fix RPC method name for notifications example Snap ([#3020](https://github.com/MetaMask/snaps/pull/3020)) + ## [2.18.0] ### Added @@ -270,7 +276,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix NPM package name of the network access snap ([#1621](https://github.com/MetaMask/snaps/pull/1621)) -[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/test-snaps@2.18.0...HEAD +[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/test-snaps@2.18.1...HEAD +[2.18.1]: https://github.com/MetaMask/snaps/compare/@metamask/test-snaps@2.18.0...@metamask/test-snaps@2.18.1 [2.18.0]: https://github.com/MetaMask/snaps/compare/@metamask/test-snaps@2.17.0...@metamask/test-snaps@2.18.0 [2.17.0]: https://github.com/MetaMask/snaps/compare/@metamask/test-snaps@2.16.0...@metamask/test-snaps@2.17.0 [2.16.0]: https://github.com/MetaMask/snaps/compare/@metamask/test-snaps@2.15.4...@metamask/test-snaps@2.16.0 diff --git a/packages/test-snaps/package.json b/packages/test-snaps/package.json index 4c04cb3faa..2ddd4fea26 100644 --- a/packages/test-snaps/package.json +++ b/packages/test-snaps/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/test-snaps", - "version": "2.18.0", + "version": "2.18.1", "private": true, "description": "The test snaps website for MetaMask Snaps, used for end-to-end testing", "keywords": [ diff --git a/yarn.lock b/yarn.lock index 18e3ef2383..37f66c42e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4520,16 +4520,17 @@ __metadata: linkType: hard "@metamask/eth-sig-util@npm:^8.1.2": - version: 8.1.2 - resolution: "@metamask/eth-sig-util@npm:8.1.2" + version: 8.2.0 + resolution: "@metamask/eth-sig-util@npm:8.2.0" dependencies: + "@ethereumjs/rlp": "npm:^4.0.1" "@ethereumjs/util": "npm:^8.1.0" "@metamask/abi-utils": "npm:^3.0.0" "@metamask/utils": "npm:^11.0.1" "@scure/base": "npm:~1.1.3" ethereum-cryptography: "npm:^2.1.2" tweetnacl: "npm:^1.0.3" - checksum: 10/32b284fc8c3229e3741b1c21f44ca3f55c2215ef8ad700775cd9501bbaab56a4e861827bef24ed263734d28c899eb3b34a9646e9d21ec3fce12204b7eb58bfed + checksum: 10/385df1ec541116e1bd725a1df1a519996bad167f99d1b2677126e398cdfda6fc3f03d2ff8f1ca523966bc0aae3ea92a9050953a45d5a7711f4128aacf9242bfc languageName: node linkType: hard