diff --git a/.yarn/cache/@account-abstraction-contracts-npm-0.4.0-1fcfb01a74-e49bf64607.zip b/.yarn/cache/@account-abstraction-contracts-npm-0.4.0-1fcfb01a74-e49bf64607.zip deleted file mode 100644 index 9bd708aceb..0000000000 Binary files a/.yarn/cache/@account-abstraction-contracts-npm-0.4.0-1fcfb01a74-e49bf64607.zip and /dev/null differ diff --git a/.yarn/cache/@account-abstraction-contracts-npm-0.6.0-81f1ecd621-745e838e2c.zip b/.yarn/cache/@account-abstraction-contracts-npm-0.6.0-81f1ecd621-745e838e2c.zip deleted file mode 100644 index 07afadb044..0000000000 Binary files a/.yarn/cache/@account-abstraction-contracts-npm-0.6.0-81f1ecd621-745e838e2c.zip and /dev/null differ diff --git a/.yarn/cache/@account-abstraction-utils-npm-0.4.0-9c93a39528-6c1ffea888.zip b/.yarn/cache/@account-abstraction-utils-npm-0.4.0-9c93a39528-6c1ffea888.zip deleted file mode 100644 index e12e4021ce..0000000000 Binary files a/.yarn/cache/@account-abstraction-utils-npm-0.4.0-9c93a39528-6c1ffea888.zip and /dev/null differ diff --git a/.yarn/cache/@ambire-signature-validator-npm-1.3.1-a68f519d5e-44c4796f4c.zip b/.yarn/cache/@ambire-signature-validator-npm-1.3.1-a68f519d5e-44c4796f4c.zip deleted file mode 100644 index dafb8aec40..0000000000 Binary files a/.yarn/cache/@ambire-signature-validator-npm-1.3.1-a68f519d5e-44c4796f4c.zip and /dev/null differ diff --git a/.yarn/cache/@ethersproject-shims-npm-5.7.0-959564ca1f-605af6961d.zip b/.yarn/cache/@ethersproject-shims-npm-5.7.0-959564ca1f-605af6961d.zip deleted file mode 100644 index 0f0e47e6c8..0000000000 Binary files a/.yarn/cache/@ethersproject-shims-npm-5.7.0-959564ca1f-605af6961d.zip and /dev/null differ diff --git a/.yarn/cache/@ljharb-resumer-npm-0.0.1-4e6aed62a0-1cff0a485c.zip b/.yarn/cache/@ljharb-resumer-npm-0.0.1-4e6aed62a0-1cff0a485c.zip deleted file mode 100644 index 84c11b4db1..0000000000 Binary files a/.yarn/cache/@ljharb-resumer-npm-0.0.1-4e6aed62a0-1cff0a485c.zip and /dev/null differ diff --git a/.yarn/cache/@ljharb-through-npm-2.3.11-da1f942873-1050272602.zip b/.yarn/cache/@ljharb-through-npm-2.3.11-da1f942873-1050272602.zip deleted file mode 100644 index 39682a2831..0000000000 Binary files a/.yarn/cache/@ljharb-through-npm-2.3.11-da1f942873-1050272602.zip and /dev/null differ diff --git a/.yarn/cache/@metamask-eth-sig-util-npm-5.0.2-7a51a167d8-1fbf1a0f5e.zip b/.yarn/cache/@metamask-eth-sig-util-npm-5.0.2-7a51a167d8-1fbf1a0f5e.zip deleted file mode 100644 index 22bf5370a1..0000000000 Binary files a/.yarn/cache/@metamask-eth-sig-util-npm-5.0.2-7a51a167d8-1fbf1a0f5e.zip and /dev/null differ diff --git a/.yarn/cache/@noble-curves-npm-1.1.0-dccaf3c158-2658cdd3f8.zip b/.yarn/cache/@noble-curves-npm-1.1.0-dccaf3c158-2658cdd3f8.zip deleted file mode 100644 index 062059ebfd..0000000000 Binary files a/.yarn/cache/@noble-curves-npm-1.1.0-dccaf3c158-2658cdd3f8.zip and /dev/null differ diff --git a/.yarn/cache/@noble-curves-npm-1.3.0-e6ed020ee6-b65342ee66.zip b/.yarn/cache/@noble-curves-npm-1.3.0-e6ed020ee6-b65342ee66.zip new file mode 100644 index 0000000000..4324efc3a3 Binary files /dev/null and b/.yarn/cache/@noble-curves-npm-1.3.0-e6ed020ee6-b65342ee66.zip differ diff --git a/.yarn/cache/@noble-hashes-npm-1.2.0-71d3c56c21-8ca080ce55.zip b/.yarn/cache/@noble-hashes-npm-1.2.0-71d3c56c21-8ca080ce55.zip deleted file mode 100644 index 7f4c3aece7..0000000000 Binary files a/.yarn/cache/@noble-hashes-npm-1.2.0-71d3c56c21-8ca080ce55.zip and /dev/null differ diff --git a/.yarn/cache/@noble-hashes-npm-1.3.1-64a92c8445-7fdefc0f7a.zip b/.yarn/cache/@noble-hashes-npm-1.3.1-64a92c8445-7fdefc0f7a.zip deleted file mode 100644 index cb4e631117..0000000000 Binary files a/.yarn/cache/@noble-hashes-npm-1.3.1-64a92c8445-7fdefc0f7a.zip and /dev/null differ diff --git a/.yarn/cache/@noble-secp256k1-npm-1.7.1-95825e0b99-d2301f1f76.zip b/.yarn/cache/@noble-secp256k1-npm-1.7.1-95825e0b99-d2301f1f76.zip deleted file mode 100644 index 4355da4070..0000000000 Binary files a/.yarn/cache/@noble-secp256k1-npm-1.7.1-95825e0b99-d2301f1f76.zip and /dev/null differ diff --git a/.yarn/cache/@openzeppelin-contracts-npm-4.9.5-7a5781d6a4-2cddeb08c0.zip b/.yarn/cache/@openzeppelin-contracts-npm-4.9.5-7a5781d6a4-2cddeb08c0.zip deleted file mode 100644 index 4f2e4092fb..0000000000 Binary files a/.yarn/cache/@openzeppelin-contracts-npm-4.9.5-7a5781d6a4-2cddeb08c0.zip and /dev/null differ diff --git a/.yarn/cache/@scure-bip32-npm-1.1.5-e68f3ce3e6-b08494ab0d.zip b/.yarn/cache/@scure-bip32-npm-1.1.5-e68f3ce3e6-b08494ab0d.zip deleted file mode 100644 index 8f98cd6303..0000000000 Binary files a/.yarn/cache/@scure-bip32-npm-1.1.5-e68f3ce3e6-b08494ab0d.zip and /dev/null differ diff --git a/.yarn/cache/@scure-bip32-npm-1.3.1-3af4429c8d-394d65f77a.zip b/.yarn/cache/@scure-bip32-npm-1.3.1-3af4429c8d-394d65f77a.zip deleted file mode 100644 index 31cc8cbb23..0000000000 Binary files a/.yarn/cache/@scure-bip32-npm-1.3.1-3af4429c8d-394d65f77a.zip and /dev/null differ diff --git a/.yarn/cache/@scure-bip32-npm-1.3.3-3bddda01e8-f939ca7339.zip b/.yarn/cache/@scure-bip32-npm-1.3.3-3bddda01e8-f939ca7339.zip new file mode 100644 index 0000000000..1e0dbf4548 Binary files /dev/null and b/.yarn/cache/@scure-bip32-npm-1.3.3-3bddda01e8-f939ca7339.zip differ diff --git a/.yarn/cache/@scure-bip39-npm-1.1.1-86436221cb-fbb594c506.zip b/.yarn/cache/@scure-bip39-npm-1.1.1-86436221cb-fbb594c506.zip deleted file mode 100644 index 78233564d7..0000000000 Binary files a/.yarn/cache/@scure-bip39-npm-1.1.1-86436221cb-fbb594c506.zip and /dev/null differ diff --git a/.yarn/cache/@scure-bip39-npm-1.2.2-958e4465a8-cb99505e6d.zip b/.yarn/cache/@scure-bip39-npm-1.2.2-958e4465a8-cb99505e6d.zip new file mode 100644 index 0000000000..ca3a081907 Binary files /dev/null and b/.yarn/cache/@scure-bip39-npm-1.2.2-958e4465a8-cb99505e6d.zip differ diff --git a/.yarn/cache/@zerodev-ecdsa-validator-npm-5.0.3-fdb9108919-4b0a54b9a1.zip b/.yarn/cache/@zerodev-ecdsa-validator-npm-5.0.3-fdb9108919-4b0a54b9a1.zip new file mode 100644 index 0000000000..4dd7cba027 Binary files /dev/null and b/.yarn/cache/@zerodev-ecdsa-validator-npm-5.0.3-fdb9108919-4b0a54b9a1.zip differ diff --git a/.yarn/cache/@zerodev-presets-npm-5.1.2-8d7d2ae79f-691a2129f1.zip b/.yarn/cache/@zerodev-presets-npm-5.1.2-8d7d2ae79f-691a2129f1.zip new file mode 100644 index 0000000000..ee1919e3d6 Binary files /dev/null and b/.yarn/cache/@zerodev-presets-npm-5.1.2-8d7d2ae79f-691a2129f1.zip differ diff --git a/.yarn/cache/@zerodev-sdk-npm-5.0.9-f0d136e3d3-deb5041b02.zip b/.yarn/cache/@zerodev-sdk-npm-5.0.9-f0d136e3d3-deb5041b02.zip new file mode 100644 index 0000000000..2fec68c23d Binary files /dev/null and b/.yarn/cache/@zerodev-sdk-npm-5.0.9-f0d136e3d3-deb5041b02.zip differ diff --git a/.yarn/cache/@zerodev-session-key-npm-5.0.2-1581ae51a0-4d8a3eb896.zip b/.yarn/cache/@zerodev-session-key-npm-5.0.2-1581ae51a0-4d8a3eb896.zip new file mode 100644 index 0000000000..9b7694951b Binary files /dev/null and b/.yarn/cache/@zerodev-session-key-npm-5.0.2-1581ae51a0-4d8a3eb896.zip differ diff --git a/.yarn/cache/@zerodevapp-contracts-npm-2.0.8-f0a48ee061-58ce1e26fb.zip b/.yarn/cache/@zerodevapp-contracts-npm-2.0.8-f0a48ee061-58ce1e26fb.zip deleted file mode 100644 index 7e031adac8..0000000000 Binary files a/.yarn/cache/@zerodevapp-contracts-npm-2.0.8-f0a48ee061-58ce1e26fb.zip and /dev/null differ diff --git a/.yarn/cache/@zerodevapp-contracts-npm-3.0.0-rc.5-5000c9d857-c1c189f628.zip b/.yarn/cache/@zerodevapp-contracts-npm-3.0.0-rc.5-5000c9d857-c1c189f628.zip deleted file mode 100644 index 7c5db8d55d..0000000000 Binary files a/.yarn/cache/@zerodevapp-contracts-npm-3.0.0-rc.5-5000c9d857-c1c189f628.zip and /dev/null differ diff --git a/.yarn/cache/@zerodevapp-contracts-npm-4.0.0-beta.15-8308189979-e40e5fc877.zip b/.yarn/cache/@zerodevapp-contracts-npm-4.0.0-beta.15-8308189979-e40e5fc877.zip deleted file mode 100644 index b4bd1c1b3b..0000000000 Binary files a/.yarn/cache/@zerodevapp-contracts-npm-4.0.0-beta.15-8308189979-e40e5fc877.zip and /dev/null differ diff --git a/.yarn/cache/@zerodevapp-sdk-npm-3.1.57-b3559d2a56-3a3164f4af.zip b/.yarn/cache/@zerodevapp-sdk-npm-3.1.57-b3559d2a56-3a3164f4af.zip deleted file mode 100644 index 5dc0a1316e..0000000000 Binary files a/.yarn/cache/@zerodevapp-sdk-npm-3.1.57-b3559d2a56-3a3164f4af.zip and /dev/null differ diff --git a/.yarn/cache/abitype-npm-1.0.0-161ceadd4a-ea2c0548c3.zip b/.yarn/cache/abitype-npm-1.0.0-161ceadd4a-ea2c0548c3.zip new file mode 100644 index 0000000000..74e3098586 Binary files /dev/null and b/.yarn/cache/abitype-npm-1.0.0-161ceadd4a-ea2c0548c3.zip differ diff --git a/.yarn/cache/array-buffer-byte-length-npm-1.0.0-331671f28a-044e101ce1.zip b/.yarn/cache/array-buffer-byte-length-npm-1.0.0-331671f28a-044e101ce1.zip deleted file mode 100644 index d2d609a667..0000000000 Binary files a/.yarn/cache/array-buffer-byte-length-npm-1.0.0-331671f28a-044e101ce1.zip and /dev/null differ diff --git a/.yarn/cache/array.prototype.every-npm-1.1.5-b5c9f5622d-9974435604.zip b/.yarn/cache/array.prototype.every-npm-1.1.5-b5c9f5622d-9974435604.zip deleted file mode 100644 index ecba0dfcd8..0000000000 Binary files a/.yarn/cache/array.prototype.every-npm-1.1.5-b5c9f5622d-9974435604.zip and /dev/null differ diff --git a/.yarn/cache/arraybuffer.prototype.slice-npm-1.0.2-4eda52ad8c-c200faf437.zip b/.yarn/cache/arraybuffer.prototype.slice-npm-1.0.2-4eda52ad8c-c200faf437.zip deleted file mode 100644 index 559e55f81a..0000000000 Binary files a/.yarn/cache/arraybuffer.prototype.slice-npm-1.0.2-4eda52ad8c-c200faf437.zip and /dev/null differ diff --git a/.yarn/cache/buffer-shims-npm-1.0.0-bf385a788f-4defd1ffc9.zip b/.yarn/cache/buffer-shims-npm-1.0.0-bf385a788f-4defd1ffc9.zip deleted file mode 100644 index 400de239aa..0000000000 Binary files a/.yarn/cache/buffer-shims-npm-1.0.0-bf385a788f-4defd1ffc9.zip and /dev/null differ diff --git a/.yarn/cache/call-bind-npm-1.0.5-65600fae47-449e83ecbd.zip b/.yarn/cache/call-bind-npm-1.0.5-65600fae47-449e83ecbd.zip deleted file mode 100644 index 29854c129a..0000000000 Binary files a/.yarn/cache/call-bind-npm-1.0.5-65600fae47-449e83ecbd.zip and /dev/null differ diff --git a/.yarn/cache/deep-equal-npm-2.2.3-86cbe803a7-ee8852f23e.zip b/.yarn/cache/deep-equal-npm-2.2.3-86cbe803a7-ee8852f23e.zip deleted file mode 100644 index efc0385ecc..0000000000 Binary files a/.yarn/cache/deep-equal-npm-2.2.3-86cbe803a7-ee8852f23e.zip and /dev/null differ diff --git a/.yarn/cache/define-data-property-npm-1.1.1-2b5156d112-a29855ad3f.zip b/.yarn/cache/define-data-property-npm-1.1.1-2b5156d112-a29855ad3f.zip deleted file mode 100644 index 75936e2374..0000000000 Binary files a/.yarn/cache/define-data-property-npm-1.1.1-2b5156d112-a29855ad3f.zip and /dev/null differ diff --git a/.yarn/cache/define-properties-npm-1.2.1-8a4d42413b-b4ccd00597.zip b/.yarn/cache/define-properties-npm-1.2.1-8a4d42413b-b4ccd00597.zip deleted file mode 100644 index b5958c58b1..0000000000 Binary files a/.yarn/cache/define-properties-npm-1.2.1-8a4d42413b-b4ccd00597.zip and /dev/null differ diff --git a/.yarn/cache/dotenv-npm-16.3.1-e6d380a398-15d75e7279.zip b/.yarn/cache/dotenv-npm-16.3.1-e6d380a398-15d75e7279.zip deleted file mode 100644 index 7bdd10c0d7..0000000000 Binary files a/.yarn/cache/dotenv-npm-16.3.1-e6d380a398-15d75e7279.zip and /dev/null differ diff --git a/.yarn/cache/dotignore-npm-0.1.2-9213641e37-06bab15e2a.zip b/.yarn/cache/dotignore-npm-0.1.2-9213641e37-06bab15e2a.zip deleted file mode 100644 index b4f004d61a..0000000000 Binary files a/.yarn/cache/dotignore-npm-0.1.2-9213641e37-06bab15e2a.zip and /dev/null differ diff --git a/.yarn/cache/es-abstract-npm-1.22.3-15a58832e5-b1bdc96285.zip b/.yarn/cache/es-abstract-npm-1.22.3-15a58832e5-b1bdc96285.zip deleted file mode 100644 index f72f30d6f5..0000000000 Binary files a/.yarn/cache/es-abstract-npm-1.22.3-15a58832e5-b1bdc96285.zip and /dev/null differ diff --git a/.yarn/cache/es-get-iterator-npm-1.1.3-7911befaac-8fa118da42.zip b/.yarn/cache/es-get-iterator-npm-1.1.3-7911befaac-8fa118da42.zip deleted file mode 100644 index 06f687c4d9..0000000000 Binary files a/.yarn/cache/es-get-iterator-npm-1.1.3-7911befaac-8fa118da42.zip and /dev/null differ diff --git a/.yarn/cache/es-set-tostringtag-npm-2.0.2-dae5ec6c58-afcec3a4c9.zip b/.yarn/cache/es-set-tostringtag-npm-2.0.2-dae5ec6c58-afcec3a4c9.zip deleted file mode 100644 index c611db75c0..0000000000 Binary files a/.yarn/cache/es-set-tostringtag-npm-2.0.2-dae5ec6c58-afcec3a4c9.zip and /dev/null differ diff --git a/.yarn/cache/ethereum-cryptography-npm-1.2.0-6cb0d0ad24-97e8e8253c.zip b/.yarn/cache/ethereum-cryptography-npm-1.2.0-6cb0d0ad24-97e8e8253c.zip deleted file mode 100644 index 8ee9b80375..0000000000 Binary files a/.yarn/cache/ethereum-cryptography-npm-1.2.0-6cb0d0ad24-97e8e8253c.zip and /dev/null differ diff --git a/.yarn/cache/ethereum-cryptography-npm-2.1.2-dde1258735-2e8f7b8cc9.zip b/.yarn/cache/ethereum-cryptography-npm-2.1.3-b42d3b0b51-7f9c14f868.zip similarity index 83% rename from .yarn/cache/ethereum-cryptography-npm-2.1.2-dde1258735-2e8f7b8cc9.zip rename to .yarn/cache/ethereum-cryptography-npm-2.1.3-b42d3b0b51-7f9c14f868.zip index 894a2f8330..5203986339 100644 Binary files a/.yarn/cache/ethereum-cryptography-npm-2.1.2-dde1258735-2e8f7b8cc9.zip and b/.yarn/cache/ethereum-cryptography-npm-2.1.3-b42d3b0b51-7f9c14f868.zip differ diff --git a/.yarn/cache/ethjs-util-npm-0.1.6-bd313edc1f-1f42959e78.zip b/.yarn/cache/ethjs-util-npm-0.1.6-bd313edc1f-1f42959e78.zip deleted file mode 100644 index df961e23ae..0000000000 Binary files a/.yarn/cache/ethjs-util-npm-0.1.6-bd313edc1f-1f42959e78.zip and /dev/null differ diff --git a/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip b/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip deleted file mode 100644 index 55fbdad3a3..0000000000 Binary files a/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip and /dev/null differ diff --git a/.yarn/cache/function.prototype.name-npm-1.1.6-fd3a6a5cdd-7a3f9bd98a.zip b/.yarn/cache/function.prototype.name-npm-1.1.6-fd3a6a5cdd-7a3f9bd98a.zip deleted file mode 100644 index 9c6ff345f9..0000000000 Binary files a/.yarn/cache/function.prototype.name-npm-1.1.6-fd3a6a5cdd-7a3f9bd98a.zip and /dev/null differ diff --git a/.yarn/cache/get-intrinsic-npm-1.2.2-3f446d8847-447ff0724d.zip b/.yarn/cache/get-intrinsic-npm-1.2.2-3f446d8847-447ff0724d.zip deleted file mode 100644 index 510eb5f0ed..0000000000 Binary files a/.yarn/cache/get-intrinsic-npm-1.2.2-3f446d8847-447ff0724d.zip and /dev/null differ diff --git a/.yarn/cache/has-dynamic-import-npm-2.0.1-4b66576469-1cb60255cd.zip b/.yarn/cache/has-dynamic-import-npm-2.0.1-4b66576469-1cb60255cd.zip deleted file mode 100644 index e9da94bb44..0000000000 Binary files a/.yarn/cache/has-dynamic-import-npm-2.0.1-4b66576469-1cb60255cd.zip and /dev/null differ diff --git a/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip b/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip deleted file mode 100644 index 78afc3de42..0000000000 Binary files a/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip and /dev/null differ diff --git a/.yarn/cache/hasown-npm-2.0.0-78b794ceef-6151c75ca1.zip b/.yarn/cache/hasown-npm-2.0.0-78b794ceef-6151c75ca1.zip deleted file mode 100644 index 5454406288..0000000000 Binary files a/.yarn/cache/hasown-npm-2.0.0-78b794ceef-6151c75ca1.zip and /dev/null differ diff --git a/.yarn/cache/internal-slot-npm-1.0.6-1ed833e09a-7872454888.zip b/.yarn/cache/internal-slot-npm-1.0.6-1ed833e09a-7872454888.zip deleted file mode 100644 index ca734c685d..0000000000 Binary files a/.yarn/cache/internal-slot-npm-1.0.6-1ed833e09a-7872454888.zip and /dev/null differ diff --git a/.yarn/cache/is-array-buffer-npm-3.0.2-0dec897785-dcac9dda66.zip b/.yarn/cache/is-array-buffer-npm-3.0.2-0dec897785-dcac9dda66.zip deleted file mode 100644 index 7556381d45..0000000000 Binary files a/.yarn/cache/is-array-buffer-npm-3.0.2-0dec897785-dcac9dda66.zip and /dev/null differ diff --git a/.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-256559ee8a.zip b/.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-256559ee8a.zip deleted file mode 100644 index 897f505685..0000000000 Binary files a/.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-256559ee8a.zip and /dev/null differ diff --git a/.yarn/cache/is-typed-array-npm-1.1.12-6135c91b1a-4c89c4a3be.zip b/.yarn/cache/is-typed-array-npm-1.1.12-6135c91b1a-4c89c4a3be.zip deleted file mode 100644 index 4a35c2e95f..0000000000 Binary files a/.yarn/cache/is-typed-array-npm-1.1.12-6135c91b1a-4c89c4a3be.zip and /dev/null differ diff --git a/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip b/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip deleted file mode 100644 index bd385cb325..0000000000 Binary files a/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip and /dev/null differ diff --git a/.yarn/cache/mock-property-npm-1.0.3-5556761c5e-835b106e38.zip b/.yarn/cache/mock-property-npm-1.0.3-5556761c5e-835b106e38.zip deleted file mode 100644 index 7aafef6db5..0000000000 Binary files a/.yarn/cache/mock-property-npm-1.0.3-5556761c5e-835b106e38.zip and /dev/null differ diff --git a/.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip b/.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip deleted file mode 100644 index 1e1bbfbcfa..0000000000 Binary files a/.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip and /dev/null differ diff --git a/.yarn/cache/parse-ms-npm-1.0.1-4a51bb72df-93fa792155.zip b/.yarn/cache/parse-ms-npm-1.0.1-4a51bb72df-93fa792155.zip deleted file mode 100644 index 4a1131e7dd..0000000000 Binary files a/.yarn/cache/parse-ms-npm-1.0.1-4a51bb72df-93fa792155.zip and /dev/null differ diff --git a/.yarn/cache/permissionless-npm-0.0.34-7883896cff-4c8ed7c839.zip b/.yarn/cache/permissionless-npm-0.0.34-7883896cff-4c8ed7c839.zip new file mode 100644 index 0000000000..99fa0d5886 Binary files /dev/null and b/.yarn/cache/permissionless-npm-0.0.34-7883896cff-4c8ed7c839.zip differ diff --git a/.yarn/cache/plur-npm-1.0.0-1fcc5c988f-bd8725178b.zip b/.yarn/cache/plur-npm-1.0.0-1fcc5c988f-bd8725178b.zip deleted file mode 100644 index 605f30fe37..0000000000 Binary files a/.yarn/cache/plur-npm-1.0.0-1fcc5c988f-bd8725178b.zip and /dev/null differ diff --git a/.yarn/cache/pretty-ms-npm-2.1.0-47557d4be5-a6a3df561f.zip b/.yarn/cache/pretty-ms-npm-2.1.0-47557d4be5-a6a3df561f.zip deleted file mode 100644 index 376c150066..0000000000 Binary files a/.yarn/cache/pretty-ms-npm-2.1.0-47557d4be5-a6a3df561f.zip and /dev/null differ diff --git a/.yarn/cache/process-nextick-args-npm-1.0.7-25caefb517-41224fbc80.zip b/.yarn/cache/process-nextick-args-npm-1.0.7-25caefb517-41224fbc80.zip deleted file mode 100644 index d6c887cfa4..0000000000 Binary files a/.yarn/cache/process-nextick-args-npm-1.0.7-25caefb517-41224fbc80.zip and /dev/null differ diff --git a/.yarn/cache/re-emitter-npm-1.1.3-d02585a642-3234850c26.zip b/.yarn/cache/re-emitter-npm-1.1.3-d02585a642-3234850c26.zip deleted file mode 100644 index 75f3ade39c..0000000000 Binary files a/.yarn/cache/re-emitter-npm-1.1.3-d02585a642-3234850c26.zip and /dev/null differ diff --git a/.yarn/cache/readable-stream-npm-2.2.9-16469ef231-d186b7051c.zip b/.yarn/cache/readable-stream-npm-2.2.9-16469ef231-d186b7051c.zip deleted file mode 100644 index e4eff1c6db..0000000000 Binary files a/.yarn/cache/readable-stream-npm-2.2.9-16469ef231-d186b7051c.zip and /dev/null differ diff --git a/.yarn/cache/regexp.prototype.flags-npm-1.5.1-b8faeee306-869edff002.zip b/.yarn/cache/regexp.prototype.flags-npm-1.5.1-b8faeee306-869edff002.zip deleted file mode 100644 index d73fb5c3df..0000000000 Binary files a/.yarn/cache/regexp.prototype.flags-npm-1.5.1-b8faeee306-869edff002.zip and /dev/null differ diff --git a/.yarn/cache/resolve-npm-2.0.0-next.5-0e83bf26ee-a73ac69a1c.zip b/.yarn/cache/resolve-npm-2.0.0-next.5-0e83bf26ee-a73ac69a1c.zip deleted file mode 100644 index 42abd61a52..0000000000 Binary files a/.yarn/cache/resolve-npm-2.0.0-next.5-0e83bf26ee-a73ac69a1c.zip and /dev/null differ diff --git a/.yarn/cache/resolve-patch-1169b4314d-064d09c180.zip b/.yarn/cache/resolve-patch-1169b4314d-064d09c180.zip deleted file mode 100644 index 6fad4662cd..0000000000 Binary files a/.yarn/cache/resolve-patch-1169b4314d-064d09c180.zip and /dev/null differ diff --git a/.yarn/cache/safe-array-concat-npm-1.0.1-8a42907bbf-001ecf1d8a.zip b/.yarn/cache/safe-array-concat-npm-1.0.1-8a42907bbf-001ecf1d8a.zip deleted file mode 100644 index 6789308b81..0000000000 Binary files a/.yarn/cache/safe-array-concat-npm-1.0.1-8a42907bbf-001ecf1d8a.zip and /dev/null differ diff --git a/.yarn/cache/set-function-length-npm-1.1.1-d362bf8221-c131d7569c.zip b/.yarn/cache/set-function-length-npm-1.1.1-d362bf8221-c131d7569c.zip deleted file mode 100644 index 024add469c..0000000000 Binary files a/.yarn/cache/set-function-length-npm-1.1.1-d362bf8221-c131d7569c.zip and /dev/null differ diff --git a/.yarn/cache/set-function-name-npm-2.0.1-a9f970eea0-4975d17d90.zip b/.yarn/cache/set-function-name-npm-2.0.1-a9f970eea0-4975d17d90.zip deleted file mode 100644 index f18d53b599..0000000000 Binary files a/.yarn/cache/set-function-name-npm-2.0.1-a9f970eea0-4975d17d90.zip and /dev/null differ diff --git a/.yarn/cache/split-npm-1.0.0-da84a2885d-84837fa659.zip b/.yarn/cache/split-npm-1.0.0-da84a2885d-84837fa659.zip deleted file mode 100644 index 55941e33ac..0000000000 Binary files a/.yarn/cache/split-npm-1.0.0-da84a2885d-84837fa659.zip and /dev/null differ diff --git a/.yarn/cache/stop-iteration-iterator-npm-1.0.0-ea451e1609-d04173690b.zip b/.yarn/cache/stop-iteration-iterator-npm-1.0.0-ea451e1609-d04173690b.zip deleted file mode 100644 index d1e62aa52b..0000000000 Binary files a/.yarn/cache/stop-iteration-iterator-npm-1.0.0-ea451e1609-d04173690b.zip and /dev/null differ diff --git a/.yarn/cache/string.prototype.trim-npm-1.2.8-7ed4517ce8-49eb1a862a.zip b/.yarn/cache/string.prototype.trim-npm-1.2.8-7ed4517ce8-49eb1a862a.zip deleted file mode 100644 index 543f676ced..0000000000 Binary files a/.yarn/cache/string.prototype.trim-npm-1.2.8-7ed4517ce8-49eb1a862a.zip and /dev/null differ diff --git a/.yarn/cache/string.prototype.trimend-npm-1.0.7-159b9dcfbc-2375516272.zip b/.yarn/cache/string.prototype.trimend-npm-1.0.7-159b9dcfbc-2375516272.zip deleted file mode 100644 index 93f30c147e..0000000000 Binary files a/.yarn/cache/string.prototype.trimend-npm-1.0.7-159b9dcfbc-2375516272.zip and /dev/null differ diff --git a/.yarn/cache/string.prototype.trimstart-npm-1.0.7-ae2f803b78-13d0c2cb0d.zip b/.yarn/cache/string.prototype.trimstart-npm-1.0.7-ae2f803b78-13d0c2cb0d.zip deleted file mode 100644 index 187509d052..0000000000 Binary files a/.yarn/cache/string.prototype.trimstart-npm-1.0.7-ae2f803b78-13d0c2cb0d.zip and /dev/null differ diff --git a/.yarn/cache/string_decoder-npm-1.0.3-c832a5ff69-57ef02a148.zip b/.yarn/cache/string_decoder-npm-1.0.3-c832a5ff69-57ef02a148.zip deleted file mode 100644 index eac61a36ba..0000000000 Binary files a/.yarn/cache/string_decoder-npm-1.0.3-c832a5ff69-57ef02a148.zip and /dev/null differ diff --git a/.yarn/cache/tap-out-npm-2.1.0-11e4b9dd46-b837d8adf6.zip b/.yarn/cache/tap-out-npm-2.1.0-11e4b9dd46-b837d8adf6.zip deleted file mode 100644 index 6910ef0030..0000000000 Binary files a/.yarn/cache/tap-out-npm-2.1.0-11e4b9dd46-b837d8adf6.zip and /dev/null differ diff --git a/.yarn/cache/tap-spec-npm-5.0.0-2244e1882d-4413acc3ed.zip b/.yarn/cache/tap-spec-npm-5.0.0-2244e1882d-4413acc3ed.zip deleted file mode 100644 index 7b68f3c53e..0000000000 Binary files a/.yarn/cache/tap-spec-npm-5.0.0-2244e1882d-4413acc3ed.zip and /dev/null differ diff --git a/.yarn/cache/tape-npm-5.7.2-54b31bd607-0ca531d977.zip b/.yarn/cache/tape-npm-5.7.2-54b31bd607-0ca531d977.zip deleted file mode 100644 index de69d32c22..0000000000 Binary files a/.yarn/cache/tape-npm-5.7.2-54b31bd607-0ca531d977.zip and /dev/null differ diff --git a/.yarn/cache/tweetnacl-npm-1.0.3-b7eef04660-e4a57cac18.zip b/.yarn/cache/tweetnacl-npm-1.0.3-b7eef04660-e4a57cac18.zip deleted file mode 100644 index eb6ea70626..0000000000 Binary files a/.yarn/cache/tweetnacl-npm-1.0.3-b7eef04660-e4a57cac18.zip and /dev/null differ diff --git a/.yarn/cache/tweetnacl-util-npm-0.15.1-1a24bc512a-ae6aa8a52c.zip b/.yarn/cache/tweetnacl-util-npm-0.15.1-1a24bc512a-ae6aa8a52c.zip deleted file mode 100644 index c493b5a805..0000000000 Binary files a/.yarn/cache/tweetnacl-util-npm-0.15.1-1a24bc512a-ae6aa8a52c.zip and /dev/null differ diff --git a/.yarn/cache/typed-array-buffer-npm-1.0.0-95cb610310-3e0281c79b.zip b/.yarn/cache/typed-array-buffer-npm-1.0.0-95cb610310-3e0281c79b.zip deleted file mode 100644 index 7e8dc8f1ed..0000000000 Binary files a/.yarn/cache/typed-array-buffer-npm-1.0.0-95cb610310-3e0281c79b.zip and /dev/null differ diff --git a/.yarn/cache/typed-array-byte-length-npm-1.0.0-94d79975ca-b03db16458.zip b/.yarn/cache/typed-array-byte-length-npm-1.0.0-94d79975ca-b03db16458.zip deleted file mode 100644 index 9cd6f34788..0000000000 Binary files a/.yarn/cache/typed-array-byte-length-npm-1.0.0-94d79975ca-b03db16458.zip and /dev/null differ diff --git a/.yarn/cache/typed-array-byte-offset-npm-1.0.0-8cbb911cf5-04f6f02d0e.zip b/.yarn/cache/typed-array-byte-offset-npm-1.0.0-8cbb911cf5-04f6f02d0e.zip deleted file mode 100644 index 2318610bbc..0000000000 Binary files a/.yarn/cache/typed-array-byte-offset-npm-1.0.0-8cbb911cf5-04f6f02d0e.zip and /dev/null differ diff --git a/.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip b/.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip deleted file mode 100644 index f68a3c2c96..0000000000 Binary files a/.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip and /dev/null differ diff --git a/.yarn/cache/viem-npm-1.20.0-46993b0823-0309bddd16.zip b/.yarn/cache/viem-npm-1.20.0-46993b0823-0309bddd16.zip deleted file mode 100644 index 4ec3627bf2..0000000000 Binary files a/.yarn/cache/viem-npm-1.20.0-46993b0823-0309bddd16.zip and /dev/null differ diff --git a/.yarn/cache/viem-npm-2.7.1-3ac8dbdafc-856810b098.zip b/.yarn/cache/viem-npm-2.7.1-3ac8dbdafc-856810b098.zip new file mode 100644 index 0000000000..29abc2813c Binary files /dev/null and b/.yarn/cache/viem-npm-2.7.1-3ac8dbdafc-856810b098.zip differ diff --git a/.yarn/cache/which-typed-array-npm-1.1.13-92c18b4878-3828a0d5d7.zip b/.yarn/cache/which-typed-array-npm-1.1.13-92c18b4878-3828a0d5d7.zip deleted file mode 100644 index 0d9d2479da..0000000000 Binary files a/.yarn/cache/which-typed-array-npm-1.1.13-92c18b4878-3828a0d5d7.zip and /dev/null differ diff --git a/packages/galaxy-client/gql/account.graphql b/packages/galaxy-client/gql/account.graphql index 1758619153..bff3c6bdfe 100644 --- a/packages/galaxy-client/gql/account.graphql +++ b/packages/galaxy-client/gql/account.graphql @@ -31,3 +31,23 @@ mutation updateConnectedAccountsProperties( ) { updateConnectedAccountsProperties(accountURNList: $accountURNList) } + +mutation registerSessionKey( + $sessionKeyAddress: String! + $smartContractWalletAddress: String! +) { + registerSessionKey( + sessionKeyAddress: $sessionKeyAddress + smartContractWalletAddress: $smartContractWalletAddress + ) +} + +mutation revokeSessionKey( + $sessionKeyAddress: String! + $smartContractWalletAddress: String! +) { + revokeSessionKey( + sessionKeyAddress: $sessionKeyAddress + smartContractWalletAddress: $smartContractWalletAddress + ) +} diff --git a/packages/galaxy-client/index.ts b/packages/galaxy-client/index.ts index 07da5c6ad8..e29a5d2999 100644 --- a/packages/galaxy-client/index.ts +++ b/packages/galaxy-client/index.ts @@ -56,6 +56,7 @@ export type Mutation = { __typename?: 'Mutation'; disconnectAccount?: Maybe; registerSessionKey: Scalars['String']; + revokeSessionKey?: Maybe; setExternalAppData?: Maybe; updateAccountNickname?: Maybe; updateConnectedAccountsProperties?: Maybe; @@ -68,7 +69,13 @@ export type MutationDisconnectAccountArgs = { export type MutationRegisterSessionKeyArgs = { - sessionPublicKey: Scalars['String']; + sessionKeyAddress: Scalars['String']; + smartContractWalletAddress: Scalars['String']; +}; + + +export type MutationRevokeSessionKeyArgs = { + sessionKeyAddress: Scalars['String']; smartContractWalletAddress: Scalars['String']; }; @@ -215,6 +222,22 @@ export type UpdateConnectedAccountsPropertiesMutationVariables = Exact<{ export type UpdateConnectedAccountsPropertiesMutation = { __typename?: 'Mutation', updateConnectedAccountsProperties?: boolean | null }; +export type RegisterSessionKeyMutationVariables = Exact<{ + sessionKeyAddress: Scalars['String']; + smartContractWalletAddress: Scalars['String']; +}>; + + +export type RegisterSessionKeyMutation = { __typename?: 'Mutation', registerSessionKey: string }; + +export type RevokeSessionKeyMutationVariables = Exact<{ + sessionKeyAddress: Scalars['String']; + smartContractWalletAddress: Scalars['String']; +}>; + + +export type RevokeSessionKeyMutation = { __typename?: 'Mutation', revokeSessionKey?: boolean | null }; + export type GetExternalAppDataQueryVariables = Exact<{ [key: string]: never; }>; @@ -291,6 +314,22 @@ export const UpdateConnectedAccountsPropertiesDocument = gql` updateConnectedAccountsProperties(accountURNList: $accountURNList) } `; +export const RegisterSessionKeyDocument = gql` + mutation registerSessionKey($sessionKeyAddress: String!, $smartContractWalletAddress: String!) { + registerSessionKey( + sessionKeyAddress: $sessionKeyAddress + smartContractWalletAddress: $smartContractWalletAddress + ) +} + `; +export const RevokeSessionKeyDocument = gql` + mutation revokeSessionKey($sessionKeyAddress: String!, $smartContractWalletAddress: String!) { + revokeSessionKey( + sessionKeyAddress: $sessionKeyAddress + smartContractWalletAddress: $smartContractWalletAddress + ) +} + `; export const GetExternalAppDataDocument = gql` query getExternalAppData { externalAppData: getExternalAppData @@ -364,6 +403,12 @@ export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = updateConnectedAccountsProperties(variables: UpdateConnectedAccountsPropertiesMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { return withWrapper((wrappedRequestHeaders) => client.request(UpdateConnectedAccountsPropertiesDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'updateConnectedAccountsProperties', 'mutation'); }, + registerSessionKey(variables: RegisterSessionKeyMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(RegisterSessionKeyDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'registerSessionKey', 'mutation'); + }, + revokeSessionKey(variables: RevokeSessionKeyMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(RevokeSessionKeyDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'revokeSessionKey', 'mutation'); + }, getExternalAppData(variables?: GetExternalAppDataQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { return withWrapper((wrappedRequestHeaders) => client.request(GetExternalAppDataDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getExternalAppData', 'query'); }, diff --git a/packages/urns/package.json b/packages/urns/package.json index 3621c42ed3..bacfff70fa 100644 --- a/packages/urns/package.json +++ b/packages/urns/package.json @@ -30,6 +30,6 @@ }, "dependencies": { "urns": "0.6.0", - "viem": "1.20.0" + "viem": "2.7.1" } } diff --git a/platform/account/package.json b/platform/account/package.json index 19fd2321d3..9d2ca74684 100644 --- a/platform/account/package.json +++ b/platform/account/package.json @@ -27,7 +27,6 @@ "typescript": "5.0.4" }, "dependencies": { - "@ethersproject/wallet": "5.7.0", "@proofzero/platform-clients": "workspace:*", "@proofzero/platform.core": "workspace:*", "@proofzero/types": "workspace:*", @@ -35,12 +34,16 @@ "@proofzero/utils": "workspace:*", "@trpc/server": "10.8.1", "@types/node": "18.15.3", - "@zerodevapp/sdk": "3.1.57", + "@zerodev/ecdsa-validator": "5.0.3", + "@zerodev/presets": "5.1.2", + "@zerodev/sdk": "5.0.9", + "@zerodev/session-key": "5.0.2", "do-proxy": "1.3.3", "jose": "4.11.0", + "permissionless": "0.0.34", "random-words": "2.0.0", "remix-auth-google": "1.2.0", - "viem": "1.20.0", + "viem": "2.7.1", "zod": "3.22.4" } } diff --git a/platform/account/src/constants.ts b/platform/account/src/constants.ts index d537d458cf..dc606e1770 100644 --- a/platform/account/src/constants.ts +++ b/platform/account/src/constants.ts @@ -27,3 +27,5 @@ export const NO_OP_ACCOUNT_PLACEHOLDER = AccountURNSpace.componentizedUrn( { addr_type: EmailAccountType.Email, node_type: NodeType.Email }, { alias: 'no-op-account-placeholder' } ) + +export const ZERODEV_SESSION_KEY_TTL = 90 * 24 * 60 * 60 * 10000 // 90 days diff --git a/platform/account/src/jsonrpc/methods/initSmartContractWallet.ts b/platform/account/src/jsonrpc/methods/initSmartContractWallet.ts index 97709a2219..b2dc7a3446 100644 --- a/platform/account/src/jsonrpc/methods/initSmartContractWallet.ts +++ b/platform/account/src/jsonrpc/methods/initSmartContractWallet.ts @@ -1,14 +1,17 @@ import { z } from 'zod' -import { Wallet } from '@ethersproject/wallet' +import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts' +import { polygonMumbai as chain } from 'viem/chains' +import { createEcdsaKernelAccountClient } from '@zerodev/presets/zerodev' import { router } from '@proofzero/platform.core' import { AccountURNInput } from '@proofzero/platform-middleware/inputValidators' +import { Hex } from '../validators/wallet' import { Context } from '../../context' import { CryptoAccountType, NodeType } from '@proofzero/types/account' import { initAccountNodeByName } from '../../nodes' + import createImageClient from '@proofzero/platform-clients/image' -import { getZeroDevSigner } from '@zerodevapp/sdk' import { EDGE_ACCOUNT } from '@proofzero/platform.account/src/constants' import { generateTraceContextHeaders } from '@proofzero/platform-middleware/trace' @@ -22,7 +25,7 @@ type InitSmartContractWalletInput = z.infer export const InitSmartContractWalletOutput = z.object({ accountURN: AccountURNInput, - walletAccount: z.string(), + walletAccount: Hex, }) type InitSmartContractWalletResult = z.infer< @@ -37,21 +40,24 @@ export const initSmartContractWalletMethod = async ({ ctx: Context }): Promise => { const nodeClient = ctx.account - const identity = await nodeClient?.class.getIdentity() + const identity = await nodeClient?.class.getIdentity() if (!identity) { throw new Error('missing identity') } - const owner = Wallet.createRandom() + const projectId = ctx.env.SECRET_ZERODEV_PROJECTID + + const privateKey = generatePrivateKey() + const signer = privateKeyToAccount(privateKey) - const smartContractWallet = await getZeroDevSigner({ - skipFetchSetup: true, - projectId: ctx.env.SECRET_ZERODEV_PROJECTID, - owner, + const kernelClient = await createEcdsaKernelAccountClient({ + chain, + projectId, + signer, }) - const smartContractWalletAddress = await smartContractWallet.getAddress() + const smartContractWalletAddress = kernelClient.account.address const { accountURN, baseAccountURN } = generateSmartWalletAccountUrn( smartContractWalletAddress, @@ -70,7 +76,7 @@ export const initSmartContractWalletMethod = async ({ gradientSeed: smartContractWalletAddress, }) await Promise.all([ - smartContractWalletNode.storage.put('privateKey', owner.privateKey), + smartContractWalletNode.storage.put('privateKey', privateKey), smartContractWalletNode.class.setAddress(smartContractWalletAddress), smartContractWalletNode.class.setNickname(input.nickname), smartContractWalletNode.class.setNodeType(NodeType.Crypto), diff --git a/platform/account/src/jsonrpc/methods/registerWalletSessionKey.ts b/platform/account/src/jsonrpc/methods/registerWalletSessionKey.ts index 475b325cd6..65483a6512 100644 --- a/platform/account/src/jsonrpc/methods/registerWalletSessionKey.ts +++ b/platform/account/src/jsonrpc/methods/registerWalletSessionKey.ts @@ -1,19 +1,26 @@ import { z } from 'zod' +import { createPublicClient, http } from 'viem' +import { privateKeyToAccount } from 'viem/accounts' +import { polygonMumbai as chain } from 'viem/chains' +import { addressToEmptyAccount, createKernelAccount } from '@zerodev/sdk' +import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator' +import { + serializeSessionKeyAccount, + signerToSessionKeyValidator, +} from '@zerodev/session-key' +import { Hex } from '../validators/wallet' import { Context } from '../../context' import { initAccountNodeByName } from '../../nodes' -import { - createSessionKey, - getZeroDevSigner, - getPrivateKeyOwner, -} from '@zerodevapp/sdk' import { PaymasterSchema } from '@proofzero/platform/starbase/src/jsonrpc/validators/app' import { BadRequestError, InternalServerError } from '@proofzero/errors' + +import { ZERODEV_SESSION_KEY_TTL } from '../../constants' import { generateSmartWalletAccountUrn } from '../../utils' export const RegisterSessionKeyInput = z.object({ - sessionPublicKey: z.string(), + sessionKeyAddress: Hex, smartContractWalletAddress: z.string(), paymaster: PaymasterSchema, }) @@ -34,9 +41,9 @@ export const registerSessionKeyMethod = async ({ // This method is being called only from galaxy // All authorization checks are done in galaxy - const { paymaster, smartContractWalletAddress, sessionPublicKey } = input + const { paymaster, smartContractWalletAddress, sessionKeyAddress } = input - const { baseAccountURN } = await generateSmartWalletAccountUrn( + const { baseAccountURN } = generateSmartWalletAccountUrn( smartContractWalletAddress, '' // empty string because we only care about base urn ) @@ -46,38 +53,42 @@ export const registerSessionKeyMethod = async ({ ctx.env.Account ) - const ownerPrivateKey = (await smartContractWalletNode.storage.get( + const ownerPrivateKey = await smartContractWalletNode.storage.get( 'privateKey' - )) as string + ) if (!ownerPrivateKey) { throw new BadRequestError({ message: 'missing private key for the user' }) } - let sessionKey = '' - if (paymaster && paymaster.provider === 'zerodev') { - const zdSigner = await getZeroDevSigner({ - projectId: paymaster.secret, - owner: getPrivateKeyOwner(ownerPrivateKey), - skipFetchSetup: true, - }) - - // We need a 90 days in Unix time from now - // 90 days * 24 hours * 60 minutes * 60 seconds * 1000 milliseconds - const truncatedValidUntil = Math.floor(Date.now() / 1000) + 7776000000 - try { - sessionKey = await createSessionKey( - zdSigner, - [], - truncatedValidUntil, - sessionPublicKey - ) + const signer = privateKeyToAccount(ownerPrivateKey) + + const publicClient = createPublicClient({ + chain, + transport: http(), + }) + + const emptySessionKeySigner = addressToEmptyAccount(sessionKeyAddress) + + const sessionKeyAccount = await createKernelAccount(publicClient, { + plugins: { + defaultValidator: await signerToEcdsaValidator(publicClient, { + signer, + }), + validator: await signerToSessionKeyValidator(publicClient, { + signer: emptySessionKeySigner, + validatorData: { validUntil: Date.now() + ZERODEV_SESSION_KEY_TTL }, + }), + }, + }) + + return serializeSessionKeyAccount(sessionKeyAccount) } catch (e) { throw new InternalServerError({ message: 'Failed to create session key' }) } } - return sessionKey + return '' } diff --git a/platform/account/src/jsonrpc/methods/revokeWalletSessionKey.ts b/platform/account/src/jsonrpc/methods/revokeWalletSessionKey.ts index 74813974a6..bb77bf0282 100644 --- a/platform/account/src/jsonrpc/methods/revokeWalletSessionKey.ts +++ b/platform/account/src/jsonrpc/methods/revokeWalletSessionKey.ts @@ -1,18 +1,29 @@ import { z } from 'zod' -import { toBytes } from 'viem' +import { createPublicClient, http } from 'viem' +import { privateKeyToAccount } from 'viem/accounts' +import { polygonMumbai as chain } from 'viem/chains' +import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator' +import { + createKernelAccount, + createKernelAccountClient, + createZeroDevPaymasterClient, +} from '@zerodev/sdk' +import { revokeSessionKey } from '@zerodev/session-key' import { BadRequestError } from '@proofzero/errors' -import { AccountURNSpace, type AccountURN } from '@proofzero/urns/account' -import { Wallet } from '@ethersproject/wallet' +import { AccountURNSpace } from '@proofzero/urns/account' import { AccountURNInput } from '@proofzero/platform-middleware/inputValidators' +import { Hex } from '../validators/wallet' import type { Context } from '../../context' -import { initAccountNodeByName } from '../../nodes' +import { type AccountNode, initAccountNodeByName } from '../../nodes' +import { generateSmartWalletAccountUrn } from '../../utils' export const RevokeWalletSessionKeyInput = z.object({ - publicSessionKey: z.string(), projectId: z.string(), + sessionKeyAddress: Hex, + smartContractWalletAddress: Hex, }) export const RevokeWalletSessionKeyBatchInput = z.object({ @@ -20,7 +31,7 @@ export const RevokeWalletSessionKeyBatchInput = z.object({ smartWalletSessionKeys: z.array( z.object({ urn: AccountURNInput, - publicSessionKey: z.string(), + sessionKeyAddress: Hex, }) ), }) @@ -30,13 +41,6 @@ type RevokeWalletSessionKeyBatchParams = z.infer< typeof RevokeWalletSessionKeyBatchInput > -const requestInit = { - method: 'post', - headers: { - 'content-type': 'application/json;charset=UTF-8', - }, -} - export const revokeWalletSessionKeyMethod = async ({ input, ctx, @@ -44,15 +48,20 @@ export const revokeWalletSessionKeyMethod = async ({ input: RevokeWalletSessionKeyParams ctx: Context }): Promise => { + const { baseAccountURN } = generateSmartWalletAccountUrn( + input.smartContractWalletAddress, + '' + ) + const smartContractWalletNode = initAccountNodeByName( - ctx.accountURN as AccountURN, + baseAccountURN, ctx.env.Account ) await revokeWalletSessionKey({ - smartContractWalletNode, projectId: input.projectId, - publicSessionKey: input.publicSessionKey, + sessionKeyAddress: input.sessionKeyAddress, + smartContractWalletNode, }) } @@ -74,7 +83,7 @@ export const revokeWalletSessionKeyBatchMethod = async ({ revokeWalletSessionKey({ smartContractWalletNode, projectId: input.projectId, - publicSessionKey: smartWalletSessionKey.publicSessionKey, + sessionKeyAddress: smartWalletSessionKey.sessionKeyAddress, }) ) } @@ -82,49 +91,49 @@ export const revokeWalletSessionKeyBatchMethod = async ({ } const revokeWalletSessionKey = async ({ - smartContractWalletNode, projectId, - publicSessionKey, + sessionKeyAddress, + smartContractWalletNode, }: { - smartContractWalletNode: any + smartContractWalletNode: AccountNode projectId: string - publicSessionKey: string + sessionKeyAddress: Hex }) => { - const owner = (await smartContractWalletNode.storage.get( + const privateKey = await smartContractWalletNode.storage.get( 'privateKey' - )) as '0x${string}' + ) - if (!owner) { + if (!privateKey) { throw new BadRequestError({ message: 'missing private key for the user' }) } - const signer = new Wallet(owner) + const publicClient = createPublicClient({ chain, transport: http() }) - const createRevokeSessionKeyUserOpResponse = await fetch( - 'https://zerodev-api.zobeir.workers.dev/create-revoke-session-key-user-op', - { - ...requestInit, - body: JSON.stringify({ - address: await signer.getAddress(), - projectId, - publicSessionKey, + const account = await createKernelAccount(publicClient, { + plugins: { + validator: await signerToEcdsaValidator(publicClient, { + signer: privateKeyToAccount(privateKey), }), - } - ) - - const { userOp, userOpHash } = - (await createRevokeSessionKeyUserOpResponse.json()) as { - userOp: any - userOpHash: string - } - - const signedMessage = await signer.signMessage(toBytes(userOpHash)) + }, + }) - await fetch('https://zerodev-api.zobeir.workers.dev/send-userop', { - ...requestInit, - body: JSON.stringify({ - userOp: { ...userOp, signature: signedMessage }, - projectId, - }), + const kernelClient = createKernelAccountClient({ + account, + chain, + transport: http(`https://rpc.zerodev.app/api/v2/bundler/${projectId}`), + sponsorUserOperation: async ({ userOperation }) => { + const zerodevPaymaster = createZeroDevPaymasterClient({ + chain: chain, + transport: http( + `https://rpc.zerodev.app/api/v2/paymaster/${projectId}` + ), + }) + return zerodevPaymaster.sponsorUserOperation({ + userOperation, + }) + }, }) + + const hash = await revokeSessionKey(kernelClient, sessionKeyAddress) + await publicClient.waitForTransactionReceipt({ hash }) } diff --git a/platform/account/src/jsonrpc/methods/verifyNonce.ts b/platform/account/src/jsonrpc/methods/verifyNonce.ts index 65a962a52f..28e4f42005 100644 --- a/platform/account/src/jsonrpc/methods/verifyNonce.ts +++ b/platform/account/src/jsonrpc/methods/verifyNonce.ts @@ -1,4 +1,5 @@ import { z } from 'zod' +import { Hex } from '../validators/wallet' import { router } from '@proofzero/platform.core' @@ -7,7 +8,7 @@ import { CryptoAccount, type AccountNode } from '../../nodes' export const VerifyNonceInput = z.object({ nonce: z.string(), - signature: z.string().startsWith('0x'), + signature: Hex, jwt: z.string().optional(), forceAccountCreation: z.boolean().optional(), }) @@ -31,7 +32,7 @@ export const verifyNonceMethod = async ({ const nodeClient = new CryptoAccount(ctx.account as AccountNode) - await nodeClient.verifyNonce(nonce, signature as '0x${string}') + await nodeClient.verifyNonce(nonce, signature) const caller = router.createCaller(ctx) const { existing } = await caller.account.resolveIdentity({ diff --git a/platform/account/src/jsonrpc/validators/wallet.ts b/platform/account/src/jsonrpc/validators/wallet.ts new file mode 100644 index 0000000000..5bf93300cc --- /dev/null +++ b/platform/account/src/jsonrpc/validators/wallet.ts @@ -0,0 +1,7 @@ +import { z } from 'zod' + +export const Hex = z.custom<`0x${string}`>( + (val: unknown) => typeof val === 'string' && val.startsWith('0x') +) + +export type Hex = z.infer diff --git a/platform/account/src/nodes/crypto.ts b/platform/account/src/nodes/crypto.ts index 971f1863c6..8aa337f48a 100644 --- a/platform/account/src/nodes/crypto.ts +++ b/platform/account/src/nodes/crypto.ts @@ -1,4 +1,4 @@ -import { toHex } from 'viem' +import { toHex, type Hex } from 'viem' import type { Scope } from '@proofzero/types/authorization' import { CryptoAccountType } from '@proofzero/types/account' @@ -50,10 +50,7 @@ export default class CryptoAccount { return nonce } - async verifyNonce( - nonce: string, - signature: '0x${string}' - ): Promise { + async verifyNonce(nonce: string, signature: Hex): Promise { const challenges: Record = (await this.node.storage.get>('challenges')) || {} diff --git a/platform/account/src/utils.ts b/platform/account/src/utils.ts index 5899d75262..745622edee 100644 --- a/platform/account/src/utils.ts +++ b/platform/account/src/utils.ts @@ -1,4 +1,4 @@ -import { keccak256, recoverAddress } from 'viem' +import { keccak256, recoverAddress, type Hex } from 'viem' import { CryptoAccountType, @@ -87,7 +87,7 @@ export const isValidAccountType = (type: string) => { export const recoverEthereumAddress = ( message: string, - signature: '0x${string}' + signature: Hex ): Promise => { const prefix = `\u0019Ethereum Signed Message:\n${message.length}` const encoder = new TextEncoder() diff --git a/platform/authorization/package.json b/platform/authorization/package.json index 16944c98ab..e566b29b77 100644 --- a/platform/authorization/package.json +++ b/platform/authorization/package.json @@ -41,7 +41,7 @@ "async": "3.2.4", "do-proxy": "1.3.3", "jose": "4.11.0", - "viem": "1.20.0", + "viem": "2.7.1", "zod": "3.22.4" } } diff --git a/platform/galaxy/src/schema/resolvers/account.ts b/platform/galaxy/src/schema/resolvers/account.ts index 9be204c2a2..322cb1113b 100644 --- a/platform/galaxy/src/schema/resolvers/account.ts +++ b/platform/galaxy/src/schema/resolvers/account.ts @@ -126,11 +126,11 @@ const accountResolvers: Resolvers = { registerSessionKey: async ( _parent: any, { - sessionPublicKey, + sessionKeyAddress, smartContractWalletAddress, }: { - sessionPublicKey: string - smartContractWalletAddress: string + sessionKeyAddress: `0x${string}` + smartContractWalletAddress: `0x${string}` }, { env, jwt, traceSpan, identityURN, clientId, apiKey }: ResolverContext ) => { @@ -160,7 +160,7 @@ const accountResolvers: Resolvers = { const sessionKey = await coreClient.account.registerSessionKey.mutate({ paymaster, smartContractWalletAddress, - sessionPublicKey, + sessionKeyAddress, }) const appData = await coreClient.authorization.getAppData.query({ @@ -175,7 +175,7 @@ const accountResolvers: Resolvers = { smartWalletSessionKeys.push({ urn: baseAccountURN, - publicSessionKey: sessionPublicKey, + publicSessionKey: sessionKeyAddress, }) await coreClient.authorization.setAppData.mutate({ @@ -190,6 +190,77 @@ const accountResolvers: Resolvers = { throw new GraphQLError('Failed to register session key.') } }, + revokeSessionKey: async ( + _parent: any, + { + sessionKeyAddress, + smartContractWalletAddress, + }: { + sessionKeyAddress: `0x${string}` + smartContractWalletAddress: `0x${string}` + }, + { env, jwt, traceSpan, identityURN, clientId, apiKey }: ResolverContext + ) => { + const coreClient = createCoreClient(env.Core, { + ...getAuthzHeaderConditionallyFromToken(jwt), + ...generateTraceContextHeaders(traceSpan), + [AppAPIKeyHeader]: apiKey, + }) + + const [userInfo, paymaster]: [PersonaData, PaymasterType] = + await Promise.all([ + coreClient.authorization.getUserInfo.query({ access_token: jwt }), + coreClient.starbase.getPaymaster.query({ clientId }), + ]) + + if ( + !userInfo || + !userInfo.erc_4337.some( + (scWallet: { nickname: string; address: string }) => + scWallet.address === smartContractWalletAddress + ) + ) { + throw new GraphQLError('Invalid smart contract wallet address.') + } + + await coreClient.account.revokeWalletSessionKey.mutate({ + projectId: paymaster.secret, + sessionKeyAddress, + smartContractWalletAddress, + }) + + const appData = await coreClient.authorization.getAppData.query({ + clientId, + }) + + const { baseAccountURN } = generateSmartWalletAccountUrn( + smartContractWalletAddress, + '' // empty string because we only need a base urn + ) + + const smartWalletSessionKeys = ( + appData?.smartWalletSessionKeys || [] + ).filter( + ({ + urn, + publicSessionKey, + }: { + urn: string + publicSessionKey: `0x${string}` + }) => { + if (urn !== baseAccountURN) return true + if (publicSessionKey === sessionKeyAddress) return false + return true + } + ) + + await coreClient.authorization.setAppData.mutate({ + clientId, + appData: { + smartWalletSessionKeys, + }, + }) + }, }, } @@ -215,6 +286,11 @@ const AccountResolverComposition = { setupContext(), validateApiKey(), ], + 'Mutation.revokeSessionKey': [ + requestLogging(), + setupContext(), + validateApiKey(), + ], } export default composeResolvers(accountResolvers, AccountResolverComposition) diff --git a/platform/galaxy/src/schema/types/account.ts b/platform/galaxy/src/schema/types/account.ts index 234ed24ce6..a5dad299f0 100644 --- a/platform/galaxy/src/schema/types/account.ts +++ b/platform/galaxy/src/schema/types/account.ts @@ -24,8 +24,12 @@ export default /* GraphQL */ ` accountURNList: [ConnectedAccountPropertiesUpdateInput!]! ): Boolean registerSessionKey( - sessionPublicKey: String! + sessionKeyAddress: String! smartContractWalletAddress: String! ): String! + revokeSessionKey( + sessionKeyAddress: String! + smartContractWalletAddress: String! + ): Boolean } ` diff --git a/platform/identity/package.json b/platform/identity/package.json index b2a2610177..1d360403ec 100644 --- a/platform/identity/package.json +++ b/platform/identity/package.json @@ -36,6 +36,6 @@ "ts-set-utils": "0.2.0", "typed-json-rpc": "1.1.0", "urns": "0.6.0", - "viem": "1.20.0" + "viem": "2.7.1" } } diff --git a/platform/images/package.json b/platform/images/package.json index 72d66167b2..3a2fa77ab6 100644 --- a/platform/images/package.json +++ b/platform/images/package.json @@ -23,6 +23,6 @@ "image-data-uri": "2.0.1", "svg2png-wasm": "1.3.4", "tiny-invariant": "1.3.1", - "viem": "1.20.0" + "viem": "2.7.1" } } diff --git a/platform/starbase/package.json b/platform/starbase/package.json index 583d5fb7c3..43f95d743b 100644 --- a/platform/starbase/package.json +++ b/platform/starbase/package.json @@ -41,6 +41,6 @@ "multiformats": "10.0.2", "tiny-invariant": "1.3.1", "ts-set-utils": "0.2.0", - "viem": "1.20.0" + "viem": "2.7.1" } } diff --git a/yarn.lock b/yarn.lock index e14aa8b421..b3724f3e62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,33 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@account-abstraction/contracts@npm:^0.4.0": - version: 0.4.0 - resolution: "@account-abstraction/contracts@npm:0.4.0" - checksum: e49bf646075441ddd4d5301d627ad8e867c93c8466fa2c4ee5ab346d56995b8fffeb70fa87400801c9d3d433c77d854e8d8412e5b29d38a77f11e569e1920c87 - languageName: node - linkType: hard - -"@account-abstraction/contracts@npm:^0.6.0": - version: 0.6.0 - resolution: "@account-abstraction/contracts@npm:0.6.0" - checksum: 745e838e2cb04c89a9c0df11d022c1d604b1e440c9cd65c2014edd9b1056809fec2e363b42ec09883d49dbe09f9597d8339c90d57763a1621fb515edf5fef35d - languageName: node - linkType: hard - -"@account-abstraction/utils@npm:^0.4.0": - version: 0.4.0 - resolution: "@account-abstraction/utils@npm:0.4.0" - dependencies: - "@account-abstraction/contracts": ^0.4.0 - "@ethersproject/abi": ^5.7.0 - "@ethersproject/providers": ^5.7.0 - "@openzeppelin/contracts": ^4.7.3 - ethers: ^5.7.0 - checksum: 6c1ffea8886139ed84ef126d4e280ab29944455f700f67501d2959f7fbc25e9f36ec9bd1c0e0faf20da394cbe594427af83fcc29ee10f164ac537515b58f742d - languageName: node - linkType: hard - "@adraffy/ens-normalize@npm:1.10.0": version: 1.10.0 resolution: "@adraffy/ens-normalize@npm:1.10.0" @@ -53,17 +26,6 @@ __metadata: languageName: node linkType: hard -"@ambire/signature-validator@npm:^1.3.0": - version: 1.3.1 - resolution: "@ambire/signature-validator@npm:1.3.1" - dependencies: - ethers: ^5.6.5 - tap-spec: ^5.0.0 - tape: ^5.5.3 - checksum: 44c4796f4cbb4624cfd64033523d3491afa899067026e9615322dc6efaca71b16358cbc1661f2fce62d9dedcf424c92d44fe3b2ab8c6f171a59c0c21dc17b2e2 - languageName: node - linkType: hard - "@ampproject/remapping@npm:^2.1.0": version: 2.2.0 resolution: "@ampproject/remapping@npm:2.2.0" @@ -3326,7 +3288,7 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/util@npm:^8.0.0, @ethereumjs/util@npm:^8.1.0": +"@ethereumjs/util@npm:^8.1.0": version: 8.1.0 resolution: "@ethereumjs/util@npm:8.1.0" dependencies: @@ -3564,7 +3526,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/providers@npm:5.7.2, @ethersproject/providers@npm:^5.7.0": +"@ethersproject/providers@npm:5.7.2": version: 5.7.2 resolution: "@ethersproject/providers@npm:5.7.2" dependencies: @@ -3623,13 +3585,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/shims@npm:^5.7.0": - version: 5.7.0 - resolution: "@ethersproject/shims@npm:5.7.0" - checksum: 605af6961dcadaa3540988d87e204703f48272e7578cb350cee9b81560719f67ffd011a2814018b1a2b9bfe7b17bb030368095a74a1343748b6d294ed9491b65 - languageName: node - linkType: hard - "@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/signing-key@npm:5.7.0" @@ -5375,24 +5330,6 @@ __metadata: languageName: node linkType: hard -"@ljharb/resumer@npm:^0.0.1": - version: 0.0.1 - resolution: "@ljharb/resumer@npm:0.0.1" - dependencies: - "@ljharb/through": ^2.3.9 - checksum: 1cff0a485cb857933d2921cb05a349f8fe894fa2bb6b31a347010ecccc4a2b369e43ebe5383a32a60ee6c9572d2c83fcab383eb01727e1507bf29c59f312dae6 - languageName: node - linkType: hard - -"@ljharb/through@npm:^2.3.11, @ljharb/through@npm:^2.3.9": - version: 2.3.11 - resolution: "@ljharb/through@npm:2.3.11" - dependencies: - call-bind: ^1.0.2 - checksum: 10502726028b8a4e0b270a2213e546821c04ed8d7fe411009a8e47497e4ae99c57eeb9ff3d13620ebdefd7c856b16fc873f27c433cad60465dc132fb4b997233 - languageName: node - linkType: hard - "@mapbox/node-pre-gyp@npm:^1.0.0": version: 1.0.10 resolution: "@mapbox/node-pre-gyp@npm:1.0.10" @@ -5467,20 +5404,6 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-sig-util@npm:5.0.2": - version: 5.0.2 - resolution: "@metamask/eth-sig-util@npm:5.0.2" - dependencies: - "@ethereumjs/util": ^8.0.0 - bn.js: ^4.11.8 - ethereum-cryptography: ^1.1.2 - ethjs-util: ^0.1.6 - tweetnacl: ^1.0.3 - tweetnacl-util: ^0.15.1 - checksum: 1fbf1a0f5e654058f0219c9018dbebadf53036c9c3b47c8faf1cac54816532bb18996821736f526ac4e3d579afcaf502af4ad07e88158a50f015141858b08a90 - languageName: node - linkType: hard - "@metamask/safe-event-emitter@npm:2.0.0, @metamask/safe-event-emitter@npm:^2.0.0": version: 2.0.0 resolution: "@metamask/safe-event-emitter@npm:2.0.0" @@ -5686,15 +5609,6 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:1.1.0, @noble/curves@npm:~1.1.0": - version: 1.1.0 - resolution: "@noble/curves@npm:1.1.0" - dependencies: - "@noble/hashes": 1.3.1 - checksum: 2658cdd3f84f71079b4e3516c47559d22cf4b55c23ac8ee9d2b1f8e5b72916d9689e59820e0f9d9cb4a46a8423af5b56dc6bb7782405c88be06a015180508db5 - languageName: node - linkType: hard - "@noble/curves@npm:1.2.0, @noble/curves@npm:~1.2.0": version: 1.2.0 resolution: "@noble/curves@npm:1.2.0" @@ -5704,6 +5618,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:1.3.0, @noble/curves@npm:~1.3.0": + version: 1.3.0 + resolution: "@noble/curves@npm:1.3.0" + dependencies: + "@noble/hashes": 1.3.3 + checksum: b65342ee66c4a440eee2978524412eabba9a9efdd16d6370e15218c6a7d80bddf35e66bb57ed52c0dfd32cb9a717b439ab3a72db618f1a0066dfebe3fd12a421 + languageName: node + linkType: hard + "@noble/ed25519@npm:^1.7.0": version: 1.7.1 resolution: "@noble/ed25519@npm:1.7.1" @@ -5711,13 +5634,6 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.2.0, @noble/hashes@npm:~1.2.0": - version: 1.2.0 - resolution: "@noble/hashes@npm:1.2.0" - checksum: 8ca080ce557b8f40fb2f78d3aedffd95825a415ac8e13d7ffe3643f8626a8c2d99a3e5975b555027ac24316d8b3c02a35b8358567c0c23af681e6573602aa434 - languageName: node - linkType: hard - "@noble/hashes@npm:1.3.0, @noble/hashes@npm:~1.3.0": version: 1.3.0 resolution: "@noble/hashes@npm:1.3.0" @@ -5725,13 +5641,6 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.3.1": - version: 1.3.1 - resolution: "@noble/hashes@npm:1.3.1" - checksum: 7fdefc0f7a0c1ec27acc6ff88841793e3f93ec4ce6b8a6a12bfc0dd70ae6b7c4c82fe305fdfeda1735d5ad4a9eebe761e6693b3d355689c559e91242f4bc95b1 - languageName: node - linkType: hard - "@noble/hashes@npm:1.3.2": version: 1.3.2 resolution: "@noble/hashes@npm:1.3.2" @@ -5739,24 +5648,17 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:^1.1.2": - version: 1.1.5 - resolution: "@noble/hashes@npm:1.1.5" - checksum: de3f095a7ac1cbf5b4b3d09f193288d4f2eec35fbadf2ed9fd7e47d8a3042fef410052ba62dc0296a185f994c11192f5357fdb1bd9178c905efd82e946c53b00 - languageName: node - linkType: hard - -"@noble/hashes@npm:~1.3.1, @noble/hashes@npm:~1.3.2": +"@noble/hashes@npm:1.3.3, @noble/hashes@npm:~1.3.2": version: 1.3.3 resolution: "@noble/hashes@npm:1.3.3" checksum: 8a6496d1c0c64797339bc694ad06cdfaa0f9e56cd0c3f68ae3666cfb153a791a55deb0af9c653c7ed2db64d537aa3e3054629740d2f2338bb1dcb7ab60cd205b languageName: node linkType: hard -"@noble/secp256k1@npm:1.7.1, @noble/secp256k1@npm:~1.7.0": - version: 1.7.1 - resolution: "@noble/secp256k1@npm:1.7.1" - checksum: d2301f1f7690368d8409a3152450458f27e54df47e3f917292de3de82c298770890c2de7c967d237eff9c95b70af485389a9695f73eb05a43e2bd562d18b18cb +"@noble/hashes@npm:^1.1.2": + version: 1.1.5 + resolution: "@noble/hashes@npm:1.1.5" + checksum: de3f095a7ac1cbf5b4b3d09f193288d4f2eec35fbadf2ed9fd7e47d8a3042fef410052ba62dc0296a185f994c11192f5357fdb1bd9178c905efd82e946c53b00 languageName: node linkType: hard @@ -6013,13 +5915,6 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts@npm:^4.7.3, @openzeppelin/contracts@npm:^4.8.2": - version: 4.9.5 - resolution: "@openzeppelin/contracts@npm:4.9.5" - checksum: 2cddeb08c006a8f99c5cc40cc80aecb449fd941cd1a92ebda315d77f48c4b4d487798a1254bffbc3ec811b390365d14665e92dbb2dd8f45aacef479d69d94574 - languageName: node - linkType: hard - "@parcel/watcher-android-arm64@npm:2.3.0": version: 2.3.0 resolution: "@parcel/watcher-android-arm64@npm:2.3.0" @@ -6732,7 +6627,6 @@ __metadata: resolution: "@proofzero/platform.account@workspace:platform/account" dependencies: "@cloudflare/workers-types": 4.20231121.0 - "@ethersproject/wallet": 5.7.0 "@proofzero/platform-clients": "workspace:*" "@proofzero/platform.core": "workspace:*" "@proofzero/types": "workspace:*" @@ -6742,17 +6636,21 @@ __metadata: "@types/node": 18.15.3 "@typescript-eslint/eslint-plugin": 5.42.1 "@typescript-eslint/parser": 5.42.1 - "@zerodevapp/sdk": 3.1.57 + "@zerodev/ecdsa-validator": 5.0.3 + "@zerodev/presets": 5.1.2 + "@zerodev/sdk": 5.0.9 + "@zerodev/session-key": 5.0.2 do-proxy: 1.3.3 eslint: 8.28.0 eslint-config-prettier: 8.5.0 jose: 4.11.0 npm-run-all: 4.1.5 + permissionless: 0.0.34 prettier: 2.7.1 random-words: 2.0.0 remix-auth-google: 1.2.0 typescript: 5.0.4 - viem: 1.20.0 + viem: 2.7.1 zod: 3.22.4 languageName: unknown linkType: soft @@ -6783,7 +6681,7 @@ __metadata: npm-run-all: 4.1.5 prettier: 2.7.1 typescript: 5.0.4 - viem: 1.20.0 + viem: 2.7.1 wrangler: 3.18 zod: 3.22.4 languageName: unknown @@ -6924,7 +6822,7 @@ __metadata: typed-json-rpc: 1.1.0 typescript: 5.0.4 urns: 0.6.0 - viem: 1.20.0 + viem: 2.7.1 languageName: unknown linkType: soft @@ -6991,7 +6889,7 @@ __metadata: tiny-invariant: 1.3.1 ts-set-utils: 0.2.0 typescript: 5.0.4 - viem: 1.20.0 + viem: 2.7.1 languageName: unknown linkType: soft @@ -7096,7 +6994,7 @@ __metadata: svg2png-wasm: 1.3.4 tiny-invariant: 1.3.1 typescript: 5.0.4 - viem: 1.20.0 + viem: 2.7.1 wrangler: 3.18 languageName: unknown linkType: soft @@ -7167,7 +7065,7 @@ __metadata: prettier: 2.8.0 typescript: 5.0.4 urns: 0.6.0 - viem: 1.20.0 + viem: 2.7.1 languageName: unknown linkType: soft @@ -7927,24 +7825,13 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:~1.1.2": +"@scure/base@npm:~1.1.2, @scure/base@npm:~1.1.4": version: 1.1.5 resolution: "@scure/base@npm:1.1.5" checksum: 9e9ee6088cb3aa0fb91f5a48497d26682c7829df3019b1251d088d166d7a8c0f941c68aaa8e7b96bbad20c71eb210397cb1099062cde3e29d4bad6b975c18519 languageName: node linkType: hard -"@scure/bip32@npm:1.1.5": - version: 1.1.5 - resolution: "@scure/bip32@npm:1.1.5" - dependencies: - "@noble/hashes": ~1.2.0 - "@noble/secp256k1": ~1.7.0 - "@scure/base": ~1.1.0 - checksum: b08494ab0d2b1efee7226d1b5100db5157ebea22a78bb87126982a76a186cb3048413e8be0ba2622d00d048a20acbba527af730de86c132a77de616eb9907a3b - languageName: node - linkType: hard - "@scure/bip32@npm:1.3.0": version: 1.3.0 resolution: "@scure/bip32@npm:1.3.0" @@ -7956,17 +7843,6 @@ __metadata: languageName: node linkType: hard -"@scure/bip32@npm:1.3.1": - version: 1.3.1 - resolution: "@scure/bip32@npm:1.3.1" - dependencies: - "@noble/curves": ~1.1.0 - "@noble/hashes": ~1.3.1 - "@scure/base": ~1.1.0 - checksum: 394d65f77a40651eba21a5096da0f4233c3b50d422864751d373fcf142eeedb94a1149f9ab1dbb078086dab2d0bc27e2b1afec8321bf22d4403c7df2fea5bfe2 - languageName: node - linkType: hard - "@scure/bip32@npm:1.3.2": version: 1.3.2 resolution: "@scure/bip32@npm:1.3.2" @@ -7978,13 +7854,14 @@ __metadata: languageName: node linkType: hard -"@scure/bip39@npm:1.1.1": - version: 1.1.1 - resolution: "@scure/bip39@npm:1.1.1" +"@scure/bip32@npm:1.3.3": + version: 1.3.3 + resolution: "@scure/bip32@npm:1.3.3" dependencies: - "@noble/hashes": ~1.2.0 - "@scure/base": ~1.1.0 - checksum: fbb594c50696fa9c14e891d872f382e50a3f919b6c96c55ef2fb10c7102c546dafb8f099a62bd114c12a00525b595dcf7381846f383f0ddcedeaa6e210747d2f + "@noble/curves": ~1.3.0 + "@noble/hashes": ~1.3.2 + "@scure/base": ~1.1.4 + checksum: f939ca733972622fcc1e61d4fdf170a0ad294b24ddb7ed7cdd4c467e1ef283b970154cb101cf5f1a7b64cf5337e917ad31135911dfc36b1d76625320167df2fa languageName: node linkType: hard @@ -8008,6 +7885,16 @@ __metadata: languageName: node linkType: hard +"@scure/bip39@npm:1.2.2": + version: 1.2.2 + resolution: "@scure/bip39@npm:1.2.2" + dependencies: + "@noble/hashes": ~1.3.2 + "@scure/base": ~1.1.4 + checksum: cb99505e6d2deef8e55e81df8c563ce8dbfdf1595596dc912bceadcf366c91b05a98130e928ecb090df74efdb20150b64acc4be55bc42768cab4d39a2833d234 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.24.1": version: 0.24.51 resolution: "@sinclair/typebox@npm:0.24.51" @@ -15047,57 +14934,50 @@ __metadata: languageName: node linkType: hard -"@zerodevapp/contracts-new@npm:@zerodevapp/contracts@^3.0.0-rc.5": - version: 3.0.0-rc.5 - resolution: "@zerodevapp/contracts@npm:3.0.0-rc.5" - dependencies: - "@account-abstraction/contracts": ^0.6.0 - checksum: c1c189f628c3fd41158d5436ed79e4144008dce7ef04fa6aa64930b30dc6e519f0e7506fdb77e7b190b3e2845eb8bd02ea377f8682efddcc7e8dd65e89a56d26 +"@zerodev/ecdsa-validator@npm:5.0.3": + version: 5.0.3 + resolution: "@zerodev/ecdsa-validator@npm:5.0.3" + peerDependencies: + "@zerodev/sdk": ^5.0.2 + permissionless: ^0.0.34 + viem: ^2.0.0 + checksum: 4b0a54b9a1be363af5149c3596627bd160664090ae211787e5dd026e8e0fb427fa1d43158a46982ce986077866f3cbf01cec6f16617519f89e4c68c6f553dd2e languageName: node linkType: hard -"@zerodevapp/contracts@npm:^2.0.8": - version: 2.0.8 - resolution: "@zerodevapp/contracts@npm:2.0.8" - checksum: 58ce1e26fb1cd1abb3fb46698187f38ce06079ae030f264858a4bb2b771b22d18ac83c9d99249e2dc6dfbc713755297724d33b0b9df6515e8b9d3c99712e5308 +"@zerodev/presets@npm:5.1.2": + version: 5.1.2 + resolution: "@zerodev/presets@npm:5.1.2" + peerDependencies: + "@zerodev/ecdsa-validator": ^5.0.2 + "@zerodev/sdk": ^5.0.2 + permissionless: ^0.0.34 + typescript: ^5.0.0 + viem: ^2.0.0 + checksum: 691a2129f1317d0bc0036f4b10447af38c2ef13539e3a7f2339d78c9a666f4a7615083cbb8cbc453b086cd9aacae29e5fbb9c088782515a5c6d99686239c230e languageName: node linkType: hard -"@zerodevapp/kernel-contracts-v2@npm:@zerodevapp/contracts@^4.0.0-beta.15": - version: 4.0.0-beta.15 - resolution: "@zerodevapp/contracts@npm:4.0.0-beta.15" - dependencies: - "@account-abstraction/contracts": ^0.6.0 - dotenv: ^16.0.3 - checksum: e40e5fc8776717f04132a16106870a6c5bab3227e4a2bd8e4b0d2f655d8b9a0b4f3419957d4e0a31388b5aa1643fd084e8f8e49149cbeb6af2333537e2b16775 +"@zerodev/sdk@npm:5.0.9": + version: 5.0.9 + resolution: "@zerodev/sdk@npm:5.0.9" + peerDependencies: + permissionless: ^0.0.34 + viem: ^2.0.0 + checksum: deb5041b0236412252b4cfd44bc1569ff38dbdc882e27030ce0e89b0e1728403777b9b8aa68134e2135651f91434ea662e0e7b89a29b0c5bee9ebcf728674f3b languageName: node linkType: hard -"@zerodevapp/sdk@npm:3.1.57": - version: 3.1.57 - resolution: "@zerodevapp/sdk@npm:3.1.57" +"@zerodev/session-key@npm:5.0.2": + version: 5.0.2 + resolution: "@zerodev/session-key@npm:5.0.2" dependencies: - "@account-abstraction/contracts": ^0.6.0 - "@account-abstraction/utils": ^0.4.0 - "@ambire/signature-validator": ^1.3.0 - "@ethersproject/abstract-provider": ^5.7.0 - "@ethersproject/abstract-signer": ^5.7.0 - "@ethersproject/networks": ^5.7.0 - "@ethersproject/properties": ^5.7.0 - "@ethersproject/providers": ^5.7.0 - "@ethersproject/shims": ^5.7.0 - "@metamask/eth-sig-util": 5.0.2 - "@openzeppelin/contracts": ^4.8.2 - "@types/debug": ^4.1.7 - "@zerodevapp/contracts": ^2.0.8 - "@zerodevapp/contracts-new": "npm:@zerodevapp/contracts@^3.0.0-rc.5" - "@zerodevapp/kernel-contracts-v2": "npm:@zerodevapp/contracts@^4.0.0-beta.15" - base64-js: ^1.5.1 - debug: ^4.3.4 - merkletreejs: ^0.3.9 + merkletreejs: ^0.3.11 peerDependencies: - ethers: ^5.7.0 - checksum: 3a3164f4af9538fd85ae75ac3f0b5cc82327feb7c77408e9ebd26713d750c93a7b9801a2e5629e4e41248ad7c812cb7cd5c15bf1047e810fdc0a75e46c8fa0d7 + "@zerodev/sdk": ^5.0.2 + permissionless: ^0.0.34 + viem: ^2.0.0 + checksum: 4d8a3eb896703174c5a48ce700e38e3d728441216e09a13cf77e82a42d86cc25fc53e0f8eaf1730f08a5a2195a35c71767b0a024f918dbeb2d16e8dd5cba5fd1 languageName: node linkType: hard @@ -15162,6 +15042,21 @@ __metadata: languageName: node linkType: hard +"abitype@npm:1.0.0": + version: 1.0.0 + resolution: "abitype@npm:1.0.0" + peerDependencies: + typescript: ">=5.0.4" + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + checksum: ea2c0548c3ba58c37a6de7483d63389074da498e63d803b742bbe94eb4eaa1f51a35d000c424058b2583aef56698cf07c696eb3bc4dd0303bc20c6f0826a241a + languageName: node + linkType: hard + "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -15801,16 +15696,6 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "array-buffer-byte-length@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - is-array-buffer: ^3.0.1 - checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 - languageName: node - linkType: hard - "array-find-index@npm:^1.0.1": version: 1.0.2 resolution: "array-find-index@npm:1.0.2" @@ -15875,18 +15760,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.every@npm:^1.1.5": - version: 1.1.5 - resolution: "array.prototype.every@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - is-string: ^1.0.7 - checksum: 9974435604e135fc8c359a76c89bfe0672c1a80974a76dc61c673e5ea5068f78a31b7a168634ed7691501130ed61d3c788dd1d48ec1265c6cdf3910897b1eba4 - languageName: node - linkType: hard - "array.prototype.flat@npm:^1.2.1, array.prototype.flat@npm:^1.2.5": version: 1.3.1 resolution: "array.prototype.flat@npm:1.3.1" @@ -15950,21 +15823,6 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.2": - version: 1.0.2 - resolution: "arraybuffer.prototype.slice@npm:1.0.2" - dependencies: - array-buffer-byte-length: ^1.0.0 - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - is-array-buffer: ^3.0.2 - is-shared-array-buffer: ^1.0.2 - checksum: c200faf437786f5b2c80d4564ff5481c886a16dee642ef02abdc7306c7edd523d1f01d1dd12b769c7eb42ac9bc53874510db19a92a2c035c0f6696172aafa5d3 - languageName: node - linkType: hard - "arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" @@ -16677,7 +16535,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -16884,7 +16742,7 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 @@ -17191,13 +17049,6 @@ __metadata: languageName: node linkType: hard -"buffer-shims@npm:~1.0.0": - version: 1.0.0 - resolution: "buffer-shims@npm:1.0.0" - checksum: 4defd1ffc9b270708ea39c17cac75c91c520c8e2f1d28a4d0ec74dc77445cbf8fc162003f0530fd1f81340347e9a26863d5aa27cd3cc351ec1d0361777d15ace - languageName: node - linkType: hard - "buffer-xor@npm:^1.0.3": version: 1.0.3 resolution: "buffer-xor@npm:1.0.3" @@ -17458,17 +17309,6 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": - version: 1.0.5 - resolution: "call-bind@npm:1.0.5" - dependencies: - function-bind: ^1.1.2 - get-intrinsic: ^1.2.1 - set-function-length: ^1.1.1 - checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 - languageName: node - linkType: hard - "call-me-maybe@npm:^1.0.1": version: 1.0.2 resolution: "call-me-maybe@npm:1.0.2" @@ -19713,32 +19553,6 @@ __metadata: languageName: node linkType: hard -"deep-equal@npm:^2.2.2": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" - dependencies: - array-buffer-byte-length: ^1.0.0 - call-bind: ^1.0.5 - es-get-iterator: ^1.1.3 - get-intrinsic: ^1.2.2 - is-arguments: ^1.1.1 - is-array-buffer: ^3.0.2 - is-date-object: ^1.0.5 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - isarray: ^2.0.5 - object-is: ^1.1.5 - object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.1 - side-channel: ^1.0.4 - which-boxed-primitive: ^1.0.2 - which-collection: ^1.0.1 - which-typed-array: ^1.1.13 - checksum: ee8852f23e4d20a5626c13b02f415ba443a1b30b4b3d39eaf366d59c4a85e6545d7ec917db44d476a85ae5a86064f7e5f7af7479f38f113995ba869f3a1ddc53 - languageName: node - linkType: hard - "deep-extend@npm:^0.6.0, deep-extend@npm:~0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" @@ -19821,17 +19635,6 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": - version: 1.1.1 - resolution: "define-data-property@npm:1.1.1" - dependencies: - get-intrinsic: ^1.2.1 - gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d - languageName: node - linkType: hard - "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -19849,17 +19652,6 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.2.0": - version: 1.2.1 - resolution: "define-properties@npm:1.2.1" - dependencies: - define-data-property: ^1.0.1 - has-property-descriptors: ^1.0.0 - object-keys: ^1.1.1 - checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 - languageName: node - linkType: hard - "define-property@npm:^0.2.5": version: 0.2.5 resolution: "define-property@npm:0.2.5" @@ -19888,7 +19680,7 @@ __metadata: languageName: node linkType: hard -"defined@npm:^1.0.0, defined@npm:^1.0.1": +"defined@npm:^1.0.0": version: 1.0.1 resolution: "defined@npm:1.0.1" checksum: b1a852300bdb57f297289b55eafdd0c517afaa3ec8190e78fce91b9d8d0c0369d4505ecbdacfd3d98372e664f4a267d9bd793938d4a8c76209c9d9516fbe2101 @@ -20385,13 +20177,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.3": - version: 16.3.1 - resolution: "dotenv@npm:16.3.1" - checksum: 15d75e7279018f4bafd0ee9706593dd14455ddb71b3bcba9c52574460b7ccaf67d5cf8b2c08a5af1a9da6db36c956a04a1192b101ee102a3e0cf8817bbcf3dfd - languageName: node - linkType: hard - "dotenv@npm:^8.0.0": version: 8.6.0 resolution: "dotenv@npm:8.6.0" @@ -20399,17 +20184,6 @@ __metadata: languageName: node linkType: hard -"dotignore@npm:^0.1.2": - version: 0.1.2 - resolution: "dotignore@npm:0.1.2" - dependencies: - minimatch: ^3.0.4 - bin: - ignored: bin/ignored - checksum: 06bab15e2a2400c6f823a0edbcd73661180f6245a4041a3fe3b9fde4b22ae74b896604df4520a877093f05c656bd080087376c9f605bccdea847664c59910f37 - languageName: node - linkType: hard - "dreamopt@npm:~0.8.0": version: 0.8.0 resolution: "dreamopt@npm:0.8.0" @@ -20816,53 +20590,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1": - version: 1.22.3 - resolution: "es-abstract@npm:1.22.3" - dependencies: - array-buffer-byte-length: ^1.0.0 - arraybuffer.prototype.slice: ^1.0.2 - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.5 - es-set-tostringtag: ^2.0.1 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.6 - get-intrinsic: ^1.2.2 - get-symbol-description: ^1.0.0 - globalthis: ^1.0.3 - gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - hasown: ^2.0.0 - internal-slot: ^1.0.5 - is-array-buffer: ^3.0.2 - is-callable: ^1.2.7 - is-negative-zero: ^2.0.2 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - is-string: ^1.0.7 - is-typed-array: ^1.1.12 - is-weakref: ^1.0.2 - object-inspect: ^1.13.1 - object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.1 - safe-array-concat: ^1.0.1 - safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.8 - string.prototype.trimend: ^1.0.7 - string.prototype.trimstart: ^1.0.7 - typed-array-buffer: ^1.0.0 - typed-array-byte-length: ^1.0.0 - typed-array-byte-offset: ^1.0.0 - typed-array-length: ^1.0.4 - unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.13 - checksum: b1bdc962856836f6e72be10b58dc128282bdf33771c7a38ae90419d920fc3b36cc5d2b70a222ad8016e3fc322c367bf4e9e89fc2bc79b7e933c05b218e83d79a - languageName: node - linkType: hard - "es-array-method-boxes-properly@npm:^1.0.0": version: 1.0.0 resolution: "es-array-method-boxes-properly@npm:1.0.0" @@ -20886,23 +20613,6 @@ __metadata: languageName: node linkType: hard -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 - has-symbols: ^1.0.3 - is-arguments: ^1.1.1 - is-map: ^2.0.2 - is-set: ^2.0.2 - is-string: ^1.0.7 - isarray: ^2.0.5 - stop-iteration-iterator: ^1.0.0 - checksum: 8fa118da42667a01a7c7529f8a8cca514feeff243feec1ce0bb73baaa3514560bd09d2b3438873cf8a5aaec5d52da248131de153b28e2638a061b6e4df13267d - languageName: node - linkType: hard - "es-module-lexer@npm:^0.9.0": version: 0.9.3 resolution: "es-module-lexer@npm:0.9.3" @@ -20910,17 +20620,6 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.1": - version: 2.0.2 - resolution: "es-set-tostringtag@npm:2.0.2" - dependencies: - get-intrinsic: ^1.2.2 - has-tostringtag: ^1.0.0 - hasown: ^2.0.0 - checksum: afcec3a4c9890ae14d7ec606204858441c801ff84f312538e1d1ccf1e5493c8b17bd672235df785f803756472cb4f2d49b87bde5237aef33411e74c22f194e07 - languageName: node - linkType: hard - "es-shim-unscopables@npm:^1.0.0": version: 1.0.0 resolution: "es-shim-unscopables@npm:1.0.0" @@ -22685,31 +22384,19 @@ __metadata: languageName: node linkType: hard -"ethereum-cryptography@npm:^1.1.2": - version: 1.2.0 - resolution: "ethereum-cryptography@npm:1.2.0" - dependencies: - "@noble/hashes": 1.2.0 - "@noble/secp256k1": 1.7.1 - "@scure/bip32": 1.1.5 - "@scure/bip39": 1.1.1 - checksum: 97e8e8253cb9f5a9271bd0201c37609c451c890eb85883b9c564f14743c3d7c673287406c93bf5604307593ee298ad9a03983388b85c11ca61461b9fc1a4f2c7 - languageName: node - linkType: hard - "ethereum-cryptography@npm:^2.0.0, ethereum-cryptography@npm:^2.1.2": - version: 2.1.2 - resolution: "ethereum-cryptography@npm:2.1.2" + version: 2.1.3 + resolution: "ethereum-cryptography@npm:2.1.3" dependencies: - "@noble/curves": 1.1.0 - "@noble/hashes": 1.3.1 - "@scure/bip32": 1.3.1 - "@scure/bip39": 1.2.1 - checksum: 2e8f7b8cc90232ae838ab6a8167708e8362621404d26e79b5d9e762c7b53d699f7520aff358d9254de658fcd54d2d0af168ff909943259ed27dc4cef2736410c + "@noble/curves": 1.3.0 + "@noble/hashes": 1.3.3 + "@scure/bip32": 1.3.3 + "@scure/bip39": 1.2.2 + checksum: 7f9c14f868a588641179cace3eb86c332c4743290865db699870710253cabc4dc74bd4bce5e7bc6db667482e032e94d6f79521219eb6be5dc422059d279a27b7 languageName: node linkType: hard -"ethers@npm:5.7.2, ethers@npm:^5.6.5, ethers@npm:^5.7.0": +"ethers@npm:5.7.2": version: 5.7.2 resolution: "ethers@npm:5.7.2" dependencies: @@ -22757,16 +22444,6 @@ __metadata: languageName: node linkType: hard -"ethjs-util@npm:^0.1.6": - version: 0.1.6 - resolution: "ethjs-util@npm:0.1.6" - dependencies: - is-hex-prefixed: 1.0.0 - strip-hex-prefix: 1.0.0 - checksum: 1f42959e78ec6f49889c49c8a98639e06f52a15966387dd39faf2930db48663d026efb7db2702dcffe7f2a99c4a0144b7ce784efdbf733f4077aae95de76d65f - languageName: node - linkType: hard - "eval@npm:0.1.6": version: 0.1.6 resolution: "eval@npm:0.1.6" @@ -23278,7 +22955,7 @@ __metadata: languageName: node linkType: hard -"figures@npm:^1.0.1, figures@npm:^1.4.0": +"figures@npm:^1.0.1": version: 1.7.0 resolution: "figures@npm:1.7.0" dependencies: @@ -23981,13 +23658,6 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 - languageName: node - linkType: hard - "function-loop@npm:^2.0.1": version: 2.0.1 resolution: "function-loop@npm:2.0.1" @@ -24007,19 +23677,7 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - functions-have-names: ^1.2.3 - checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.2, functions-have-names@npm:^1.2.3": +"functions-have-names@npm:^1.2.2": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 @@ -24109,18 +23767,6 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": - version: 1.2.2 - resolution: "get-intrinsic@npm:1.2.2" - dependencies: - function-bind: ^1.1.2 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - hasown: ^2.0.0 - checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 - languageName: node - linkType: hard - "get-monorepo-packages@npm:^1.1.0": version: 1.2.0 resolution: "get-monorepo-packages@npm:1.2.0" @@ -24449,7 +24095,7 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.0, globalthis@npm:^1.0.3": +"globalthis@npm:^1.0.0": version: 1.0.3 resolution: "globalthis@npm:1.0.3" dependencies: @@ -24830,16 +24476,6 @@ __metadata: languageName: node linkType: hard -"has-dynamic-import@npm:^2.0.1": - version: 2.0.1 - resolution: "has-dynamic-import@npm:2.0.1" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 1cb60255cdd354a5f53997dd4c8ae0f821706ced3d1047bb810cb74400f28988b08d4d986318cb6610b79e6b9993a6592e678b6cef3ef0b71ab553eaa99b9c4d - languageName: node - linkType: hard - "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -24872,13 +24508,6 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e - languageName: node - linkType: hard - "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -24988,15 +24617,6 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0": - version: 2.0.0 - resolution: "hasown@npm:2.0.0" - dependencies: - function-bind: ^1.1.2 - checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 - languageName: node - linkType: hard - "hast-to-hyperscript@npm:^9.0.0": version: 9.0.1 resolution: "hast-to-hyperscript@npm:9.0.1" @@ -25891,17 +25511,6 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": - version: 1.0.6 - resolution: "internal-slot@npm:1.0.6" - dependencies: - get-intrinsic: ^1.2.2 - hasown: ^2.0.0 - side-channel: ^1.0.4 - checksum: 7872454888047553ce97a3fa1da7cc054a28ec5400a9c2e9f4dbe4fe7c1d041cb8e8301467614b80d4246d50377aad2fb58860b294ed74d6700cc346b6f89549 - languageName: node - linkType: hard - "interpret@npm:^2.2.0": version: 2.2.0 resolution: "interpret@npm:2.2.0" @@ -26072,17 +25681,6 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": - version: 3.0.2 - resolution: "is-array-buffer@npm:3.0.2" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.0 - is-typed-array: ^1.1.10 - checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -26177,15 +25775,6 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" - dependencies: - hasown: ^2.0.0 - checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c - languageName: node - linkType: hard - "is-data-descriptor@npm:^0.1.4": version: 0.1.4 resolution: "is-data-descriptor@npm:0.1.4" @@ -26298,7 +25887,7 @@ __metadata: languageName: node linkType: hard -"is-finite@npm:^1.0.0, is-finite@npm:^1.0.1": +"is-finite@npm:^1.0.0": version: 1.1.0 resolution: "is-finite@npm:1.1.0" checksum: 532b97ed3d03e04c6bd203984d9e4ba3c0c390efee492bad5d1d1cd1802a68ab27adbd3ef6382f6312bed6c8bb1bd3e325ea79a8dc8fe080ed7a06f5f97b93e7 @@ -26652,15 +26241,6 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": - version: 1.1.12 - resolution: "is-typed-array@npm:1.1.12" - dependencies: - which-typed-array: ^1.1.11 - checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 - languageName: node - linkType: hard - "is-typedarray@npm:1.0.0, is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -28607,7 +28187,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0, lodash@npm:~4.17.0, lodash@npm:~4.17.15": +"lodash@npm:4.17.21, lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0, lodash@npm:~4.17.0, lodash@npm:~4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -29275,7 +28855,7 @@ __metadata: languageName: node linkType: hard -"merkletreejs@npm:^0.3.9": +"merkletreejs@npm:^0.3.11": version: 0.3.11 resolution: "merkletreejs@npm:0.3.11" dependencies: @@ -29945,13 +29525,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.8": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -30125,20 +29698,6 @@ __metadata: languageName: node linkType: hard -"mock-property@npm:^1.0.2": - version: 1.0.3 - resolution: "mock-property@npm:1.0.3" - dependencies: - define-data-property: ^1.1.1 - functions-have-names: ^1.2.3 - gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - hasown: ^2.0.0 - isarray: ^2.0.5 - checksum: 835b106e38580c929def6803dad58fc8299d77ed876faed0098f9eb2076e30a2ef36fb5098adac87a4901c13532de86a859e63c8b6769fb7527e1dbbb6430cce - languageName: node - linkType: hard - "module-alias@npm:^2.2.2": version: 2.2.2 resolution: "module-alias@npm:2.2.2" @@ -30898,13 +30457,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f - languageName: node - linkType: hard - "object-is@npm:^1.1.5": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -31589,13 +31141,6 @@ __metadata: languageName: node linkType: hard -"parse-ms@npm:^1.0.0": - version: 1.0.1 - resolution: "parse-ms@npm:1.0.1" - checksum: 93fa7921554fe16bc73272a94bf812d1db6a144964fb57692f6de4fccf14bd771a232e8dcdcd4bbaa4aa477796cd3f35374d65596cca12323f2664bc023b4b4c - languageName: node - linkType: hard - "parse-ms@npm:^2.1.0": version: 2.1.0 resolution: "parse-ms@npm:2.1.0" @@ -31867,6 +31412,15 @@ __metadata: languageName: node linkType: hard +"permissionless@npm:0.0.34": + version: 0.0.34 + resolution: "permissionless@npm:0.0.34" + peerDependencies: + viem: ^2.0.0 + checksum: 4c8ed7c839ecca6ece824b686a7490471232ec9fff35d60705aea8045ca262337409688d90e5b9099d138cb9f69717f907930e6eb630268a9bb1fa2204d657f1 + languageName: node + linkType: hard + "picocolors@npm:^0.2.1": version: 0.2.1 resolution: "picocolors@npm:0.2.1" @@ -32083,13 +31637,6 @@ __metadata: languageName: node linkType: hard -"plur@npm:^1.0.0": - version: 1.0.0 - resolution: "plur@npm:1.0.0" - checksum: bd8725178b2db5a708293c072631c84a33299dece6e5041835f874064e51c515d201905408c780e48df54d960d32bc0ac2e9e4cfe6d756ec4fff29ba5adfbf6c - languageName: node - linkType: hard - "pngjs@npm:^5.0.0": version: 5.0.0 resolution: "pngjs@npm:5.0.0" @@ -33353,17 +32900,6 @@ __metadata: languageName: node linkType: hard -"pretty-ms@npm:^2.1.0": - version: 2.1.0 - resolution: "pretty-ms@npm:2.1.0" - dependencies: - is-finite: ^1.0.1 - parse-ms: ^1.0.0 - plur: ^1.0.0 - checksum: a6a3df561f761902080df23407fc549cc3042fd685d8d2906e6cc2bd5024a814fb2bd4bd061e24879a8540c3aa48faba366421d5b49c268fbfb3501493835c2a - languageName: node - linkType: hard - "pretty-ms@npm:^7.0.0, pretty-ms@npm:^7.0.1": version: 7.0.1 resolution: "pretty-ms@npm:7.0.1" @@ -33380,13 +32916,6 @@ __metadata: languageName: node linkType: hard -"process-nextick-args@npm:~1.0.6": - version: 1.0.7 - resolution: "process-nextick-args@npm:1.0.7" - checksum: 41224fbc803ac6c96907461d4dfc20942efa3ca75f2d521bcf7cf0e89f8dec127fb3fb5d76746b8fb468a232ea02d84824fae08e027aec185fd29049c66d49f8 - languageName: node - linkType: hard - "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -33897,13 +33426,6 @@ __metadata: languageName: node linkType: hard -"re-emitter@npm:1.1.3": - version: 1.1.3 - resolution: "re-emitter@npm:1.1.3" - checksum: 3234850c26c4e51622ad7e54172396134cd510c2511da680275ab1e663e5d12c8b81e3e6f4ec025527ed241ad53dae9d1478c0148569840d2fec96a37d155431 - languageName: node - linkType: hard - "react-app-polyfill@npm:^3.0.0": version: 3.0.0 resolution: "react-app-polyfill@npm:3.0.0" @@ -34547,21 +34069,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:2.2.9": - version: 2.2.9 - resolution: "readable-stream@npm:2.2.9" - dependencies: - buffer-shims: ~1.0.0 - core-util-is: ~1.0.0 - inherits: ~2.0.1 - isarray: ~1.0.0 - process-nextick-args: ~1.0.6 - string_decoder: ~1.0.0 - util-deprecate: ~1.0.1 - checksum: d186b7051c4a25b769fa158d1025da83dfb0052f8b0889df40e8e942d05b4d0d37470c49cfd73cce886db66d1a8cd5ec5e2ce97857894587d8158da5ed93baa7 - languageName: node - linkType: hard - "readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": version: 3.6.0 resolution: "readable-stream@npm:3.6.0" @@ -34748,17 +34255,6 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.1": - version: 1.5.1 - resolution: "regexp.prototype.flags@npm:1.5.1" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - set-function-name: ^2.0.0 - checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 - languageName: node - linkType: hard - "regexpp@npm:^3.0.0, regexpp@npm:^3.2.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" @@ -35128,7 +34624,7 @@ __metadata: languageName: node linkType: hard -"repeat-string@npm:^1.5.2, repeat-string@npm:^1.5.4, repeat-string@npm:^1.6.1": +"repeat-string@npm:^1.5.4, repeat-string@npm:^1.6.1": version: 1.6.1 resolution: "repeat-string@npm:1.6.1" checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 @@ -35350,19 +34846,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.5": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: a73ac69a1c4bd34c56b213d91f5b17ce390688fdb4a1a96ed3025cc7e08e7bfb90b3a06fcce461780cb0b589c958afcb0080ab802c71c01a7ecc8c64feafc89f - languageName: node - linkType: hard - "resolve@npm:~1.17.0": version: 1.17.0 resolution: "resolve@npm:1.17.0" @@ -35430,19 +34913,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^2.0.0-next.5#~builtin": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=07638b" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 064d09c1808d0c51b3d90b5d27e198e6d0c5dad0eb57065fd40803d6a20553e5398b07f76739d69cbabc12547058bec6b32106ea66622375fb0d7e8fca6a846c - languageName: node - linkType: hard - "resolve@patch:resolve@~1.17.0#~builtin": version: 1.17.0 resolution: "resolve@patch:resolve@npm%3A1.17.0#~builtin::version=1.17.0&hash=07638b" @@ -35759,18 +35229,6 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.0.1": - version: 1.0.1 - resolution: "safe-array-concat@npm:1.0.1" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 - isarray: ^2.0.5 - checksum: 001ecf1d8af398251cbfabaf30ed66e3855127fbceee178179524b24160b49d15442f94ed6c0db0b2e796da76bb05b73bf3cc241490ec9c2b741b41d33058581 - languageName: node - linkType: hard - "safe-buffer@npm:5.1.1": version: 5.1.1 resolution: "safe-buffer@npm:5.1.1" @@ -36246,29 +35704,6 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.1.1": - version: 1.1.1 - resolution: "set-function-length@npm:1.1.1" - dependencies: - define-data-property: ^1.1.1 - get-intrinsic: ^1.2.1 - gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 - languageName: node - linkType: hard - -"set-function-name@npm:^2.0.0": - version: 2.0.1 - resolution: "set-function-name@npm:2.0.1" - dependencies: - define-data-property: ^1.0.1 - functions-have-names: ^1.2.3 - has-property-descriptors: ^1.0.0 - checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 - languageName: node - linkType: hard - "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -36873,15 +36308,6 @@ __metadata: languageName: node linkType: hard -"split@npm:1.0.0": - version: 1.0.0 - resolution: "split@npm:1.0.0" - dependencies: - through: 2 - checksum: 84837fa659662fab703efb41f5e3b3c4ae7de605555b6ce53c4fadb2a30b7cc7c8c005f905e6cb16e527ebb4117b6c2da1fe09c1caa150bdaf24df0dff8bf5d3 - languageName: node - linkType: hard - "sponge-case@npm:^1.0.1": version: 1.0.1 resolution: "sponge-case@npm:1.0.1" @@ -37044,15 +36470,6 @@ __metadata: languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: ^1.0.4 - checksum: d04173690b2efa40e24ab70e5e51a3ff31d56d699550cfad084104ab3381390daccb36652b25755e420245f3b0737de66c1879eaa2a8d4fc0a78f9bf892fcb42 - languageName: node - linkType: hard - "stoppable@npm:^1.1.0": version: 1.1.0 resolution: "stoppable@npm:1.1.0" @@ -37277,17 +36694,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.8": - version: 1.2.8 - resolution: "string.prototype.trim@npm:1.2.8" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 - languageName: node - linkType: hard - "string.prototype.trimend@npm:^1.0.6": version: 1.0.6 resolution: "string.prototype.trimend@npm:1.0.6" @@ -37299,17 +36705,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimend@npm:1.0.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c - languageName: node - linkType: hard - "string.prototype.trimstart@npm:^1.0.6": version: 1.0.6 resolution: "string.prototype.trimstart@npm:1.0.6" @@ -37321,17 +36716,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimstart@npm:1.0.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 - languageName: node - linkType: hard - "string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -37348,15 +36732,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:~1.0.0": - version: 1.0.3 - resolution: "string_decoder@npm:1.0.3" - dependencies: - safe-buffer: ~5.1.0 - checksum: 57ef02a148fd1ff2f20fe1accd944505ed3703e78bb28d302d940b2ad3dfb469508f79dcd0275ba1960d9675aa206452f76b2416059a6d0b0200bd7e9f552cdb - languageName: node - linkType: hard - "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -37926,20 +37301,6 @@ __metadata: languageName: node linkType: hard -"tap-out@npm:^2.1.0": - version: 2.1.0 - resolution: "tap-out@npm:2.1.0" - dependencies: - re-emitter: 1.1.3 - readable-stream: 2.2.9 - split: 1.0.0 - trim: 0.0.1 - bin: - tap-out: bin/cmd.js - checksum: b837d8adf646bf06f73a9306a9796a3201c55598c2c70045a2908d044fc2cc9466d52d27a7705c92a2c6ea37d560a84d135f4112bd377346f34d381ed836088b - languageName: node - linkType: hard - "tap-parser@npm:^11.0.0, tap-parser@npm:^11.0.2": version: 11.0.2 resolution: "tap-parser@npm:11.0.2" @@ -37953,25 +37314,6 @@ __metadata: languageName: node linkType: hard -"tap-spec@npm:^5.0.0": - version: 5.0.0 - resolution: "tap-spec@npm:5.0.0" - dependencies: - chalk: ^1.0.0 - duplexer: ^0.1.1 - figures: ^1.4.0 - lodash: ^4.17.10 - pretty-ms: ^2.1.0 - repeat-string: ^1.5.2 - tap-out: ^2.1.0 - through2: ^2.0.0 - bin: - tap-spec: bin/cmd.js - tspec: bin/cmd.js - checksum: 4413acc3ed4b8662b64439ad5be65a4d42edb2f3c5dc273b8ee563f9e7bfdde347e53c92de628a04ab640dda3cd8aea8aeb3ee7aa86bde8118d0584ffd76b788 - languageName: node - linkType: hard - "tap-yaml@npm:^1.0.0, tap-yaml@npm:^1.0.2": version: 1.0.2 resolution: "tap-yaml@npm:1.0.2" @@ -38045,38 +37387,6 @@ __metadata: languageName: node linkType: hard -"tape@npm:^5.5.3": - version: 5.7.2 - resolution: "tape@npm:5.7.2" - dependencies: - "@ljharb/resumer": ^0.0.1 - "@ljharb/through": ^2.3.11 - array.prototype.every: ^1.1.5 - call-bind: ^1.0.5 - deep-equal: ^2.2.2 - defined: ^1.0.1 - dotignore: ^0.1.2 - for-each: ^0.3.3 - get-package-type: ^0.1.0 - glob: ^7.2.3 - has-dynamic-import: ^2.0.1 - hasown: ^2.0.0 - inherits: ^2.0.4 - is-regex: ^1.1.4 - minimist: ^1.2.8 - mock-property: ^1.0.2 - object-inspect: ^1.13.1 - object-is: ^1.1.5 - object-keys: ^1.1.1 - object.assign: ^4.1.4 - resolve: ^2.0.0-next.5 - string.prototype.trim: ^1.2.8 - bin: - tape: bin/tape - checksum: 0ca531d977fb7c165f03fbd32ee61941741314ddb5d36ba9033ae2f3f0bee25fa67614109a0b29ae215b8d787419067a60e1c5a32b5065c28959f96cb7cdfe64 - languageName: node - linkType: hard - "tar-fs@npm:^2.0.0, tar-fs@npm:^2.1.1": version: 2.1.1 resolution: "tar-fs@npm:2.1.1" @@ -38850,13 +38160,6 @@ __metadata: languageName: node linkType: hard -"tweetnacl-util@npm:^0.15.1": - version: 0.15.1 - resolution: "tweetnacl-util@npm:0.15.1" - checksum: ae6aa8a52cdd21a95103a4cc10657d6a2040b36c7a6da7b9d3ab811c6750a2d5db77e8c36969e75fdee11f511aa2b91c552496c6e8e989b6e490e54aca2864fc - languageName: node - linkType: hard - "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -38864,13 +38167,6 @@ __metadata: languageName: node linkType: hard -"tweetnacl@npm:^1.0.3": - version: 1.0.3 - resolution: "tweetnacl@npm:1.0.3" - checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -38969,53 +38265,6 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - is-typed-array: ^1.1.10 - checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: b03db16458322b263d87a702ff25388293f1356326c8a678d7515767ef563ef80e1e67ce648b821ec13178dd628eb2afdc19f97001ceae7a31acf674c849af94 - languageName: node - linkType: hard - -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b - languageName: node - linkType: hard - -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" - dependencies: - call-bind: ^1.0.2 - for-each: ^0.3.3 - is-typed-array: ^1.1.9 - checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 - languageName: node - linkType: hard - "typed-json-rpc@npm:1.1.0": version: 1.1.0 resolution: "typed-json-rpc@npm:1.1.0" @@ -40280,16 +39529,16 @@ __metadata: languageName: node linkType: hard -"viem@npm:1.20.0": - version: 1.20.0 - resolution: "viem@npm:1.20.0" +"viem@npm:2.7.1": + version: 2.7.1 + resolution: "viem@npm:2.7.1" dependencies: "@adraffy/ens-normalize": 1.10.0 "@noble/curves": 1.2.0 "@noble/hashes": 1.3.2 "@scure/bip32": 1.3.2 "@scure/bip39": 1.2.1 - abitype: 0.9.8 + abitype: 1.0.0 isows: 1.0.3 ws: 8.13.0 peerDependencies: @@ -40297,7 +39546,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 0309bddd163c2da83c36c5f1a62a7a3fa826eb2c8bd578eccb8f1a034f741938bafb616ae6c9f8489f416df2348dc0d09c0ec9146047e99fa2f9e4bc05134497 + checksum: 856810b098ec6e099603e1cead73f71c6c9cae28ceac327c39d56742e2c29bcfa4aa9070a96aef1313740ffc0b8a854744557a36d469239743bd2df1a55970a6 languageName: node linkType: hard @@ -40921,19 +40170,6 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13": - version: 1.1.13 - resolution: "which-typed-array@npm:1.1.13" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.4 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: 3828a0d5d72c800e369d447e54c7620742a4cc0c9baf1b5e8c17e9b6ff90d8d861a3a6dd4800f1953dbf80e5e5cec954a289e5b4a223e3bee4aeb1f8c5f33309 - languageName: node - linkType: hard - "which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.8": version: 1.1.9 resolution: "which-typed-array@npm:1.1.9"