From c9dbc810bd27c39995cc336cd62b92b5b9f2d11b Mon Sep 17 00:00:00 2001 From: Shane Earley Date: Mon, 24 Jul 2023 12:53:00 -0400 Subject: [PATCH] Add keychain bridge --- common/data/src/index.ts | 2 - common/data/src/mock/validator.store.json | 158 --- package-lock.json | 1239 ++++++++++------- services/oracle/scripts/dev.ts | 10 +- services/oracle/scripts/generate.ts | 16 +- services/oracle/src/index.ts | 32 +- services/oracle/src/interfaces/DKGOptions.ts | 2 - .../oracle/src/interfaces/HandlerInput.ts | 8 +- .../oracle/src/interfaces/KeychainOptions.ts | 5 + .../src/interfaces/ReshareValidatorInput.ts | 4 - services/oracle/src/providers/config.ts | 17 +- services/oracle/src/providers/dkg.ts | 21 +- services/oracle/src/providers/ethdo.ts | 7 +- services/oracle/src/providers/events.ts | 6 +- services/oracle/src/providers/handlers.ts | 170 +-- services/oracle/src/providers/keychain.ts | 60 + services/oracle/src/providers/registry.ts | 17 + 17 files changed, 913 insertions(+), 861 deletions(-) delete mode 100644 common/data/src/mock/validator.store.json create mode 100644 services/oracle/src/interfaces/KeychainOptions.ts create mode 100644 services/oracle/src/providers/keychain.ts create mode 100644 services/oracle/src/providers/registry.ts diff --git a/common/data/src/index.ts b/common/data/src/index.ts index d86044025..85555f5da 100644 --- a/common/data/src/index.ts +++ b/common/data/src/index.ts @@ -6,7 +6,6 @@ import walletSchema from './schemas/wallet.schema.json' import stakingActionSchema from './schemas/staking_action.schema.json' import userAccountSchema from './schemas/user_account.schema.json' import operatorStore from './mock/operator.store.json' -import validatorStore from './mock/validator.store.json' import accountStore from './mock/account.store.json' import userStore from './mock/user.store.json' import { Postgres } from '../../../services/users/src/providers/postgres' @@ -24,7 +23,6 @@ export { accountStore, userStore, operatorStore, - validatorStore, Postgres, Schema } diff --git a/common/data/src/mock/validator.store.json b/common/data/src/mock/validator.store.json deleted file mode 100644 index 655491777..000000000 --- a/common/data/src/mock/validator.store.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "1685978890313": { - "depositDataRoot": "0xfefefcd19178e5c4bd4161d393037ba020a8c233cded6f56e030054f223ed0a3", - "publicKey": "0x8bf8bdcf37057e0d87f84df4f2516a9f2a9b1ce159b6473d66a55514a44c02b0997bffe0a2c7f9130d227c3603b36c39", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0af4b1240c1975674a8c736b2cb9ca8618d3a1b36323d7dc6d0bef51ca5f4c8b9a2069afb3f54942da779b2d8ce1f2394928dcf96c3f84aa286a353d07893c265dbfa212f44db803753191344f908dd258b01e8c8f41a01226377b83682c1b6b8ae2bfde50a2d66256c1a125deeff2fb274b84881fee14ebf85495b4142f81a9387342c435152bc860af46332a4da767db6b749955d15d2720b6d352ff7e40434375ca7f3f01f4251f7ec6a2d1ae74af0aea4f86deaa9804abdf1c614272a2d6ce757b9e74d3ceb9df7735d1cebaef9dbdd796fbe3bf7ae9f75bd9b7b5d3cebae7d7bbe1d75fd1d79b6b977869e7396fa6dcebaedadfb79cdfceb6f39eb4d757f7f376dee9ee5beb9db5e367b6f746f77f5f1b6b5f37df9f1a7f8df87da6b47bdf3a7dbebae386f97b8f78e36ddfe3bd5cd5aedae77eb779bede6f8dbcf3af5feb96f57da75cf1ef36d3b73a69b7bc7da6bce377dae78db879ae5f6dbedeef9d38f7cdb9f3de1d7fcd78efcddfd9ae1a79af7ddb9f387dad1eeb569b6bdd3de7df5aeb7e1ce1d77bd7cd9edf8ef5dfce5b734ef8d7975fefce3a736f757746bad9ff5cf79efcf3b7b8d39f3ae9edf5f37df66bd7bcd3bebcefdddeeb6efbd5d7f577477cd1c738d9cef7e5adf779cf5edfd779edae78f3aef97db6f5e1d7b4d5ff3ae5df5ae1cd9ddf67bb6b5e1cef6d1aebdefdf1fd1ff376f5efa7dbd37734d36efcf3bd1c69ddbce7cedf77469fddb7396f8db77bdddc6f6d9c6f9dbb77c77ddf9e38d1c6f6dbdddc69fd74f7c775eb6f77e9af5dd767dae3671cdf6777f34df5e1ee757dfefcd9be1ee747f6d5eedcebbd1c6b77dbd9bd9f6baeddf1ad7df5e77cf3b69cf5cf1defaf3debcdb57bdf1dd9cf747bce5ae3a79aef4e36eb97dc73df5ff5ceb86fb6dbeb5ef7d7bedcedb75aedd7b9f1c7b8e9c7f56f7d9be5def873bd9cf3a777e7de3df7cf1d6f779fdbbe9c7b97fc7b5f3de7a7f5777e7bef56db69d6f671fe9a6f8e5b7dd737d5fd34df9dfce3adfbe7cd5d77bdf9db6d7cf7af35edcf3971ad767dff5e77b69fdb76de75fedbd3b77ad78edc7ddd7b75ff766b77b6e76e7b69cddcdbce747bbd1c7fae7a7fde9b73aedad38eb76f4ebdd747b67dd6f7d9e7b46dae5e6b7dfbdbaf3c7f97f4d3a79dd37f1df3bef6d367bbd77e35776d777b46dfd7af3a77ad1bd9f7f977d69af7be3b7b7ddb7dbddef776b77dbf5b6b8e7875d7356b875a77769b77adda774e3579b6dbe346f9df9779f3577be9c6f7d1be3ae1f75aef469debbd3a7f4db56de7df7fa75ff787dbf76f75f5bd377df7ba735e76774d37eb9e74ef677a6ddefaf1bd9e7f7d3cf1ad7dd78df673c73de1f6f6e1ed1cd9d6dee7aef8ef4775e3a71de3ceda7fae1f75c6f575ad5fe7deb7f7475c7767b869bf1aeb4f77db979ee9cf1e7bcf36d5e6dcd757bddf5f1b7f86b573defdd796f6f1ed77d7469c77bebce3bd35d7a6b4ebddb6f3c7f5d9feb8d5fdde734f3de7ae796b66dae7aebcf7473dd9fedae1a7f6e3df7ad1cf3bebce39efa7bd6fc71d7f9e36f5dd1a7dfedbe5ddf4d1c6db7fa7377366bc75c71be3671deb76df7766b8e347de77477aededdedb56fb6bcf3cedce9ae9deb97f6eb777b71ed9dd1ed1ee5d7b6736df9f7471ee776bc7397dbd5e7fb79ff3879d75c775d5e7de77d6f973b6bde1ddb5d38d746dc69de3cd35dfce5fe77db86def5ad78f76ebd6f67f97796f8e3ae3b7fad76d5af376fcdfad9befbdf8ef971a79f7b5d1ae5bf5d77769d75be1a7b4e5bd36ef7735d9f6f5735e5cdb779ef5a7b46b6d7c69a7ded3877ae5fd9de3de38d5b71bf75e35edbd34e9debb734edcf78dfad1ee5ed7a6dbe5de3b7dc7b4d5bd777387ba7f6ebad1fd75db875edf6e35e9eedbefa7b8ef4f1fd1d7fdf76d3de79e7d7b971bd5ee5eedce7679af3bdbc79a75a79ef1a7fad7cf1a6fdef473df7679ddf96b675d77d7f9e34d397376fbeb47bdf77d3475be9deb77b979fe9ddf57daef87f57f4f7873b71cd7ce7df3cf5cdbcf3ae3beb4f36e9f75d71b79d6bd6bdf3de1dd776b4e7bdfddb67797b569af38dfce78ede7f4d76df5d37dfa7fbf5df1fedde75739dbdf396dd71ce1e7bde9ee79f7bef8d75e7b7f5e367fa7f7d5defdf5ef767de7fbe5fe34e3d7f4e7cf1ed3cdfb77df7b6fc775df5dfce3bf1fe9adf7df66b4dfad1ae3be1af7c6b5d7cd9d7b57dce38f78e3b6f4f1d71c79ef79ef8db7e76f7677869f6fcd37f1be37f5f79f6baddbdb7dded9bd787b9d1de37e3b69bf7ad77d7ce386bd69df7c6b773ad5e778efd7dc7dce79d1cd38d35e36d5ce1dedc7deeb4f1de1deb9dfa7b4738e1fdb7efc7357fde35e7869b6bae5af37d3be7bddbd3bd5b69dd37d5d73877a7fd6b8d5ddb8e9eedc777e1be9f7bd79fddae79d1f7baf77738d5bf3b69d6dd", - "signature": "0x9497a0052bc62e70f565de96ba6648aae77c0e49d4d0d8a88462645c27ed5dfc0fa4efbd6c437f3ec635c64b33a35e1f0955278b70980f874ac06b124cd196f455427ce077e5a5ec00da6d0c66ed705e5a1a3cab71f117e56cca704d4f853b13", - "withdrawalCredentials": "0x010000000000000000000000ef74988aDeBcf6ddc5a7B359761a2BE62c77ca8b" - }, - "1685978948757": { - "depositDataRoot": "0x2c41a275432c006749c658804645a92e59688b7f3356453650e1de80ff59e9ce", - "publicKey": "0x81f9fb0dfe33bdcf5628ab27cd408cb162749c4bc12f22f69b3011c05e2ba963deb5797df007fff2b2a356ff0e556d19", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0b7cb3dcaca287852ea7e531eb7206d129017771386212c476aff3e3ce35b63c10c6d1695fdfe9f9eea0a2c1e92dffe6da5cc9b433b9c624af2f17e500e51adcd0fcc23dc60a0c3163090f7731d6af64aea1af60651d935954998b8719b5497d1ac3a7c56555dbbc6703d1039689dd206dc609b08bccd9c54cb7c4a207af951b88a327065603e8f234d810de028ff0af3846a44e89430b902ee845249cce586331bed72724dd7b0243ab3dcc384493aa9e3635f7689e97dcc0f48f08de8828450d1d75dd9c7dfd5cef4dfd71cef87b9d1fe397776f6df77fdf776b8edbf74e9a6b5eb6d7ae34d7a77bf1a6b4f7cd5ddbcd7971f71d736f3a7b6eb9d78e3d7dc69cf7be796f5f75d37d77edd79f7b56b5d5bf3ce1a71c7767f6e346b8e9fe76dfb6f4d9adfde7a6fb75bf34f3ce397b96fcd3875df35f7c7fd6dbd5a7ddd3be9cddae7aef77bcd75f39ef5e1f77bedd73c6b86fdd37f7d6f5dfcd78e7dd9bf3cefbf77edae5ae7571be5de786fbf7d7fad767f77dedbcebde3877d69a69ed35e76ebdf76f1cdfcdf569cdb4edad1fefa75c6f6d5cdf4737db46f96fa79e71ee5a7fa7b56df735e9d79a75de7b7f6ef9df7df47dad1cf3bd75df7edef38e5e7df6b56fad9f6fa736eddf7df1a73d6fbd77db87b97daf1ed1dd5e71adf57776b86f471ae356db6dfe77e1d735efdf38e3ad5fddcf74df7f767b46b777be5ce5cd38e1fe5ee356bbdf4f79e1a79e7de75ed9ee356b9d9addbe5ee7af1a6b669eefae5aeb87f7f76e9d7bdf1fd7d69ad3d71b7f77377db7fa7bdf7af397f973be5ef7ad796b46f7f7c7df69ed74ddfd3a6f8d5ee9ee1e69e75de38e35e78efbef6f75edae1ed38e76db7ef5f1bf5c71d778dbcd366faf5b6f6d3adb975bef5df5f5eedadf5db4d9ce1f79cd9ce1ee5fdf7efdef9dfb69cf3b7f67b9d5cedd776f7bd5a6f4f3ae9a7346bd7f76ded1ce7ce1fdf4e75edbdfddf5ebd6dcdbbf3adf97b9d35d7df7ce386dbd1a75fd77ddd7f7e1ed1d6fd776e7777c6b7e5ef1c73677be9c7b4e3475adfce5ae78db7d3c6dae1de3cf3ad3969ef76edb6bddbde1ad5e75b6fbef5d76f3df7469cd3c6f46b46bc75be3de3469ad1e77af7bebbd5a7f869adb7eb769b71bd39d1f7b5e1cd3d69de776f8df4df9e76e39e5e77a6f67b96b9edfedcd79d5f6de79aedd79ed1bd7adfad3b79ff747ba73c7f677de7b6f471ee9c774ef4f3c7fc75f77bd1ed9be3779b7f4776d5f7da79e69f73a75bd36ef5f777b9d1f7dd77779af3c73a69ff77d5f6bde5bd77dbc7bc6db7fa7fde5adf8d7b7f877d778eb66bd6bbdb575bf1ff3c73cd5ed9a778774e5e79fd75db875c77ae5b6fcef66b4ebaeb5eb57bb7df739e1ff5ad7c77b6b679a7f969bd34e1fdfbf1bf1cf75d9d73ddbcd3dd377bc7b5f37e3bddcedcd78d9df79eb77f96fdd9d6dde5af7bf5e73befc6fce1ee1b69e79ee1addeebce38736d1cedcef8e9dd1b7f67baef9edef7571ddbdd3bf35d1c7f6e5de9e6f4df8e3be5fdba6b8f1ae1d6fb69dddd7def35d75e1e737d3bd9af387bad1c6bbf5cefdeb4e5a71d79a6f87f8edbe3cd9ee1ef7aefc7b8ebdef77fbe3ad1a735df4d797396b7f357776dc7db7fbd5dd5b7fdd9d7bbd35735f78f37df47dfd5ef787f6efbf36efaddce1ee74db9d1ad747b57fad9dd1dddcddc7f5d36dde7baefaf777da79a7396f8ddcd5eedadf87df7fbe9a7b4e7bf36ddee1fd5adb9efae37ef6f3979ee7a6fd73d71f6f96fad777f7e77e777f479fe5ed78f35e9f73d79a79ddb8775e9ee9d776e74eb6ddbe1f6dff757b4d3473a69cf797f4734ef677671d71a73bebc75dddbf376baf78df5d5c77aebad5ce1d6dcdbc6daeb6e38f78edf7bb6dddddd1d774edd7f5d367b87fbd1cd7bddfe35edfd76dfaf5f73469edf6d36d34e386fbf5fd787f97dcd5f7fbe7af397dde376b47df6f5d1c7fb69df1ff77ebbdbbf7a75b7bc7f871ee9bd7c6dddf4f1f71ad1ceddd3cebb73c7b675bdfbddff3ce7beb771ae7be76d39ebd7dc79bedd6daf5af3a7f9dfcdbc7f8d9f79d6b8eb679a77ad1ceb8f347dcd78738e5b71bebce7a739d1ed9be5d6f7dddd1be1b69aeb4ebae9e73a7df7bc75f71bdf973debddddd3adf7ebdd5ae756f671adfde5c6dc6bbdb46dc6da6fad3469d75edb871eedd7356f9f7bd5e7bd69e7dae5f739f5c7b8e7de5ee397777baeb7eb57bbd7b69a7fbe7977a77c7bc6b46dbddb6b5d9ad5de7cdb6f5a6b66b6d9ce9ad3adf475c73a71ed1ff7b6bb6f5e1fe79d3adb76ba7b5e5cd7869b79fe3ad7be7779d77469ff1e77cdb8e3bdde736f7c6f47f9f5de7ae1bd1ce7575dedbf38f1c71fd7c79f7ba77de747f67faf5d7f97db71fe76e1f6f8d36edef7aefcd1ae9ee9fd776df75edb6db87f4e3669af5ee1f6dae7c6f869ad5a71b75f7b9d1ddfb7de", - "signature": "0x9843a39cb294dbb83137562f9803354bfd39b8bd194b5442c3aa04e7dc990776acf5c944d670ab58240e524bb40cea190756404c1994cec0ad3221344d447da6fdeb4c8ff9ce0816557d049bf8d7c91d702a99270aae5af843e1f82607c60636", - "withdrawalCredentials": "0x010000000000000000000000CFA1dDd1b603446b5D58ef2fdF7caF243a745671" - }, - "1685979074293": { - "depositDataRoot": "0x7bff1b1291e0b62cab5eaf6b714c4df02f77bc2d0dc8c6579579b813e255331c", - "publicKey": "0xae08b937daa2fcddb0d39416e00353f19671a3f40c4280e955b5fce5554e6cc97af00e2cc66c804f413285db2645db02", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0a6411127d70ea06971083bf7f74cd902585eaf00c00a719ffd6ac77daaa30ec151e4978c348754de0217128fea6e6e92ab80eea247bcca991c4ebc36bc8c8b3599d03cb489941c5528817b47b478f0063396a1dd4055c56267cac839dffc83778b9586f9a9ee601f762a565c7af3de4f3204609ac031d4bdc74d42e5d4700ccf85fdac90b4d5dc0391298b72d9bfa41da2302603ec5879eae8a90c06374449d793ab2b9c39f4962efb97b93058aead66651ad1310e41cdefe59213a44848e065f1d7f9dbce5e6bde3df1fd79eddf39edfdb9dbcd9fe1aedceb5db8d7b6f67ded9fe9ce3b6b9f1fd9c7bc69fdbbedbef6df6e3769b7b9ddfddc77adb66faf5e7fceba6b4d39efcd3ae1af5e75def97f8d37edbef971fe5ef3cf75efb7b8d386b6e3773be36735e1a6b46dbd5c6f56fa77b73d6db6dfd5fefbe39dfadf5d78f7669eddbeb6d39d3875eef8f74e34f3beb6e5af1f6bbeb77b771e735d5ee1ae3df7c79b71c73bdba7bae1b73befb6fad3aefc738e39d1dedd7b97dcdf7f5b7b4e7ddbbdfbddfd7b75aeb5ddd7db79cdb96fb79ff5f7fcefce3779f6fc73dd7cf1f6f76ba7f8e5ae9bedad1e77877477969b71ce7579ddb4eb975ae34d9b7b6e356bbf3bd1bdf675ff5af5e7fa73cf5a7f4df47b7d7ad5bd9dd1b71defcdb4dfdefbe777bc6b8db8f1aef4d9aef4e7769c7b6f75dfbddbf1fd75f37edb6f5ebd69ae38e366fd69a7f4f3a71f7f8f7c71b79def66fbd1dd9e7bc77b6b86b5738d3c6f9f75d5f6f569e79cf3ae38e5ad3dd377db79fd7475fd9c7b6ebce74e7d7bbdbc69bddbeb9d9debaedae3df756b66bcd7ce5eeb4d1ff3a6b7db9f39f1fe1c6f8df579b6f669fe38dfbedcf76f3469e6bd71d7bbf38e7b7fc6f7ef4df9f5de5ddf6e1dd36e1d776dfae5ff75d74e7be7c69f778f5a6b76f8dde778775d7dedeefce5c71deb5f796dbd5ceb7e9ad76d7a6bcd3d7f87b671c69d75aeb475ddb77df71aebaf346ddf1d6b469ae7df3673aefb75de9bd786dfebcd7769a69f6f5eb66b4d38776e3df38d1e7f6ebc6f5db5f7873dedce7d7776fce39f74df9d1ad3bd3a7746b4d9e6f677679eeddef5d39f5fdb6eba7b77f5d5defdef66bcf1a7df6baddfe9ddb9d3ceb47daeb6ef87df7b7f5fdf56f573dd5bdb9f38e9b73d75eedfef8dbd6baefd739dded396dc75bf39e9de3bd9cef7e5ee1c71e6fbebbd7579eeb5f5a7f973c7f8e5f69d6dc71bf7bebdf78d3a7dc7fdd9a7f4df9d1e73cd3ad9eebaebcf36e786b969befd71fdf9734db7f5b75ff387bae77ebddb46deedde5fd3b7dbe39d7779bef9d1d6f57bcd3ce5ee5ef74e9c736f5b7b4f1bdf7737edceb46b57dfe1edf7f74777f1ef7d7b66b4d1c71ad76ef4edb7f469edf8df471eedbd1ff7c71fe746b9d9ce9ed34d7bf35d76e76d5e6fbdfcd3975adf4ef5f35d1bddcf7b71ddfcf3777a738e767746f869e71be3ce347dcd796f6f3d7b7f74edfeb67396fce9a739e9e79cf5eeb8d1dd7c6b6d7cf76d3673ad1df1ed7ae77f1feb971c69b7b5d9a69cd5cd1ce35e9bd5c69ed5cd356fad1c7b9f39d3a6da6b5ebae1a6ddd7d7f871cd347ded76e5cdf6e1d79bef8d3bf1be34ef8ef971fedceda79a73d6fce78f3aefc6b56ded5e7dee787fadba7787fcdb66f76f9eb5f1e71bf7ae7df1bf3ddfbeb8d7b79c71b6b9f37e3dd3c6b4dfcdddd7d69a7bcf5ae3b75fef7e1ce5bf5d73875fe1eeddedeefc69beb8efb6f9e1e7b4d7af1be347fae1e7dde5d73d6fce5ef7a6f975f6b4d1ef5ef7d7dadf477bebd734f34734e9cdba7b9f39df479dd9af1bf75f74ddeefbeb8d3875ef34ebaf7c6dadb5eb7e3dd9bef773df1c7f87747bc7dd75bd7bf1f7f4ddaf3ce1c6dae787f4f367dfd5d7fcd9ee5feb66fc6daf35f75e75f786fbdb9d3873cf1fd3defb7bc7787dadb87f5e786f5d5e7dc77df79df5f5b7f6d9adb86fd7f5e76df7d3b71f71f6dfefddf87f6737dfc7b4ededb6df4e7aeb77fc7bde9ed9ff78d796dff39f76f1b7b87dcd376df7f4d3d79edf5dfb6fdf7d73bd3a7b57dfd9eef4dfbf38f3cdfde7cd1cdbddb86f4e34f3ae9e6dce9de1ce3b69de75f3873677a73beda7ddd7cd39e1fdb5e5e75cd767fdf35df8d9af5de3ad1af76eb471ed1b6dfd78e7cd1a7b97b8eb86b577b6f86f86b4f3a734db7f5a6f973ad1fe9dd78ef4e1cdb4d9adf7efd7f77b5d3cd1a71ee7cf5cdbcf5fe7bdf9e9fe3be3cf36e7df7569ee76735e5defae9af1ed1ad37e7ad1de3c7b675ee5e7dc7de7b7e3b75ad776f6e78f367b97fbdded38d38f1aeb969feda77dd1b71cefde5af3ceb6ebbdb7dfbef879ff74d1d7ddefaf396f6e3ae9ad7cf3969edfc7dceb97b9e1ed5ae7a73d776eb7e74df6e34ef96f6f7469cedd75a7b9eda7daf5eef4edcf37e5f7de6f6e39e9cf79d9ce366daf1edb5f79", - "signature": "0xb6844cd11cb9dc190a35cc5434062cedc1fb3cec35525effdf782ee9c1d44e8d226e88a929fc961650e003422f25afde0f507bb2cf1bc4eaa6acf555edc8425026e0fe7ba87707a083f4967e9d013aa58a8779aedd84a5e0da6fab949385a71f", - "withdrawalCredentials": "0x010000000000000000000000ef74988aDeBcf6ddc5a7B359761a2BE62c77ca8b" - }, - "1685979133978": { - "depositDataRoot": "0x93841f0a472da3567dbfb58259b6796f4809a6e890610d36ed1c3b854ae507ab", - "publicKey": "0x9602c77ea719f9c545d6cf431ed4dd16839736f974a573852aa11b227d0c72ebdafe29e12d0b519aa751b8dd07c1605a", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0b2a15e2a79ee323ce2056a0ebdb3726ce16e8d700677ee6e21a58250eb8a6f1a5cb06baff121a79d0a679e9b16307c3eb521b85fb876a8f9e3a938bd25a4c6e1a66109dcffdde4d0d28fdf82111858c73455a1c6e4a934163c4731fede98f0a4abefd55a34d04446ed5e0cf71a304d16c398193cf0dbe658096bdcac34bd5f9d07316214ed91c061d06826b3a6931368b89273b3c154462729e5769d534b23187ae5944b6d741d3553a2309520884d2e2ab474fc95942bdfd93b14f4850fa722f796bbd3ddfcd5ed39f7dd5d7f7f7c71b736f386dce7973be1fdf7e5bd5f6dd75beddf1b75ce3c6f877771be366fc6de7fdef76b9e797747f7efde747ddf7ae9ddbae5def5d377ddeb47dbefbd1d77bef5d3a73a7fdeb8d1ad7ceb57ddf74e7be7af3bd5ad7cddff5cf7a71b6fb7bdef575b75ce74f7b71fe5a6b5d9ce3d6bb6f8ef8d5dd1a7397f7d76d35f5e7dadfcf5be9f6fc77de7defbf7df39e3cd5f73c71be1deba6f5ebce3c6dae37ddddf7e747dedfdddd6fbd1af5e71fe3c7dde5e6b669befd7f5e3df5ff5ed9cebbe7be76e9f71bdb7df8d1fd77d9c71d71b6f7d7ae1eefbddc6db79ad77dde69b75ee3b6bb7376bce9bdfb73b6b9db8f397dbe396f8ddaeb57df73979df39e1ddf671adfa79d6f6f7c69cddcdf7e7be1b7b6e5ddbc79bf3cef57bae347bdef46b4eb6e7a738eb5f37d35d1def679b79dd79dbbd9c75eedc6f4db8ebbeba6fad78d9bf7b7dedf6ef77f47b977773ce75f7c7ba7da6fbe5e779ebd77ce7ce7de3bef9e5ddf7df8eb8f34edb79fdbc7766b57b471ad7ce35e1df1aef771c7dbdf6f7b7bae5ff1c77577ad1bd3cd5a77a6f5f1edbadfd73a77dd36d77e3b79ce5ddb86b87797fcebbe9a7ddef86fdd39e1f7b7d5b7f7d9bebddbae5bf5be3c71be38f746fce37e36d34e7ce77d3a79ed3befbe5bdb6774e5fefb7b7ef5dfcf7dd36dbb7b875de5b7b47f6e5f6ba7fcf3deb4f1c7f7dbce367367dfe7dd34d1bd1ae9a71eef8e757f57387da7daeb7777edf71be9ce5f7f46bbe7ce356b671af1ae7d73a73ddf87fb71a77969df34e7a6db7b6e387fcd1ff78e5fe5dd7af34d7ad39d5d6daefb6b5f7d7fbd3cd7a7dfd767dae37d1b7f5e7d7bbf1e738dfa7dfe9c71edf5dba6fbf1e73ddb4f5dddeddbf7775cd9c7df7b47b7d3d69bd366f8ef5d39e75e9cf376b6dfd7b5d35d78f1be1ae3de78df46b56b8d5d778ddc6b573df38dded9e79fdbbe37f7bd9af1a7f6ddc7fdf1a738d7df3df7af3ad9a6f7e9ce1e7ddd1defbd1cd9e71ed7979e7f9f7779df777fde7c75edb76dad7df74f5b6dc73dd3af1d7da7dee9ce1dd5fdf7edbf1cf5cedc738d1e75c6f9f756fbf75d1debcefbf3dedc69ff78eda69eedff3971ee5f7f9f5de5ae3669ff5ed3cf3cd3bd7c6baf7973cd39ef47367f9f1bdbc7bcdbbf7b7f7db87bc7de69c7dbef57356f7e1be5e7fadb4f5ed9ff3ce35f747dff3a71a69c734e5ff36d79d74ebd77beba7fad9bf36efae9cf1ed5cf7cd1cf5ed5cdfddb6e7cd5b73c7b6ef7e3df35ef975bf1ee7c7f5d5ce76f1ce75738d5ae5f73def473addf6f673de5cd1fd37f357fdf75e3ae3be3af5def6ebcf76d77d36f7b73673b7da6db6bd7f6db5e76ebc75f6fc73677d774eb8d75f1a79df5e6b9f1eebd6b5d9e77869ad5e6f4d75eb86b8eb8db9db9db4d78e5d6b4d74779eb969febbe1c71d6f6dfaf38d3de3dededfae36e9de76774e3b7ba75cf1ef79dfcdf7eb4edc75be9fdb8e397faddbddad1ee777f6e9a7b8ddcd7cd1a73a7b86dde1ef3a737e1dd5f6dd6b7d9d6f9e3ad74ddcdfa739d9c6f8e796b86f4d3cdf479f6bbefce3c6bddf76b9e1ed38f5de1e774d3cd7cf7af347f46db6dbf787db6faf1aedc6ded7be5e6bb7b8eb4d9e75a75af5dd7de5bd5fe38e1ad3c79be79e5eddf7b5f1e6db75bd77d9adbc6ddd7adfc7f7ddd71eeb66fde5a736dded79edf77a7df6b56dbdbbedb75dd1d7f7777d37efb75bf39f3beba7f6edce1fd3df757dde5bf7b6bd75be3dd396f6d3d775f767dd6bc75ef7de5d75adba6f775a7ba6f7f3875dddf734efbe9e71ef1cdb8d3b7bb7bae3de1c77a6dc73c7b67def3bf77e77edce3ce7af78dbcddcdfcd9bdf5dbcdfd73b7bdf1ad38df67b5e7be9cefb7f6776e7ad39d7dddc7f6f7b6fc6f57746f4db76b7ddff387b6e9c739d3573b6dee3dd5c6fa73dd1de5f7bdd7adbcdbbebc6f7db475fd377db75be9fe76d5b75ee3af777fb69be37df671de3cedaf79edbe7befdeb4db6d34d757fc73669ed5ee5bd77ebae5ed5af7569edfce7569a7f76bc71ddde7b6dbaedb7357f77fd7bd6f677def6dfb73cdf8f3adf76ddd1c71d736e3def7e7a7b6f7a7dc7df6ddebd7da71ce3471e79f75a7b9dde6fce76e366b77f8e7be5c6dfddfdfc734dbcd3a779efdd9f7356dcf5cdf8", - "signature": "0xa892d33e6f3c90f4bc1a4f473fb0673c63a8a5492d10697a0a6efff0df6856a86b2787535ea3cffc15a3edfb388637e5159efbeaeadd0be91b4fe86a15ee6e769dfa25db8c77801b44560a943c865be9b94e09de866f4941c2fbf65188ebdb97", - "withdrawalCredentials": "0x010000000000000000000000CFA1dDd1b603446b5D58ef2fdF7caF243a745671" - }, - "1685979145939": { - "depositDataRoot": "0x745dc1bc2fb264c50c32ab735629c63433edf7bf94cfd78cfbc51e3fd783b9eb", - "publicKey": "0x85cf2556ccc2a815f3c06239c4a8b24f336dd7937421bced4f9b554e18164697a5440fbb857522360a33ed5c3f3db360", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c080ffb940a61f31c8f5027f666f88bf838babcf256cd6a07f461b8143d10a372e9fd1a55ee91992f342df3b2c4c9722e08805e85dd4359ae7badc42f3a6a82e5588125eceb86b052b7b692dda1d4d3f38fe12e4da2839bcd4d3f592b0c151d4368e1cad7d67c23472f08b629f979cf7874feaa1284924a007297a9e5832c6dff3764a4b50b4caa8e098cf64f5dcb39aedb4df657ac03f5fe54f375aa164bfe24329ea121835bd71f3bf42980b50d1bf3cf137e604b47c5a8c82f342967861c94eddef7bd3a7b4f35e1cf3477ce5ae5fe74e396bbf7cd1cf1eef8ddceda77dddf7b6f5df367bdd9d6faefd7b9d3569bddd7de7756b8d7b7f4e377366dfebcedbd7b775ddedde7b5d797fb73a73a6f969ee9e73b77cf5aedeedae9e6bbe76d34f1fdf7efc7f7df7ebdf7c6b5ede7bc69b75adbc6b9e35f3cd34d7d79de39d9ed39e7c6dff787bbef7eb5df4d5d79f7b879ce7471cf1edf6e7be346dce9ae37df9f1ce7bef9e9fe5b6f4f39eb46dee7be7a69cdfb75cf1fe9b69be1ef1eeb96f6efb7ddd1bd9cf5ad75d3c6f46b675adb56b5f5e73b75eddde5fe3a7b96bb7fa69ee39ef6d7579e71f79b7fb739edceb9e74e1ae1de5f77ae9ee9e7b57fcd75f3d6ba6df777d5ceb67fbefaeb6ef775edbc79d6bde346b4f36d746f6f1f75b69e7faf1e75ad3be1fd5bd5fe79dbce1c6b87ddeb4dbad9b77773971b79fdf479deb57346f5e36dfaddbdf8f36d7dd5e7db69bd1ee76d78f74dbb7b5f3bdf9e9fe37736df9f7cd5cd7ce79edcedee3dd5cf7479e69d69cf5beb4d1b7777f971bd397fcedfdbae9bf1aedbe35d37f76edcebddf77f4e9e7bb779d36e36df775a79c7fddb57b7d7b73a6dcedcd5ae9f6fbdf6d9fd9f6f4e5ff34e1cdb7e376faf766b6e35d9b69fd5ae9bf3b7bb7b77b679ef7d6b8ebbebbe5f73de3877579ff35d3ad78f5bedc7fc7f87b4f5fdbb75d7bdf387b67fd7f5f5de7b6b971d69d7ddf7deb773de7575c77477bf7adbbe5a7db71ae3c69a71c739ef9d78778f7aedbd37d1a75cf3d6f67bc7faf3a73af3771a7de7746bbe1b6bcd5a75a7de71e69ff1ee9bef9eb6eba7def5cdb46dad7871de9eedbdf7dde75cf35d39edb7b9d7bdf971be1addaeb4e7969ad1bdf4e7577dd1ce5f6dee75d3bedfd7be38ddce1bf35e9c69cd77e1e6f7e1bedc75bdfcdbae377baf757bcebcd3d69bf39d3ce39e9fd3d75f7da7fa6bb71fd5c6b4e1a7b4e5d7fcd7a7b87397ddd9df5fe39f5edfa736f757dbe34d7ce7bd1c69d7b57dd7f9f1ee757db77d7b5739d1be74f5deba6b76f47b97bcf79edee3b69ed77f3469ff75d77dfdef4e1eebcd76eb6f3ae1bf356b97b7edfd7969a7f569ddf5f1e7357fcf7769a69aeb5ddfdf5e35d1b7fcd34e5de36e1f6bd75d6b9f5c79ce77f37df6e9d7fcf3af39f38e746fcefadfd79cdf7edae77db5f1d7f5d76edfddfd386bb7b577569cd5cf3cd39db77da7b4f76efaf5cf1de1ad5b71befb69e776eb6eb7eba73975c7b87dcd9b7ddd9a7fde1fdf76da7ba71bf5ee746dad3ad1a7f879a6fb73be7b73d71a6dc77c7bae39d5b6baf7479fef46b9e387fce3adfcdf97b5df5e7def6f5ad7dddcedfdf4db5ef46dcd5e6dfdddf1bdded3a7fbdf9f38e1de5f7da7b5f36df779e7346f8ef67f4d79e9c7346fd75bebb77adf6f34db8e1f7f46dd6b6f1a7f8ef7e38dbddb8ddc739d3569af397fc73a7dbebdd3469e77869af767b56f7d79ddf7b5f3be3c6da777f7b6f779e77a7ded787b7e5f779f1cdf7d34e76e5bf1af74dfcd5a7dc6bdf37d1fdfaf1d737eba6ded797b5db9d9ff38dbb71d7f6f36f3a738dfddf5db5f38e1fddeebcf5a7b479de79f1c7fae7ae5f69adbcef8e787dceb5e78ede69e7b973bd1a779f7b6f675bd3b737738f5f7f9ef6db6e7bdb5e9f7fde3dedbdf9d3cebbf74f5ae77e3bd1d6b9739efb6f66bdf377bc75d75ae3b6f47f5736efdede6bbebcd74f3df756def356f5e3a777d3de9ddda7b6e366bd79ad7d77dd9dd5d79f6de6f47f97dc79ff3af38f38d78775efbe9df76736e1a6f6e9a71cdddf7a6fad1ed9cedbf38e1bd3be1ad39e7471d7dddfad9f75e6f7df4eb66fc75f7bdd75eb675b7fcf7771b69d75be3c6f96b573571af7a7daddd7f76f57bb6dad1fd5addd6ddd1f6faf1bdb6e1d71e7b7edad7a734e7ad5ff5a6f7d7d7bae7adb67b679cf7be7671dd3ad5e7fdf5a6fbefc7b5eb47dcf37df8dfbeb8f5b7357fbe1b75dd3c7b8ef97376f9f387786b4e76edee7de7ce7a6db71a71ce7ce1b73dd7bf3d73869bf7ae1d6daf36e7d7f66b9d76e1f6ba7fbe77f39d3c6daeb86dbedd6b5e3469d75aef6e34737eb975ae7c6fbd356b469a7b4d1fd7be5fd5b69bdf6db5ef9e5d73b6bc6fb69ae5af78e1b69c77ce1f7fce9aefbf3bd38edbd7ad36e3975c7f8eb76f5ddb6f875feb4", - "signature": "0xab4a1e8451c3cf64a13d2aca34f0dded939d5b50ec2cb62dd980b5cec30aabb59eac5b098b27c5c6583b4992ad0fd05016210f5d877f3635e73bc2d39e02b57b3a6ac367ba61d635013f1e5e536ba4bcafd04c6cdccd293bf3bc6cff18e1e91c", - "withdrawalCredentials": "0x0100000000000000000000009bee67F3890D32cb0c77AEb1a217882eF326f83A" - }, - "1685979158096": { - "depositDataRoot": "0xf26c2d9d266e21f58558d105ef66c228c6b6a8e5c13849113aa65cf6631aeb9a", - "publicKey": "0xb14c85822748446bd9db9f3e3a463d4d3ebb77c46809292fc1fa98c3453c17d159f7ac626a30bb32735888887731ae07", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0acec6d9d9f16afd58ef5887feabaa16b5c89819d92c1e4bce524b202e2bd9d60a06c482a5471a356b2684449ed129daaaea39703ca661404becaddad96cbc61d823f98ffdd8b81012a764f1ee5335d50a943b882eb03d5de071b326fd2f0ab3c96c81f09595dae832364f9e886e4b98b5d1d86aa29ac6e928fdb60ff33ed8d1bb8d698a15fe33b5632945ef4915f754f90086848fb1d311ff1e2c87d4d1293c0a2a10c29ff0a0f3f76c3d1bdb2e185ee9f3ab4d6548121ce247bc59df0a3d33d6dcd39f3dd9a69ce9b776e1fef771b79ce5a7bb7bdd75eb7d9be7879ce9cefdf5bdb66f979d774f5cf3a7bbeb66b8f5b69e7fbf3ceb6dfae74e9befcd76dbd7b7eb475f71b6b7e36f5ff1ee79d74edff3b7f9eb5f3be77df5e1ce7d7fcd9a6f8e7ad5cedbe35e5f6dee79e5e6b8ddddba7dcebde9dd9ad7bd7b7b9d9cef471d6f4efa6bd6bbe9be7af5bdf77f9e77dbdebceb4f786f4dddf5af1b6bbd37f5f739efb6fa6f4db77df7dfd1b7dbebc6dbf5edbd79cdbaf3775ee1df7dd767f7e7a7fc7f5db571ddfad5ddb4d3d7ba6fcf5b7f6df773c6fdd7c7badfd75ef1cd5ef3a7dbe9c6b4e78f5f7dfd7dd1d7b4d3c75cf5d71df7773ce746bd6def3ce1fdb57b6f5e6fcf5c6db7b6eb66df6badda6dc7deeb8e34dddddddf77dc79fdfb7bd7dd6b86b87dae9cef775c7b8ebbdb4e3c7f5edb75c7f479bf75d9fe9d69a7b6d7bd9a71e6fb6bc778f1b777e39e77e3be3dd3ce9ff78779f5df77e3befd737dda6bcdfa739e7cddfedae1f6fae367bdf1be377b86bd6bdf7d6b5d7ce5c73b6dad757fcd9bef969cd9addadbdd3a738d35f1addc7b7f7cebad357f67fae7cd5df5be7c6ddf3cf7671fd3c71fedf77deda7baf1bd7aefa7f9e396b4dbbdb86b5d7bd78f3669c71c6ba7f8d7cefdf1dddb77679bdbcdb6d5ce9d7f5f78f5ef39eb4dfbedbf3dd367db73d6f8e1ad1a6fcd3be5ee3c73969ef38e7a75ddf87397fbe74d9ff7ad1fefbf5deb96da79bddddf7d7ad7c6dad5febc7b769e6fa7756fad1ef396b4eb57bce35e3d71ee77f1bd1cdf6f7977aef7eba73671c7b577b75dd1ee37dfc79ef7df5ae1a7dad7af3c6b5edc7bddf6f76df6d1ae1ed1cedef767dcd9ee1a6df6bae77e1ee7a7f4df873cd1adbc6f67fbef47dc6b4f757b6ef97f77de6f6736db5d5cdb769aefbeb475af78db46fb6faefd73d7bc73679dd9ed78e1bd1ed3be3df77f1adb56dde7d7f9e1de3adfddb5dbbf766dcf1fdfde37df969ce7cdbc7fbe35f3ad36eb96dadb4e1bdb7d756fdd1ef1aef86f7f1d79bf5a7b877cdf5d3bd77d9b6b6d1aeb7f1fe76e74e34eb9d5f6bce5b71eddcf74e1dd1de7b7767f4eb5e3be3ad9df1cf7cf1e7b8d3a69cdf6e9b73aef8f5b6dfd3cd9dd5ae74e1cf1be34edc6dbeda735f38f3af1df3dd7973c69be9f734e5d7daebbeb76b7d79dbae7ad5bd5af1fe747766fcd5a69af796def36d9feb7e5eeb5d3d6fcf7c6f8e35e1e7dc6f571b7b4ef8e5f6f87b4e1f7bc6b477579aeb66b8f5bd5ef3af7a7b57f4d75ede7f4e1adb775e73bf5ed3669f6da7747fddde738dfbe3be7cdfbdfadfbe35f5a6da7f5e5df1df5e7b87396bbe5b69a73ddfd7fddb6f3be9fdbae5de34d5ce1ae5d7346bcf7a6bddf9d7bddcdfad1ee1ce7aeddd35db6f3b79bf7dd7b7b4d1d6f8eb67de6b6d787796f7f75dde77c6b46fdd7ae74f39ef8776e39ef8f7bef6df66f87bbefdd5cd7aedd6f671ef37f35ef777be3d7de7f9735e1fdf6df6ef47b8d76e7a7b9d3469e776e5adb8eb7f78f5c7f87ddd79f7debad77e36e1bf1dd5c7fb6f47f6ddb71ad79e1d75ae7bd3bddbef8d5e6f9e1ff38d5cd3c7bcef8d78d7d69e7fbd3af3ad76eb7737f347b4d9af38d3cd1e6f6d7bf5be79f1cef67777376fd71aeb96b9f7ce9b73de3def46b8f3cebc73cf78e1de39f3a7f5e9a6bbf1d7f9dded3b79b6ba7bbd36eda7f5ddae5cdbb77875de7cf5c73ddb56f8f746f9d1ed1a6f8edae367f8dfbd9ee1bd9b69c69adbaf1a7b869c73871ed7aeded9f6fdeb57fddfc71f735d5e7dde9b6f5d5ad3bd76e7bdb77fcef7d1c69dd1cf1ff387fc71ee35e35778d5c79ff3ae74dbdebbddfedc75adb8ddef1a6dcf5ddbce9a73875fd1e6dd6b4d38df5d1de7ad7adf8f76d76dfbefc71bd377bbd36e1bd5b6b77ba7767dad39dbdd9df5dedb6f7d1e6dfe34e7ae5eebc73575ad797baf77d1fe7dd5bf39d9f77d7f4f1f6b67dd6b4e9c7fbedad78ebaf5f6de69aeb9ef8df76da77d7b9d1bf1adfae9ce9cf3bdb869dd7aede776f76d3df5ef36f3de1c6fd7df734e1d73dd3bdf8db4dfcdf47fa71fe9df3ae9ff1cf3871c6f87b6f5eef7e74eb4db973bdb5f3569be5fef6edad9a7f577677adbceb9efdf1bf396fcf1a7f6eb4efc6b8d3a69b73ad5eeb8e7b7f66f6df4e1be3ae3ad9f735d9f", - "signature": "0x8f7891346a62d3811a08a1746afb0c78875cface6db3d00f9f4141d2435ced664043e10b255ac3eda943f5e9abba31750594df1f9125afa29980c9ab0d44679e0a5bd76b67f4a8a4d02e0138c7e5c080510eb0b2e40171efed14f8f4e502542f", - "withdrawalCredentials": "0x010000000000000000000000a68F49f72d73aDD737CAF08879027b297203A215" - }, - "1685979183480": { - "depositDataRoot": "0x80c231ef5eea03d7c4c450b7bf751ef7184c74a416b5d5a6748d49e3db1d995c", - "publicKey": "0xa3d222b4270b8aca52b260b1cc38d24949b3640ce19b07711add7bb504c5c1a3a93db824b86afbfba61b1c3fed690c9d", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0af3db8c8e7de9f4692df50c8f5e0781cd4f603a03a1daa2a5e58a5e26853ee77fc02d9cb6fc0e7244d83dc57aeb3c8d787dfceaba629e703c3034b9a67ab5ebcd597d2e4603e924a698a0111f97e5de64ce1275178b6562ef0535e2104b3e64ba28860900212b85c4a2b65c726f07cf9158a7eded1a170c00b7a7b06c8837e26ec5afc4ab04a12918e3268c1bf23cddd9403bd75c30cecf4179d08e0d174ee31c5bf3502ae59a5e98a57a9ffad19cdbf2fb06b08726e1fe3cc77528a729c62556b4ef7f747dfe78ddb69fe9fdf6774d1c7f971eeb477be1af3b6fb75bf1fd7b6f771d71ae367de69fd3cf367fc776e1beb8f79e36ddbef56dd6fae34f5c77de5ef78e7be78e75d357b8d75f7a6fb71cdb66faef9f1c77de78df6779e9fdfbf3879a779d3aeb5eb4f366db7dfe5cf78e5b6dc6dfeb5e1cd5b6dddfa69ad3adb7e9addce7bd367396daeb5e7a7da736737e78dbbd5af7771ce1bd396dad1addb6f97da7bd7fcefcdb57f4ef779a6f4f1ee39e9a73c7da69df5ddfce5ddfde346f4f5aef6e5e6fbedfd9cdded1ee3969e7da71fdb575f735d9b7fd73575ed77f5bd9ed7af1fdb4d3ce5fefc7fa75e77ceb6f38dbb75cddfe766fa69ee38d5dedd6fdefbedf77ce5d6dbdba75fd9a7bbe1d7b8e3adde6dcf376fd7bcd3a79aef8d7879be1ef5f77969ce1b6bd7bbef5e777b8df5d9b776ebc7dad79dfc77de39e7adb7dfb7fc7b4e3879ce76f76eb673d777f7579c7fb69a7f7e76d1de7b77af386dce3873def4d7ae7475bf3a79fe3977d7b7e1b6dce5c73ae37f5d6f8f75777df46b5db8e7679ee7cef9e9fe7ad3b73de3ceb9d3be34f74d1cd1d7b4edbef7f1f69b77b73d7dbe5be1c7fc6dd7daebd75d6fcf5ae797daf1b7bcdb8e5ddba73de7573c6bbdb675df1e77b6f67f4f35df5736d1e79c7de6bbedcf5fd78f5b69cefd7da6fc7b675af777f779fdfa7b8f1adf47f4774f5c6dbd3ddf977b7dce75dfaebbf34f1d6fad7b77b7397b669cd5ae5fe78e7be38d7cf5fddbe1ad1c77bf3a737d1f6b977ce5af5e6bbf1be78d74e5df3cd5aebc6dfe39e357f6eb9e5ce3ae7bf7c734f38efaf3b6f577bd3cf3cedd7f67f8db7df573469ff5de1cd1ad9c7366dbe9df36dfde5fd1cedce78d1de9ed747b9eb9df9e1ae7bf38f7a75cf3d6f679d7df6b6d7971fd7dddae9d6f6e747dbd746b9ef7e5be5f7fcedcd7c6f9f1eefa6fb7f66b8f3cddddfdd74d5b7fae9c69cf7bf7cd7cdfddf87b9d34e9f69a738d76f1fd1bdbddfa777ebbd1ce9a7347f6eb8e5a77be1f737f38e5ad76f37f74f5aedbebb79d7bc75c73cd75f35e9dd397f5e1ae5a7f5d74ddef3c7bddf5eb8e74d9ed3869ae9e7fadb8f7bd357fbe766dfedbefa6f9f77ef6d1f7badde6b8efdd3df77f1ce9b77be1ae9fedaf5ed1ae9cf3773dd77ebdd34776dfb6b8e1e777e79e34e34e39d5feb7ebdef5f1fdb8738edad34ddcdbbdf77ddd9fdf7d5be5bf366b6f5ee76db6d7777a7f9d5cdb4df4d367fdebbe5cf3dd3bd1d735e5ed1a6fdeddeb4e9ed5ad9f7bbd5a73c7fd73575c75f7f96dfebce346fd79a75e7ddf3cddce5f6dfedcd5f75bd1a79ee1be3def971bd9ce1deda7de734d9ff396db7ba6b8ddeddde3aefbeb975ae9fdb4eb76dcd1bd1ae3ad74f5e779d5adbbdde7bad5b79cddd7f6f1b77ddfaf74e7b7f8d39735efa6f8edbd387bce5d7b7e5ae3c7baf1adfdd7cdb471e6df75e7b86b9f5cf75f34ddfd9e7fbd39dbde746b96b67367fde39efae1fe78ebdd39df86fc6f76b57de75dddc7776b47bce386dfe7a77aedb6f76fce3c79d7f769e6fcd1c7f5d76dfceb679a7f46da7b56fd75cd1bd7bddc73a79aefdeb87356daf79778e1e79ce757f6f77f346fddbbf79e7673bf5de34d1ef367fc6fa7fde7dd5ad7ae74ef7d9fd1cd35eb9eb5e9fd7cddbd3d79ad76e1af1c779ddfe3df1ad7b6b7d35f3a77df1b7bde79e7bdb87b97dbe1fd7bd9af5d6bbd38dfad3deb4ef56fb6b4e7c6b5db7e3bd38db4e74e35db76b9d1adb7e9edbc71bf1c7fd69af5df5bebc75a6bd776e3a71c778f7aedcdb67df774e74f5c6f675cd1ce7bedbe3cedc75fd7adbad346dd7b7ef5f7bd1cef979df34e75e79d7cf1ae1b6b773c77c6dbf7cdb7e346f7d7c79ed1fd1a69f7ba7ddf79e76d7bf7d6fcedcef971fd357366b8db8dfb736df8d1cdf4df4d9cd1e736f1f6bbf7ae34ef4d36eb96bcf767f6df6739ddc7f6d37ef8dda73ae3c7dae7bef67fd6dbf7cf7df37ef9736e7bef979fe7a73dd5deb9eb9d9ad1b79c77a6bce9de9d7bd6b8ddf6fcf3a7b6edadfbdfbe7cdf96b9e74ddaf347fd6f9d5aebdeb6d7a77775f79ff346da6da6f56b66b8e3673669ed7ad76f78efa6b5d9f77be5c6daf39739776eb5f79e38df57df6bde9adb7d1c71cf3bef46b6d3679f73a79cf397deeba7fbd1b75b", - "signature": "0x8771cbd804c6f332530301f423291e3c232e9da3e503c0f74942b84a368d97eb9007a615c0dd680b96cacaf116f21a8b036807e872ee48461f2d4525069c125bd370bd5f0cbc18ddd893467c0d324052eed8f57c760668434d8c367a3b905b8c", - "withdrawalCredentials": "0x01000000000000000000000020C682387CD4dabf327864f5384E5Fd4DCc37690" - }, - "1685979194075": { - "depositDataRoot": "0x83dc917e4fd0fc45150d515bf44bf44d40c882dea71c4a8924a34f8050652bbb", - "publicKey": "0x812aa5fdb4c8722b1c75912d0cf8b96a28e15e881bee7f318fde5c9afe71d85ecb71fd3627018a297e1208a445734a8e", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0abca99fa50f5732d1b13a626ac7dfd8ce55c3d641ff64578a073a956ab3cd20207886fe8d815540448cbd0de1a333de1924f7ec1b8e3b29ff4c9eb913b3cb7d1e170a32f2be2d653d144c429257389b58a03a222423ac4ba3dceea64f006cc61a4aaa6bf5e6bc467b15bcb83eb373182bbafceb1177e44632d5b082dcafee69e5265c88226e208998a6d1d4173058ce392a7a45de847fcffc074ebe104438268376e78d90d989f6d4aa3dd19c17c6ca697b98ec1055e1491aa4a457ae4100980d356fb774d7871b7b57b577c77ad74d9a6f475b6b4e9e6dbf3de1b6f46fa6dbf356bc75d7dfe1fe7b7fc79b7bddbb6db75fd9ed1fe9b7366fad39efbefce767fbedbe9fe7df74d796dc75a73dedc7bdebb7f7ef66bd7daef4d7d6dad7ddf6e9c7ded5c7f8f3a6dfdf7ede75fd39eb7d777f4ddaf3577b7fa69cdfc77ce3a7f5ebce76edd73769cf7def6e7cd9ad3bd1b6bd7faeb9e35db9e1c79fe5bdb6f3af3779bdbcf7c6b47b6f75d9d79edfae74f3cd9af366b4e34dbd6ded5ef77e1ee39d7cd3be37d1ce76db6d376ded1debc6f96bbe1c6daebaf74e7475c7dd7dadb6d9ed5ff5ae1be3ae5aefb7b7e79ef971be1b775edae5e73777c71d6f9ebcf1ef39d37edcedfd7de3871bd9debb77c779d7cf3c7b7f75d3aefae77d37ef57b8d37d9df39775d1de9ae7dddf77df75edbf78e9ae37d9f77cedae37ddd79def56bdedf73675ddf9e1ed9e6fa73773871ad78eb5d5bddad38e3cdde6bad3ddf8f1adf56b8e9cdf9d38e5d77ce747ded7571de7bd5be367f6e5cdb4eb6d5f6db7b5e3cd79d76ddad9bebbdf7e5cf3773d6db7f8ef8d7d77777a77ce377b4f38f5df3d73defcd76e3d6b7df47bce9cf34735d37e5c7b67b8e9a6bdf7ddfcf5e75b75df34e7bf767da6b573771cddbebb77ad38d5addc6dbe1c7356f67f77766fc77adbad1f71de786dc7387b6edd7fdf1b7ddd1f7dce1c7b7ddcdda79de796ddf1d6b6e7b77bdb4d1f77d79ee79e5eefbefdd7deb96ba734d7c6f7eb6d5fe3dd5e7f675b73aedbf756de6b57347ddd9fdf5f1d6f973ae5dd76e3ad1edb5df775b6f6d5fd1c6f5d3df1a7fdebae9be1ed1ff76edee9d7f86fc775ddee7af7dd9ddfb6fa7b86dff5cf5d7bc75bf5eefcd36f7de7dd74d3bf796dee5e69bd3cd3969eef9f7b79ed5ed37d1e7776ba79cd5b6dbdf86fdf36d9eef771fd757f8e3cef47fb738edb69fd9a6b973ce9fd34f7b69ce7df1ad3c75ed7cddfd39779f5cdde71ae3defb7dfdf5e35db4f7d6fbedbdf5d346f96fd7b56b86b7f1eeb6d5c7387fb778eb9e75f1bf1bf7bd9c71fd5a739ebcd37d5fdddeb8f7cefbe37dbbd5e79f79cd9bdbbe7c77def4e7b69e75f77bddd7b7db9e7ae797da6b9d3d71bebd79b7b8dfa7bb79d6f4ddbf7c777eda69bd9a6bcf7ae9b7f5d7677de3bef8d7df1ce367797f5f3cebdf3ddf473a735e1ff38e39d36f36777f3df37f5ff7dd5febc734d1d6f86b6f5e69fddbf35e3b7fb7396f77f8f1deb9d3debadbbf37dfae1af367f47bb79bdb9df769cd5ceb5d3571fdfbdbcf376de75b6b5dbaf38e9cf747f8e37d78ddde3573d6fad7c7bc776eb47b6f35e9ee1ce7669cefd79af75d3871e7f4e9cebce7bd3be3af34f3adf769bd7adfbe5c69d6dff5bd7c7dfef76fcdb9f3bedbef9ddcefbd746b5edce75d5a777f5ddb8e7ceb4f1a75bf3771eededf8d76e1bd5aebdd77e3df1eeb86fbef4e9cef5f74df86f5e1e7f47fdefb69befdd5ff757bae5dd5a77bd1de35eb7d35e386b7f1ee1c7f7f37d5b736f7cf3d7396b8e3ae3a71f7dc7b5edf735f38edf7bcebd6fa69cdb7e38ddef39f3c6f67ba6bce5fe1a6ba71f7dc7f4edae35e9c6bbe7ceb969c73d73be9f6f5d1b75c6bbdf9e797dfd37736736ddae5d7b5df4f1c75eddd75ff3d69c7dc7bde747db6b7e3c7fc79b71fef76f66b771ff36d9af35e3d75dd38e1df7d779d7cf5ee78e3cdf475ae356b66def5be7af7cd3ce5ae1c7b7edddf7edcd9ff3be3dd1ddf8e7c7b4eb47787bbe77e7d735e7b71c73577dd9c7b7d3a75b777e367f8e78d9eef4edddf8e7c738e77ef669de36f1dedfd5ce3d69dd3ae776f5df5e3b7bde9fdbc7dbf767b8d1ad1f6dde5ceb8efad9ae9aef8d746f979aebad3cdf9d74d5beb7d5ed5cd387b46fd77ce3cd1bf7d75fe5d77bd7773ad756bdd5dd7b7f9db4dba69bdb4ef7e9bd1e75ed3577ad7869dd5ce1bf1bddcf386b4f386fcdb4d5eeb5e3aefd7387fbf1d7b47b9f3de5be5ed1ae1be38776e1c7df6f4d9ae78ebdef973af75edad1bedf77673b69be7ce9bd3de74d39e34ddb6fde1ae1ce3869fd1ee5cd74d39d5c7376f96da7bcd9edb8f5b7b7ebb6fad7bedcd9d69f73deb7d9cd1d7f6dfcefcd5c77ce5e6f57de6bbd76d5fe77efcd3479eeb8d9f7fbd1c73969b7dde7ad39ebdd5ad78d3b6fd", - "signature": "0xa8293b6196c96cdd096730a15a157c9492e48ce04ad597db6b5a766144d28dd5f8a5044bab3c74dda080b715c85b628b0d16477c87c5d3c2b7e21ed0470ecf42dbd888afc542b9e01ba77a20f7c246e5e813e7d4fe9298898a9a3d70d07fec7c", - "withdrawalCredentials": "0x01000000000000000000000061C321F64d86c19d3b83d5190DD608031525AcAe" - }, - "1685979205993": { - "depositDataRoot": "0x2427c14732947eaef7c73fac43638234db2e474a212f817e672d47d48ee50b92", - "publicKey": "0x956dbe849164bc77efc01644943cedfc184ffac151465da2ddff68edbc4f14e6af2e3413a1ee9e75de4bf3daaea37c53", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c08cf4add1bc79a733de08f33e3e5128c6018516ed253c6114b2feff77fda1b49d8778855d703aa12227d02d72d767268c92dbfb8d6d8852c0ed0786c5ceceb62f60b4adbb4a3c141953cea531c12b1bcb13f28c369e57994a86ee1b4faffc75a8a1c0a90c4446832d9566fc3c47d37db1fa72e141a86ebb56f6f102ea00b4308fc243165d47202c7e90db20291bc6129d8263b847ec060a7d7ca76cf8cf3c157969556f9e94c189ce5e6e9d20a88b87b3c697f39c4b7049063725bd4514d2da78d5df7c6bbd7ce3a71af5bd1c77b6bc6dde1a778d75eddd3bd5c6def76d3cf79dfa71ef74f756b4f76e9ddbbf3cdb7e74e9e6b5d9f777dbaf757f8e5fdb6e5af7dddb7dfeb5d1d79b738e1bd5c75dedddb677adf9e35e1d7b7f5ff5d6dfe3be1ad1be74774e5fe1cddfdb96f46b5d76f7be7c7fcebaddbeb76dfdfbd9cd1a6dc7b5eb4e5d69a6dee5dd7c6fae7bef7dfbf37d5ce77e9adb6dbdf79ef4e9bd79734f39dbbf1ed1b6bae7bf37e36d9be5edb5e3bd34e3ddf4eded38dfbf3671ad39d35d5fe5df79e9aeb8e39d356f7efde5cef873c7b8ddc75c6fa7747fbf3c6ba736d5fef4f3de3ce1a75b6fae5b6fb7b96b875b735f3bf3ad76d9a7bbe7d77bd3dd5ae3475ce9c6b6ef7db971fd37d366dc75a7b5eb469de5bf5af7aedff3d79ff3d73dd7cf5ce5f7b4e75df9df9d3a75de77dfcf3bf1e737d7473ddbcf5f6bd71cdfad3b6da6bd7f9ebdd74db677ddfd776f1e6f7f76e5bef8777d5e7f5d38d75d9fdb9d7773dd9cedb7db7de7346f9eb7d7871fd9eeb6dfa7b6f3df5ceb76b96deddaf37dbae9edb6f756bc7fb75bef9e5ed5cd5ad787f471a69cd3d75fdb4d9ddb8f3be9b7ddd77e1e7b7d1b7b7e74e7c75eeb973d7dbd1b7bce3df7d71b6f873b779ddff1c75d71a7f9e1bd3b69ed397b575d69e75bd3c6f5d34f34d9d77af38779eb4f5c75e6dcd5b71ee1ef7be5d774e5ef5fd77d7cf3aef9dfce1e7baf5ef39dfa6f4d74734e3a736eb571d6b5f5ff5cdb4df4ddf7da7dee756ddedfdbaef9dfae7c6fbd9c71edb5f777377f96ba71bd777faf3cf79e3ad75d7c6b6d9d7dadbaebde5cd3c7bcdb6774e5ddf5f1b77de1af76f77f1ee1a69ad75d7ae766ddf3c7dbdb8d9adb571ed74e7be7979bef86bcf3aebadf575a79bdba6bbd3deb6d3a6bbf37e78dba6f47b475def7e796f875ad1c7b769cd39e1bd7579ddda6b97b5f7aef7f1af7adbbdf8dbb6da7daeb6d1ef7a6b6df9e1be5d69d71c6b6f7af1def86f769ce1cd346dfebde3571b71cdf6f747f4dbaefb7fb6f86bd7fae7df76e397b9f1d71cdf7f3879c6dddde735f1e73cd9deb8775f7769ff5ed3bf5b6fddf56b8dddef8ef87f7e5d6fb69edf8734e7d6ddef86dee1ed5fedb774f767f6e777baef4e7cf3a7dc6b7f7cdfa6f4e9bdb4d5a77575c6bd77669a79cf5ff1b73ad9dedfe9d7ded3df37e777b4736d7cd9ce5edfa7fcef6e7df7af76ef869fe7c7faedbe1cd7cddbedf75bf3cf36efddfd77a774ddb6baeb4e3ce76ddd6f57bbe3671de9cf34f5bebb6dbedbf5ae1b75d6f77b77f4edaeb4ef5dbd6db73b7fb6bd75ce7df34e7cf78f7a737738e76eddd1cf1ce5cd7c75ae74f776fbf3b7ddf5f73b7f4edfe1c6bcd387b87fae37e5bd3773ae5d6b9e357f56dee1f6f677aedbedcdba69c75de9dd1f7fde7b7b87db6bcedf6f4d5df74e397f6f7a7f4f5bdb9ef5f3cedb734d9eefcd34d1fd5c6dfe3d7fcd7879fd1bd387bb6b8dbad3a77ce3875b6fad1e71af7c775d9f7fc6b5ebbd1a6fde3475a774e1f75ce1a6b4e387dc6fc776f3b7bd75ae74e5aebc7bcebae5aefc77c737f3ce7d7b577c775eb579dd1ad7ce7de35e7c79df79ede6f9dfd6f7eddd7c69ae78f5ad7cef8f39736f5ce9dedde75735f74f5d7dc776e5f6b469fe1e77addbf1f6f7d1d6faedf738d5e79e79de3b6bae7bf79f3ae77e396b969adf9d1ad1c6fceba7f96b6dfb6fc7db77df7969bdfcddc6fbefcf5eefa71b79d7db69cd9c7bbd9be7b75e6bcddbf75f7c7b7eb6dbb6bdf1e6f569a71ce3cf1a69a75cd9cd9adfaddad74e9a75ff36d5f6f7d9ff5ee74e3b73addbf1d7f46f4e3adf5f5a7f9d1c69c7f8d7bf1dedf6f6ebb6f9f1fd3cf39dfb6dcdbce5bdfb6dbedf735d7be1adf777ddb775c7b9e78d5fdf8e1c7f4d5b6b8f3de397b8e38f1fd5dd5f79a7dfebdd1ae7be1edb9e5c7b9efa6b677d6f5e5c6deddadf873cd7adb4efdd9df7b7786df69d778e1ff35eb4eb8dbbe3471be7779b7bd71ddfd75d69fe1ee1df5de37db9d75dbb77a75cd3c7f7edeeb5dfa7b7d5e774db671df78e9dd34dbbe36d1ee1ddbd7b76f5ebddb76de6b7ddae79efdf3c7dbe5c6b9d3de5b6dcf7869e7de7b9e7b6bd738f7569f7796f479d79e6da77d6ddefa7b769c75fd1bedc7397f677a71ce5ae78e9b6fce3d6badb9", - "signature": "0x90a149cebd9eba88673c69fc8a52cdb42e7f2ee64ac9a73cb8f51455df94a7e2e25905cdf91aa29a50acb58bd176d336190cd0af24ad4703d1ddaed13fea8243e867eda4c9f0d6c56ef43848b689b218fd973c7fe67931eebbd9188b69a6ecd5", - "withdrawalCredentials": "0x010000000000000000000000E9Ace0C139e59a44cd2F2c8fB7006528ebED3Af4" - }, - "1685979217952": { - "depositDataRoot": "0x512aa0c8dbe55a02bda9050a2740dd30cfcafc79526a25de07013eab9ea19605", - "publicKey": "0x877c2c5a00a57e0328ccf9cbd5614f320eeacd330edee7beee19301b33c95e662b4889a51bfd201ea1956d51713dbbfa", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c095d5f1438a6ad54c7f71c7e23328edc129b99faacb04b78889c7ea2751f6c7b4ad1538b1ed578399dd90df1b9eca98edb7fa6ab027163fa998636343bd517460dbfc2676a6cd9e029a61639ebb55edb895fa8206804761e76b0957532b965d34a87124d2c1311ad18e02648016e2b64cbc0fd4ffc9b54b0235644f8e5ae809dd12b81dec8d6fc75d72b2509c7ef31eb2869df4795de72501ba2afe4c5fc9c35f0242322fb21b77d962033e33506991a7584ffab2bce8e417da6e031bdbb0629ae7be5c6b4d78edef7d6f6d9f69af7d7b77f4f7d7fcf34e367346f67f6e75d5d71fdf56fa75d7f77f5f1ee9f7f5f5c69a7b4ef9eb56f46bd6dadbae5bdbbdde77cd1cddbebbe74e1e77573d77b73a7dc73af7c6b5e3873af7cef7f796bc7b7e756fcdb6f1ee7973677adbde9bd35ef579ef1bdfbeb5df9df6d1ae9c7b9e5ed75f387df6fb69fe3cf7d7da79fe5af5a6fa71de3be5b77d7f6db675fedf7df7b46b4e7b73de9fd766faf1bf7677a7bce3c79d71b6b87b86fb79de5adda734efa6f96b575de5c69ce5aeb9f77f3beb571edb96f5db7d7ceb5ebadfc7db79ee75e1cd5c7bdd7de76e5ff1c79aeb9e9fd1cd377dfd78f1cdfb7f9dbd6b4e34ef6df875af5d6ddf77d77f34df87fbd5a6f96dee9ee39e76efdf5cd7d7b57daf3779b7f6d5cf1ae36e7af36f3969a75bd3b6f4779f5dd75f1b7fb6f76da69dd1ff3577df5df75e5ef1aef46daefc79fe5fe1e6f7e76dfce1ed7a71cf74ebdd79dbb6b6d77f7975af76ef6f7ce34ef5d3c7f9db9d37f39e7ae76db979ed9ff747fd71e6dde3a75cdf7eba75b7776b7dfdd1bd9a7dae5ed36d36d7c79cf5ad1ce3b6dae1bd76e79f39e9aef8df575cf77d3dedc6b6d9ff3bdfdd7b69ce3b7fde7b77af74d37ef8e9aeb97fdf76eb5edfd5beb66b9d3cdbd6f971c7fdddbf75dbd79be1bddfd9ee38d74dfddf7e786dcedfd3bd1d69bf76775f36eb96f6ddcebcd9aeba7f6efbd376fbdf5e5d7bcf76f35d1be9d7f6735e76d1a69c69be5c6bb79b75c7fc77cd1e7f8f1d69cf3be76e77edff5ad36ef7e3be7479d7b675aeb9f7bf5fd7aef56dfe5bd9d69f7b6774ebdedbddd7f4e7be797f9e1edbbe1b6f9db5736d74ddff5edb5738d38d1ed1a75de9ce35e34d76f39eb9d37eb57fbef5f1bdf6f7ae9e7f5e5c69e7396fb6f469bf3a6f6e5c6dcdb7e5cd9ff35edaf7d778f34eb6f796bbe3d73cdbaef7df4d3ad35ddfdf6ddcf7a71af1ce36d76d1de9ad35e7c7b6d9bf3be7a7377346fbdb979b6fcdf7e39e79efbf5df1c73d69bd78f1ee3c6b57b7e1fdbcdbdf3869b7bae7cd1bdfad5cdddeba77775beb8df5f387faf3ae7ad7b73cefcef9d37d3bdb779aebc6dedfdf7679bd1f734efa6dbebcedbebd7dc7f9e7671a7b8f78d377f469b735dbce3b73bf74d5ee7a6b4d777bc75c6b47fad376f7ef46bc7b5f37df8edc6baebd7b9f3b6f5d37e5cef8d5d75ff77f367f9efa73aebbe7ddb46dcdfcebdedd6bd77a7bbeb96dcd7bf79e7be347b575b737e3dd7cdbcefd6fa6b76bc774e5d7b9db6d5b7397347b7eb671fd5eefc7df7f6d34db9f5c7bcf36eb8735f3c7797da6f975defc6ba73d6f4e7df5ef766bcf1cdf6f5ae37edaf1cf37734e9ae7ae7c69be78e1fd78dfbd376b46f8ef971cf1fdda7f56f86b87f9ef9e7873c6de775d35d5c77777be9ed3dd36dfd7dae9d7b475cd3ceb769bdf9734734f78d78d7bdbdf36dda75e69fe7a6f86dee7d779e3675fe5eeb8e5ad9e73b77aefc79beb7774ef57fb6b7d9fe79ddfdb67b76b9f1af7cd5f739778e3dedcdfcdb669be5ee5af1ed787fbf796dbdba7f8f1ef5b7fd6bdddce5cd347b56b5d5ce7aebb7faeb9d7bd1fefb7b6e5c7fc73d6db6b669d6b9d74d5af7d6db79cf397deebaf78f77f5cdf6e3c75dd78e34df9778d9ff5ef5ee3771d6df71e69d71fe3d71e73ce7b7fc77877d7f6f7a75b7b77da6fcdb9d37e34e3b7bdd9e6bdef8ef47f6db4dfcdb9eba77671fef8e3ddb7d3af5ff1ee3c6fddbbdfddf8ebd73be3dd36f3a75debadf86dfef5d35e9ef7be5f73de9cd3c7b6eb5ebadfdd5ed776b7f77e366dc69befc77be1debcdf6eb879e75bf38df9d78d74efa6fcd3adfcd34f77775e75d9d73977aeb46bce5cdf77fbd1af5ddf4ddcf37f79e9f774dbb6f7f5e6fbf3cf1cd1be35db7eb47b9f38db6f36f386f8e5af79738e37dbb75d7776fcedcf38e7675dd9cf7d69c6f5efbd1d71fdb473d774776e7de3af74edfd5ee1f7f9f38ddb69df78dfbf3bebc7b57b4f34e7c6bae9b71fd7875cf1cdb6e5ed746dfd3775f79ff3af1be1dd3b77b71ff5de3ad1b7397dce3a71df7af3aeba79aebad79ef5f1f6b5d74d5ed1c75d7bb79adbd6df69e6bceb771cf1cd5e7f8df777de1be1ce74d7569b7f76fc7b7e1c6dc71aebaebcefad3cf1ff5edb6f3975bf3d", - "signature": "0x94b5bda9c381ad11680cb92f403891caff3bb10fc78ec487a447c6ced22edaafe3cfc0d1b92f18a25c6dfbf31724a8fa0838a9dcaefffe843a4004cc644749a9409b45990b2d95227cd99fdc64ff2063e7d6e20a83988cb48a7080534b6e9070", - "withdrawalCredentials": "0x01000000000000000000000043aE2DEDA8a64BfFfE37bd6E777fe2fadd639271" - }, - "1685979230025": { - "depositDataRoot": "0x322f9f5e900fbcbfb798c770965181ddce2220a4148561a522c5a9c4b6c3468a", - "publicKey": "0x87c6c58ce197a5e51a46c8f1db9f04fbc6878b67ce9baa8ea9fb738b6821e764842c958cbfa5b25afe32caa743f36ebc", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c0afab1f7b92d0ae5b2098215fd06a1f009467974c02ace8cc5ba23415394626329427a0f253615b972acec6e6da6372ad85d59ba7048f962cdcbc89d780ea4233f77389d6484bf446fc63781f892d1035a15c074c55e8ceccd6d17ead5d81f94d8555f9d2cf79dc7859e8cff272bb285ed73232e7976ff39c46cb34bcd9036cd2083f12ba71461db51142261f151c84128c18921e266f27c12ff5f3d6cbbe0bc21d97f07f75bc799ad797b4d0289c90b9113790d9a2ab2b33a0ef908c1df351c4e36d9f6f9d9de3c7b6d1dd36e1df3ce9adbbe5fd1ceb569bddd774f37f77db57f76dfe1ae797f8df5e1f7ddedcd7be1ef74db871ee1ce79d3577d71e7baef4eba7367dde5af3af5e73cf387dfe7dedd6dd7fb77dedc79e71f75bdbce74db7e1be38e1ae9f775d3adbdd9b738d79f5d7bae7d79ddf9f7b6dc75d75ce5ad79d9d7dad5be74f35e3de9f7db7f9e9ce1f69ad39f3dd3d7bde5cf35ebbeb56f979bdf9f1ce1de1e6dcf5adbbdfd73be9fdf5f5edb9eb4dba6bcebbddd73bf38d5cefa7b8e5adfb6bddbdf1aeb6dfa7767f8e3577cf37d5a75de5ff3b6b7f1bdb8f76efdf376b96fc6b7edfe7de1bf3cf1ee9a7dcd3cd7cedbe36e5e7bd69a7fa6faef67796badb7d5f79e778d1cf3d6bb7b7e9ed3c79c6fdeb6d1cf38e3d77c778d9e73769df36e777b66dd7fa735edfede79dd767b46f76b573dedbdfaf36d9bef6df973deda7bc7bce1b79e7dfe75e3d6fad77d7df5ad39d346dfe1a73bd1c6f679cf1ed767f6db9f76e7969fdb9e5d7f9d7b774dfbdb5e7c69ee376f7eb96f4d5d6f8e1fddcdfbebb7da7b7d1a6b7f7cd7d7b5734777d5be37d5b7347f5df67b9738736d78e7af7877adfdd38eb4dbd7da7bdd9a7daf37efc7786ba75ddf7d36d1b7df6bd779d5e7bae5a6bc79bd3a7f7738e3b75ae1fe5af7471ed7dede7dbe786f6d78d77f5c6f9f7a776e77f1c6dbddf6fcdfddbcdfcddc71be3575ae5ad1cd7ad9aef5d3de9cedee1fd3bebbd9ee1c779d7ddf9e7a7dbf1fe9be757fa79ddde7786b6e1b71fd7d77777773669c77871f71ed5ce5fe3577cf76e34d7c6dd73b7f7df477bdf5d7573ae7adb96dd6bb778d3cedc6bcd37dfbf3a735f1d6b5ddde37ebb79c776f3bddd69cdbae9d73ce1addee35eb9db76dc75ae76d3473ad5df386f86fd6fd7bbf5e77bf5cf5cdf5e1ce37d3d7fd734d396b7ebc6fde74d7a6b4e9eedc75f7f6e9f7b8735f5ef1ce7df357b8f78d1edf5e366fbd5aebd6f6ebd7df75ef75d3c7f475fe35e1cdf8e1addf6ddf7a71c79d7f571a6f4e5defde3d735f5a75ef5bd5cd38ef9f36eb8734edcf356f5f3d7bd6bbf3a79aeddd34db56de6dfe1aef9e387ddd1eefcddc75ae777fc79cedbf38ddfe76db67bad9c7bad1ef3ae1fdf46f86ddefa73a7f9f38f1f6fa77d7f677a7dce7d77deb7f5fe36d1dddce5fe34efddbae1adf5f74eb77f4ef9ebcd7df35779e1cf1af5bedfe3775e6fcdfcdf9f1bd7be1ce9cf35e79df66bbdbadb5d367f9d5c7b5e7c73cddd7db75bdf9f776b46dd6da6b6e7ae367b473d77677473cf7c77d6f6d9cf5dd9ff7ce1a75df1be1ff7873ae9e71ee38e3579cef7778f5dd7dd1b75ee39d9e77d6f86b7eb7d77db877c6dbdf67da6fc69d7376b8f78e1edf86f6f3c7397f7db9e3ce79d7b7fb6fa71de7a6dcddce9a735779778df8f3de787b8d79dbb6b8d78f1be5d735df77396dcd3debaeb9736e5e7bcefa7f76f5ebde3de36e7b6b9e9af5f77a7b6e7ce3cdf7ddedf87346b86bdd7c71bd7af34d78df8e75db6f7def6f35e7cf79d7be3a7bae78df5ddb79ef3c7fceb7735e9f6dcd75f37734db9f1c7396dfeda69f6b773ae3a73ad9d7dcd1f73473addd6b7dbae38f766b47dfe7bd7cf7469e77bf79f5d69c6dd7bbe5fe1cd9ae75d5ce5be7af79df8ef8eba79dd5eedaeb9e7ddb671edbad1a7fcdf5df87b4f7c69bd9dd747fa73df5d7de6baedcf1b7b9ef7db8d1e6ba7fbe1c737e7bdfce1be1fd5e7bad3b7fcd7977879ef38eb5e1be3773473a734efae7ae5ddf56bbd3a79d69fd3be1de1e7f6d3bdf6ef5dbbf1dd39f1d6dfd9af3dd36f3d69af7d7dbeb6d9e7df71cefc7dcf7af1cf39db7db76f6db86fcd9f75beddef5e1bddfdbcd3473a7bdedd71f79af5de376dcd5cf36d9d775d75f78e9ff7aedb7bbd367797daef8d37f1dd3ce5cd1bf3871aedddf6f39dbaeddf346fd734d3bf35f3a6f6f35db9f5be767f86f9e3be9fdb8f77e3569ce76dbbdb57dadb8e1b7baf357377ba7fb6fcd9ff3bf5ff7af3ae34df677ae3bf5e736f75dbc77de7ce77e9eeba6dcf7979b7f6d77ebddbc6bbefae7aeb479dd3d79f77bedc79e7b7eb47f873cd35db8d74d9bf5cd3df3677c79bf7b7796db73cdb4e1d7b877bd3ae76db6d9c7dbdb7d9a7db735e7bdb9d1ad38d36dde6b87fd79ae9fe9de9f", - "signature": "0x8ae2dedca5f74829a9f051f6e1ec4f332935ef95cf7edb04bc78c1d3adaa5d0dcd9cec4f63d089a65074f7984a603fe915bb6d1f054875d31d309aaa9b5c17c6beb907795aae7e49c057fedfc94df422f6ab045f6af24e225be68bcf64934447", - "withdrawalCredentials": "0x0100000000000000000000004924655De95B84ea7c65f371f4608E3a0792fB21" - }, - "1685979242888": { - "depositDataRoot": "0x9640eaa64dc3dd41ba35e6cde60e5387fac76009686c1224095fb79ff1b762cf", - "publicKey": "0x85b74949834da901340a07346bc8f45c24c148203b3489cc0dfa7bee50e41af54d7e500b337029d16f8df3430748e62f", - "operatorIds": [ - 1, - 2, - 3, - 4 - ], - "shares": "0x00c098bfe49da7500f611d0a56869a5e40366561a3e06219a85f82b557d02a3809448dc9af4799e76608241a7c17ef2f6471a9181a0fc892032c5a37216a723bbb9c6e758c5ab8dd8f197a9c717f06828dd6bc5e3c085bf656a0db31505ed65fba95aaff04c78c8ff1fe21a97cf8e9c9e90c389c7f64b23296d37b71a310b6429a4d8c8a35e2eadb58ecdd4eff86ca9261eeb6f6bfea67d9d085085f0e51a298336cfe0def0bdcfb26e6d37c0b9003e11b6c252ecf6170eb9a35d8af485da296f627eb47356f6d1ce7a79c7b67f66b8e3cf3be5d6fde7cdfc6bde5ef36efce1df777b6e36f5ceddefbf3dd7befbf5eefb6f6db6dde7757def7875ddf5d9b6f4d79d3ae34e1f6fa7df73befcdb9f1a6fad5bdb77f77f4e5feb9d7aef6d34f3cedd77df3979f77a6fd75aedee39f367badb769adb6ebcd9de7a735735e5be5f734e3469b73cf1e7ded3bdbbeb7e34778d9ff1cdfb6b7f7c75d776f5df1adbcf3975de5ed7679f73ddbc75cefd6b9d9bf7cdbbeb87bd6fde5ddddf78efb79eef777de1cdf66b6e7d775edbeddefbd5e6b57bcddee5fe34f1d6b46f571bddae3a6f775ee5b79d779d1be7b79bd367bb779d77d5e69fe79d376f471ed786bddf87ba69bd1de36d35f3ce376daeb5f3ad39f7475c6dbd367b5d9de38f5a6b6f36d3cebb6f5ef57fceb9738edb7dedb86b4f7c6db7da73477ddb4ef5f39d75df571c69c7f4dfbefbd7d71bedbf5cf7969f7fd7366bae78e7575c775d7c7fce7de5ff36dde7f6e7c6bde3d7b8e38e5af3975e71bd786b6f796bcdf4e9fe5fe5ceb779ae5addbe3ceb6f1dd9fd5a7b6d1de7cd9e6df71edb8d5ce3de3979be5ae5e73c779f7bf1ef7875edb6e3969d71c7dff7a7767b6ef9d7ce5b6dedb7f3879b737f3bd38e75ef975df5a6dbd5ff3be1f7b6778e7cf7af7bd36e7a7df7356f46bddde7b97bb6dd7f9db8d79f77e7a735f3ad39df6d1b6b7e1b7f7eb6e5bebbf7ae7bdf8d5bf37e39736f787bcf38df475ed36dbd7ddef7eb6d7871ff5bf7bedae7cd9cf3a75ee39d396bbf7cd7defb6fb79cf787f96b4f756da73cd7ad7aeb7d766bd71a77c77b75d6f8ddbe75f5fe38d37f1a7ba79ceb6738d35f7ad3875de3877671ef5d79a7dc79c6ddf5d7757757b6ebae9ef1cddc6b7e36e5ff3d7f57deddde9de9a737ddeef7ef6e377f4f37e38edd6fc6dfe9dd9beb56bad1f6fbddc6f6e756b57b7f1fd74f5e6dbd5ce7cebad3dd5ce5ed1bd7c7bcf3a71ef3ad7de9ee34d7473bdfd6f8e3a71defa71ae7d7f76bc6ddd396b56bdf7679bf36f1ee38f5aebce1c6db6f6eb56b4e39e5a7f8dfc6da6fa6f473d6dbd1ddddf5df35d1c7f77de7b8d38eb5df86f97f9f1d79d75bd9de36e9b6f573bf35e9fd3b75dd39f776f7f77e7af7adfd77ad76e1f6bdf36d7573b69b79c7f6ebc73cef5dbce9c79ad3ce7b69d79f69fd77e37e3ae7de3c7fd79bf36df5f1ddb67dbf7575b6f869a7fb7dc73ddf9e5def971b7bbf1ad9be5ae9eebcd766f6ebae76f76dddede75fe7a71c7b8dbd7777b96dcdbd79f6b8dbdf3af5b77ce9a71ff34dbdebc7bb7de775e5dd386fb69de78e3ad5e7bcdfad5aeb67b87346faeb7e5ff7671ce366bbd77d1ed1dedaeb9d7cd3c77a7f67b8d356de6f5d5debdf7bd7de35e5f79a71e6f56ba7bcdf97fdd1a73ddb9e5d6b67fde9e6dbd7d71bf1de9ce7af5a6dbd5a6f6f3bd787ded3ce1f6fb7fd7b7ddef74d1fd79e36e5fedcdb8e5be7cd5af38dfcefdd5eeb5e5be9cdb87bc69fd9cd3d7dbedfe5de9deb5d1fdf6e9ed1c6b47bd774e356f5d79f7573c734e9dd9a6faeda77ae3bdb8f5bd1a7bbf7cdf9734f77f376b77b4e5d71debd71bdbcddbedfdbbf5cd766fbd1c7fbd75d1cdf9e5cdf96f4dbd79de3bdb5f7af39db57b5df977def7f5ef1bd3ddbc6b6d1aedeeb8dbcf1c69b69ae796f56daefbf1fdb6f38d5f7b5d9ee356b4f7bf5ed367f7f38ef8d1c73df1b6f7e9fd9a75fdb9f36f36f5ad9b75ee36db87f6e75778d74db569dd367b4f3af3869bdba7b86deddc7f7db773ce9fdf5f5fedeef5ddbe356fbd9bdb8ebae796b9e346dddfadf475c7fc75cef9efcf1be7b79b7f679ff78efbd77efbdf8d5edf56f6e9ee7879ae1cedff1df1aebde9b7daf5fedadfa73c7bcdda79f77a71feb4ef6ddfe1c7b971fdfbefae1df386f579de5bdbbf76e7ae9b71fdb771fe3c73ce1a777d5fedf6b6739e7b6bae9cd3d7b9d3c6b4d76f39f5dd1eebd7366b4f1bd9de1cd1adbb71f7df6fd7746b7ebaf5c738e776b7d9ff1ae79735e776f6ddee9b778d7cef8f35e36e37f1d6dbe747b9dbbf1cdb97f6d7ae1df1ff5ee34e74edad39dfddde73a779e1ae3a7b9eb4df6d34f3bd7c7dfd79ef9dbadfadb97dfef9ef9f75f3c7b6f5cd9ce9ae35ebdef66bb6f969bd5cedc7bcd36eda75b75e6f97fd71e6ddef6f39", - "signature": "0x8357bd71c6e965252c9f998fd61ca2add1a2488da52df1663d47f1509d57c330739a958d9fa76d902e25511828f3bb800bd15682eecddfe7f5b7966c48272eb93e82cf94825815d500ced5105d3d8998fa34c21bb1db891f0dffd8fc9305ca0e", - "withdrawalCredentials": "0x010000000000000000000000704ED6FCD0F7d507793a002d15aF970489701E60" - } -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a10362570..9d9fcf76a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -438,9 +438,9 @@ "integrity": "sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==" }, "node_modules/@aws-cdk/asset-node-proxy-agent-v5": { - "version": "2.0.165", - "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.165.tgz", - "integrity": "sha512-bsyLQD/vqXQcc9RDmlM1XqiFNO/yewgVFXmkMcQkndJbmE/jgYkzewwYGrBlfL725hGLQipXq19+jwWwdsXQqg==" + "version": "2.0.166", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.166.tgz", + "integrity": "sha512-j0xnccpUQHXJKPgCwQcGGNu4lRiC1PptYfdxBIH1L4dRK91iBxtSQHESRQX+yB47oGLaF/WfNN/aF3WXwlhikg==" }, "node_modules/@aws-cdk/aws-glue-alpha": { "version": "2.33.0-alpha.0", @@ -546,45 +546,45 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/client-athena": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.363.0.tgz", - "integrity": "sha512-jGfs6EfT3iOf5EP3Ulrpx93U9BX+DFequ2JCe7tcnc8kZLZNATKafVNU+kshbZJd+IYNDofz8a1YOpPF7cuU6w==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.370.0.tgz", + "integrity": "sha512-b9hqaNgvQlfW3mES3dpkuHLKfQ0GWoJMjV8fUVLHaM/HUtQkou/NuAEY5B6F2vqargsR8KLmRY37W0THnGXZ0Q==", "peer": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.363.0", - "@aws-sdk/credential-provider-node": "3.363.0", - "@aws-sdk/middleware-host-header": "3.363.0", - "@aws-sdk/middleware-logger": "3.363.0", - "@aws-sdk/middleware-recursion-detection": "3.363.0", - "@aws-sdk/middleware-signing": "3.363.0", - "@aws-sdk/middleware-user-agent": "3.363.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.363.0", - "@aws-sdk/util-user-agent-node": "3.363.0", + "@aws-sdk/client-sts": "3.370.0", + "@aws-sdk/credential-provider-node": "3.370.0", + "@aws-sdk/middleware-host-header": "3.370.0", + "@aws-sdk/middleware-logger": "3.370.0", + "@aws-sdk/middleware-recursion-detection": "3.370.0", + "@aws-sdk/middleware-signing": "3.370.0", + "@aws-sdk/middleware-user-agent": "3.370.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", + "@aws-sdk/util-user-agent-browser": "3.370.0", + "@aws-sdk/util-user-agent-node": "3.370.0", "@smithy/config-resolver": "^1.0.1", "@smithy/fetch-http-handler": "^1.0.1", "@smithy/hash-node": "^1.0.1", "@smithy/invalid-dependency": "^1.0.1", "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", + "@smithy/middleware-endpoint": "^1.0.2", + "@smithy/middleware-retry": "^1.0.3", "@smithy/middleware-serde": "^1.0.1", "@smithy/middleware-stack": "^1.0.1", "@smithy/node-config-provider": "^1.0.1", "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", + "@smithy/protocol-http": "^1.1.0", "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.1.0", "@smithy/url-parser": "^1.0.1", "@smithy/util-base64": "^1.0.1", "@smithy/util-body-length-browser": "^1.0.1", "@smithy/util-body-length-node": "^1.0.1", "@smithy/util-defaults-mode-browser": "^1.0.1", "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", + "@smithy/util-retry": "^1.0.3", "@smithy/util-utf8": "^1.0.1", "tslib": "^2.5.0", "uuid": "^8.3.2" @@ -594,44 +594,44 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.363.0.tgz", - "integrity": "sha512-tsJzgBSCpna85IVsuS7FBIK9wkSl7fs8TJ/QzapIgu8rKss0ySHVO6TeMVAdw2BvaQl7CxU9c3PosjhLWHu6KQ==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.370.0.tgz", + "integrity": "sha512-/dQFXT8y0WUD/731cdLjCrxNxH7Wtg2uZx7PggevTZs9Yr2fdGPSHehIYfvpCvi59yeG9T2Cl8sFnxXL1OEx4A==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.363.0", - "@aws-sdk/credential-provider-node": "3.363.0", - "@aws-sdk/middleware-host-header": "3.363.0", - "@aws-sdk/middleware-logger": "3.363.0", - "@aws-sdk/middleware-recursion-detection": "3.363.0", - "@aws-sdk/middleware-signing": "3.363.0", - "@aws-sdk/middleware-user-agent": "3.363.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.363.0", - "@aws-sdk/util-user-agent-node": "3.363.0", + "@aws-sdk/client-sts": "3.370.0", + "@aws-sdk/credential-provider-node": "3.370.0", + "@aws-sdk/middleware-host-header": "3.370.0", + "@aws-sdk/middleware-logger": "3.370.0", + "@aws-sdk/middleware-recursion-detection": "3.370.0", + "@aws-sdk/middleware-signing": "3.370.0", + "@aws-sdk/middleware-user-agent": "3.370.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", + "@aws-sdk/util-user-agent-browser": "3.370.0", + "@aws-sdk/util-user-agent-node": "3.370.0", "@smithy/config-resolver": "^1.0.1", "@smithy/fetch-http-handler": "^1.0.1", "@smithy/hash-node": "^1.0.1", "@smithy/invalid-dependency": "^1.0.1", "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", + "@smithy/middleware-endpoint": "^1.0.2", + "@smithy/middleware-retry": "^1.0.3", "@smithy/middleware-serde": "^1.0.1", "@smithy/middleware-stack": "^1.0.1", "@smithy/node-config-provider": "^1.0.1", "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", + "@smithy/protocol-http": "^1.1.0", "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.1.0", "@smithy/url-parser": "^1.0.1", "@smithy/util-base64": "^1.0.1", "@smithy/util-body-length-browser": "^1.0.1", "@smithy/util-body-length-node": "^1.0.1", "@smithy/util-defaults-mode-browser": "^1.0.1", "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", + "@smithy/util-retry": "^1.0.3", "@smithy/util-utf8": "^1.0.1", "tslib": "^2.5.0" }, @@ -640,44 +640,44 @@ } }, "node_modules/@aws-sdk/client-secrets-manager": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.363.0.tgz", - "integrity": "sha512-mHiNNPQtQ7dUPjp24pIeqR+/VwLXbkCdZue9RPrYNbVcfObNlwY18IQ9ACauHOmztapKwIAKDuVFI0Sc0MDhOw==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.370.0.tgz", + "integrity": "sha512-1o1mpWbI1RyzCQ4cVpHQJnm6PziAJ+ptLt4p+wlN74Z330/nnE0JkK3t9l3CxhPqCIW8VjGbTCno5IzwAXnjPw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.363.0", - "@aws-sdk/credential-provider-node": "3.363.0", - "@aws-sdk/middleware-host-header": "3.363.0", - "@aws-sdk/middleware-logger": "3.363.0", - "@aws-sdk/middleware-recursion-detection": "3.363.0", - "@aws-sdk/middleware-signing": "3.363.0", - "@aws-sdk/middleware-user-agent": "3.363.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.363.0", - "@aws-sdk/util-user-agent-node": "3.363.0", + "@aws-sdk/client-sts": "3.370.0", + "@aws-sdk/credential-provider-node": "3.370.0", + "@aws-sdk/middleware-host-header": "3.370.0", + "@aws-sdk/middleware-logger": "3.370.0", + "@aws-sdk/middleware-recursion-detection": "3.370.0", + "@aws-sdk/middleware-signing": "3.370.0", + "@aws-sdk/middleware-user-agent": "3.370.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", + "@aws-sdk/util-user-agent-browser": "3.370.0", + "@aws-sdk/util-user-agent-node": "3.370.0", "@smithy/config-resolver": "^1.0.1", "@smithy/fetch-http-handler": "^1.0.1", "@smithy/hash-node": "^1.0.1", "@smithy/invalid-dependency": "^1.0.1", "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", + "@smithy/middleware-endpoint": "^1.0.2", + "@smithy/middleware-retry": "^1.0.3", "@smithy/middleware-serde": "^1.0.1", "@smithy/middleware-stack": "^1.0.1", "@smithy/node-config-provider": "^1.0.1", "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", + "@smithy/protocol-http": "^1.1.0", "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.1.0", "@smithy/url-parser": "^1.0.1", "@smithy/util-base64": "^1.0.1", "@smithy/util-body-length-browser": "^1.0.1", "@smithy/util-body-length-node": "^1.0.1", "@smithy/util-defaults-mode-browser": "^1.0.1", "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", + "@smithy/util-retry": "^1.0.3", "@smithy/util-utf8": "^1.0.1", "tslib": "^2.5.0", "uuid": "^8.3.2" @@ -687,41 +687,41 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.363.0.tgz", - "integrity": "sha512-PZ+HfKSgS4hlMnJzG+Ev8/mgHd/b/ETlJWPSWjC/f2NwVoBQkBnqHjdyEx7QjF6nksJozcVh5Q+kkYLKc/QwBQ==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.370.0.tgz", + "integrity": "sha512-0Ty1iHuzNxMQtN7nahgkZr4Wcu1XvqGfrQniiGdKKif9jG/4elxsQPiydRuQpFqN6b+bg7wPP7crFP1uTxx2KQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.363.0", - "@aws-sdk/middleware-logger": "3.363.0", - "@aws-sdk/middleware-recursion-detection": "3.363.0", - "@aws-sdk/middleware-user-agent": "3.363.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.363.0", - "@aws-sdk/util-user-agent-node": "3.363.0", + "@aws-sdk/middleware-host-header": "3.370.0", + "@aws-sdk/middleware-logger": "3.370.0", + "@aws-sdk/middleware-recursion-detection": "3.370.0", + "@aws-sdk/middleware-user-agent": "3.370.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", + "@aws-sdk/util-user-agent-browser": "3.370.0", + "@aws-sdk/util-user-agent-node": "3.370.0", "@smithy/config-resolver": "^1.0.1", "@smithy/fetch-http-handler": "^1.0.1", "@smithy/hash-node": "^1.0.1", "@smithy/invalid-dependency": "^1.0.1", "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", + "@smithy/middleware-endpoint": "^1.0.2", + "@smithy/middleware-retry": "^1.0.3", "@smithy/middleware-serde": "^1.0.1", "@smithy/middleware-stack": "^1.0.1", "@smithy/node-config-provider": "^1.0.1", "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", + "@smithy/protocol-http": "^1.1.0", "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.1.0", "@smithy/url-parser": "^1.0.1", "@smithy/util-base64": "^1.0.1", "@smithy/util-body-length-browser": "^1.0.1", "@smithy/util-body-length-node": "^1.0.1", "@smithy/util-defaults-mode-browser": "^1.0.1", "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", + "@smithy/util-retry": "^1.0.3", "@smithy/util-utf8": "^1.0.1", "tslib": "^2.5.0" }, @@ -730,41 +730,41 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.363.0.tgz", - "integrity": "sha512-V3Ebiq/zNtDS/O92HUWGBa7MY59RYSsqWd+E0XrXv6VYTA00RlMTbNcseivNgp2UghOgB9a20Nkz6EqAeIN+RQ==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.370.0.tgz", + "integrity": "sha512-jAYOO74lmVXylQylqkPrjLzxvUnMKw476JCUTvCO6Q8nv3LzCWd76Ihgv/m9Q4M2Tbqi1iP2roVK5bstsXzEjA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.363.0", - "@aws-sdk/middleware-logger": "3.363.0", - "@aws-sdk/middleware-recursion-detection": "3.363.0", - "@aws-sdk/middleware-user-agent": "3.363.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.363.0", - "@aws-sdk/util-user-agent-node": "3.363.0", + "@aws-sdk/middleware-host-header": "3.370.0", + "@aws-sdk/middleware-logger": "3.370.0", + "@aws-sdk/middleware-recursion-detection": "3.370.0", + "@aws-sdk/middleware-user-agent": "3.370.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", + "@aws-sdk/util-user-agent-browser": "3.370.0", + "@aws-sdk/util-user-agent-node": "3.370.0", "@smithy/config-resolver": "^1.0.1", "@smithy/fetch-http-handler": "^1.0.1", "@smithy/hash-node": "^1.0.1", "@smithy/invalid-dependency": "^1.0.1", "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", + "@smithy/middleware-endpoint": "^1.0.2", + "@smithy/middleware-retry": "^1.0.3", "@smithy/middleware-serde": "^1.0.1", "@smithy/middleware-stack": "^1.0.1", "@smithy/node-config-provider": "^1.0.1", "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", + "@smithy/protocol-http": "^1.1.0", "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.1.0", "@smithy/url-parser": "^1.0.1", "@smithy/util-base64": "^1.0.1", "@smithy/util-body-length-browser": "^1.0.1", "@smithy/util-body-length-node": "^1.0.1", "@smithy/util-defaults-mode-browser": "^1.0.1", "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", + "@smithy/util-retry": "^1.0.3", "@smithy/util-utf8": "^1.0.1", "tslib": "^2.5.0" }, @@ -773,36 +773,36 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.363.0.tgz", - "integrity": "sha512-0jj14WvBPJQ8xr72cL0mhlmQ90tF0O0wqXwSbtog6PsC8+KDE6Yf+WsxsumyI8E5O8u3eYijBL+KdqG07F/y/w==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.370.0.tgz", + "integrity": "sha512-utFxOPWIzbN+3kc415Je2o4J72hOLNhgR2Gt5EnRSggC3yOnkC4GzauxG8n7n5gZGBX45eyubHyPOXLOIyoqQA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.363.0", - "@aws-sdk/middleware-host-header": "3.363.0", - "@aws-sdk/middleware-logger": "3.363.0", - "@aws-sdk/middleware-recursion-detection": "3.363.0", - "@aws-sdk/middleware-sdk-sts": "3.363.0", - "@aws-sdk/middleware-signing": "3.363.0", - "@aws-sdk/middleware-user-agent": "3.363.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.363.0", - "@aws-sdk/util-user-agent-node": "3.363.0", + "@aws-sdk/credential-provider-node": "3.370.0", + "@aws-sdk/middleware-host-header": "3.370.0", + "@aws-sdk/middleware-logger": "3.370.0", + "@aws-sdk/middleware-recursion-detection": "3.370.0", + "@aws-sdk/middleware-sdk-sts": "3.370.0", + "@aws-sdk/middleware-signing": "3.370.0", + "@aws-sdk/middleware-user-agent": "3.370.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", + "@aws-sdk/util-user-agent-browser": "3.370.0", + "@aws-sdk/util-user-agent-node": "3.370.0", "@smithy/config-resolver": "^1.0.1", "@smithy/fetch-http-handler": "^1.0.1", "@smithy/hash-node": "^1.0.1", "@smithy/invalid-dependency": "^1.0.1", "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.1", + "@smithy/middleware-endpoint": "^1.0.2", + "@smithy/middleware-retry": "^1.0.3", "@smithy/middleware-serde": "^1.0.1", "@smithy/middleware-stack": "^1.0.1", "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.1", + "@smithy/node-http-handler": "^1.0.2", "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.2", + "@smithy/smithy-client": "^1.0.3", "@smithy/types": "^1.1.0", "@smithy/url-parser": "^1.0.1", "@smithy/util-base64": "^1.0.1", @@ -810,7 +810,7 @@ "@smithy/util-body-length-node": "^1.0.1", "@smithy/util-defaults-mode-browser": "^1.0.1", "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.1", + "@smithy/util-retry": "^1.0.3", "@smithy/util-utf8": "^1.0.1", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" @@ -820,12 +820,12 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.363.0.tgz", - "integrity": "sha512-5x42JvqEsBUrm6/qdf0WWe4mlmJjPItxamQhRjuOzeQD/BxsA2W5VS/7n0Ws0e27DNhlnUErcIJd+bBy6j1fqA==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.370.0.tgz", + "integrity": "sha512-OjNAN72+QoyJAmOayi47AlFzpQc4E59LWRE2GKgH0F1pEgr3t34T0/EHusCoxUjOz5mRRXrKjNlHVC7ezOFEcg==", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.363.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/client-cognito-identity": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -835,11 +835,11 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.363.0.tgz", - "integrity": "sha512-VAQ3zITT2Q0acht0HezouYnMFKZ2vIOa20X4zQA3WI0HfaP4D6ga6KaenbDcb/4VFiqfqiRHfdyXHP0ThcDRMA==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.370.0.tgz", + "integrity": "sha512-raR3yP/4GGbKFRPP5hUBNkEmTnzxI9mEc2vJAJrcv4G4J4i/UP6ELiLInQ5eO2/VcV/CeKGZA3t7d1tsJ+jhCg==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -849,15 +849,15 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.363.0.tgz", - "integrity": "sha512-ZYN+INoqyX5FVC3rqUxB6O8nOWkr0gHRRBm1suoOlmuFJ/WSlW/uUGthRBY5x1AQQnBF8cpdlxZzGHd41lFVNw==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.363.0", - "@aws-sdk/credential-provider-process": "3.363.0", - "@aws-sdk/credential-provider-sso": "3.363.0", - "@aws-sdk/credential-provider-web-identity": "3.363.0", - "@aws-sdk/types": "3.357.0", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.370.0.tgz", + "integrity": "sha512-eJyapFKa4NrC9RfTgxlXnXfS9InG/QMEUPPVL+VhG7YS6nKqetC1digOYgivnEeu+XSKE0DJ7uZuXujN2Y7VAQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.370.0", + "@aws-sdk/credential-provider-process": "3.370.0", + "@aws-sdk/credential-provider-sso": "3.370.0", + "@aws-sdk/credential-provider-web-identity": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/credential-provider-imds": "^1.0.1", "@smithy/property-provider": "^1.0.1", "@smithy/shared-ini-file-loader": "^1.0.1", @@ -869,16 +869,16 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.363.0.tgz", - "integrity": "sha512-C1qXFIN2yMxD6pGgug0vR1UhScOki6VqdzuBHzXZAGu7MOjvgHNdscEcb3CpWnITHaPL2ztkiw75T1sZ7oIgQg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.363.0", - "@aws-sdk/credential-provider-ini": "3.363.0", - "@aws-sdk/credential-provider-process": "3.363.0", - "@aws-sdk/credential-provider-sso": "3.363.0", - "@aws-sdk/credential-provider-web-identity": "3.363.0", - "@aws-sdk/types": "3.357.0", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.370.0.tgz", + "integrity": "sha512-gkFiotBFKE4Fcn8CzQnMeab9TAR06FEAD02T4ZRYW1xGrBJOowmje9dKqdwQFHSPgnWAP+8HoTA8iwbhTLvjNA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.370.0", + "@aws-sdk/credential-provider-ini": "3.370.0", + "@aws-sdk/credential-provider-process": "3.370.0", + "@aws-sdk/credential-provider-sso": "3.370.0", + "@aws-sdk/credential-provider-web-identity": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/credential-provider-imds": "^1.0.1", "@smithy/property-provider": "^1.0.1", "@smithy/shared-ini-file-loader": "^1.0.1", @@ -890,11 +890,11 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.363.0.tgz", - "integrity": "sha512-fOKAINU7Rtj2T8pP13GdCt+u0Ml3gYynp8ki+1jMZIQ+Ju/MdDOqZpKMFKicMn3Z1ttUOgqr+grUdus6z8ceBQ==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.370.0.tgz", + "integrity": "sha512-0BKFFZmUO779Xdw3u7wWnoWhYA4zygxJbgGVSyjkOGBvdkbPSTTcdwT1KFkaQy2kOXYeZPl+usVVRXs+ph4ejg==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/shared-ini-file-loader": "^1.0.1", "@smithy/types": "^1.1.0", @@ -905,13 +905,13 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.363.0.tgz", - "integrity": "sha512-5RUZ5oM0lwZSo3EehT0dXggOjgtxFogpT3cZvoLGtIwrPBvm8jOQPXQUlaqCj10ThF1sYltEyukz/ovtDwYGew==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.370.0.tgz", + "integrity": "sha512-PFroYm5hcPSfC/jkZnCI34QFL3I7WVKveVk6/F3fud/cnP8hp6YjA9NiTNbqdFSzsyoiN/+e5fZgNKih8vVPTA==", "dependencies": { - "@aws-sdk/client-sso": "3.363.0", - "@aws-sdk/token-providers": "3.363.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/client-sso": "3.370.0", + "@aws-sdk/token-providers": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/shared-ini-file-loader": "^1.0.1", "@smithy/types": "^1.1.0", @@ -922,11 +922,11 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.363.0.tgz", - "integrity": "sha512-Z6w7fjgy79pAax580wdixbStQw10xfyZ+hOYLcPudoYFKjoNx0NQBejg5SwBzCF/HQL23Ksm9kDfbXDX9fkPhA==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.370.0.tgz", + "integrity": "sha512-CFaBMLRudwhjv1sDzybNV93IaT85IwS+L8Wq6VRMa0mro1q9rrWsIZO811eF+k0NEPfgU1dLH+8Vc2qhw4SARQ==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -936,21 +936,21 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.363.0.tgz", - "integrity": "sha512-hVa1DdYasnLud2EKjDAlDHiV/+H/Zq52chHU00c/R8XwPu1s0kZX3NMmlt0D2HhYqC1mUwtdmE58Jra2POviQQ==", - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.363.0", - "@aws-sdk/client-sso": "3.363.0", - "@aws-sdk/client-sts": "3.363.0", - "@aws-sdk/credential-provider-cognito-identity": "3.363.0", - "@aws-sdk/credential-provider-env": "3.363.0", - "@aws-sdk/credential-provider-ini": "3.363.0", - "@aws-sdk/credential-provider-node": "3.363.0", - "@aws-sdk/credential-provider-process": "3.363.0", - "@aws-sdk/credential-provider-sso": "3.363.0", - "@aws-sdk/credential-provider-web-identity": "3.363.0", - "@aws-sdk/types": "3.357.0", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.370.0.tgz", + "integrity": "sha512-K5yUHJPB2QJKWzKoz1YCE2xJDvYL6bvCRyoT0mRPWbITrDjFuWxbe1QXWcMymwQIyzOITAnZq5fvj456KhPATg==", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.370.0", + "@aws-sdk/client-sso": "3.370.0", + "@aws-sdk/client-sts": "3.370.0", + "@aws-sdk/credential-provider-cognito-identity": "3.370.0", + "@aws-sdk/credential-provider-env": "3.370.0", + "@aws-sdk/credential-provider-ini": "3.370.0", + "@aws-sdk/credential-provider-node": "3.370.0", + "@aws-sdk/credential-provider-process": "3.370.0", + "@aws-sdk/credential-provider-sso": "3.370.0", + "@aws-sdk/credential-provider-web-identity": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/credential-provider-imds": "^1.0.1", "@smithy/property-provider": "^1.0.1", "@smithy/types": "^1.1.0", @@ -961,11 +961,11 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.363.0.tgz", - "integrity": "sha512-FobpclDCf5Y1ueyJDmb9MqguAdPssNMlnqWQpujhYVABq69KHu73fSCWSauFPUrw7YOpV8kG1uagDF0POSxHzA==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.370.0.tgz", + "integrity": "sha512-CPXOm/TnOFC7KyXcJglICC7OiA7Kj6mT3ChvEijr56TFOueNHvJdV4aNIFEQy0vGHOWtY12qOWLNto/wYR1BAQ==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/protocol-http": "^1.1.0", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -975,11 +975,11 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.363.0.tgz", - "integrity": "sha512-SSGgthScYnFGTOw8EzbkvquqweFmvn7uJihkpFekbtBNGC/jGOGO+8ziHjTQ8t/iI/YKubEwv+LMi0f77HKSEg==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.370.0.tgz", + "integrity": "sha512-cQMq9SaZ/ORmTJPCT6VzMML7OxFdQzNkhMAgKpTDl+tdPWynlHF29E5xGoSzROnThHlQPCjogU0NZ8AxI0SWPA==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" }, @@ -988,11 +988,11 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.363.0.tgz", - "integrity": "sha512-MWD/57QgI/N7fG8rtzDTUdSqNpYohQfgj9XCFAoVeI/bU4usrkOrew43L4smJG4XrDxlNT8lSJlDtd64tuiUZA==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.370.0.tgz", + "integrity": "sha512-L7ZF/w0lAAY/GK1khT8VdoU0XB7nWHk51rl/ecAg64J70dHnMOAg8n+5FZ9fBu/xH1FwUlHOkwlodJOgzLJjtg==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/protocol-http": "^1.1.0", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -1002,12 +1002,12 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.363.0.tgz", - "integrity": "sha512-1yy2Ac50FO8BrODaw5bPWvVrRhaVLqXTFH6iHB+dJLPUkwtY5zLM3Mp+9Ilm7kME+r7oIB1wuO6ZB1Lf4ZszIw==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.370.0.tgz", + "integrity": "sha512-ykbsoVy0AJtVbuhAlTAMcaz/tCE3pT8nAp0L7CQQxSoanRCvOux7au0KwMIQVhxgnYid4dWVF6d00SkqU5MXRA==", "dependencies": { - "@aws-sdk/middleware-signing": "3.363.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/middleware-signing": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" }, @@ -1016,11 +1016,11 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.363.0.tgz", - "integrity": "sha512-/7qia715pt9JKYIPDGu22WmdZxD8cfF/5xB+1kmILg7ZtjO0pPuTaCNJ7xiIuFd7Dn7JXp5lop08anX/GOhNRQ==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.370.0.tgz", + "integrity": "sha512-Dwr/RTCWOXdm394wCwICGT2VNOTMRe4IGPsBRJAsM24pm+EEqQzSS3Xu/U/zF4exuxqpMta4wec4QpSarPNTxA==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/protocol-http": "^1.1.0", "@smithy/signature-v4": "^1.0.1", @@ -1033,12 +1033,12 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.363.0.tgz", - "integrity": "sha512-ri8YaQvXP6odteVTMfxPqFR26Q0h9ejtqhUDv47P34FaKXedEM4nC6ix6o+5FEYj6l8syGyktftZ5O70NoEhug==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.370.0.tgz", + "integrity": "sha512-2+3SB6MtMAq1+gVXhw0Y3ONXuljorh6ijnxgTpv+uQnBW5jHCUiAS8WDYiDEm7i9euJPbvJfM8WUrSMDMU6Cog==", "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/types": "3.370.0", + "@aws-sdk/util-endpoints": "3.370.0", "@smithy/protocol-http": "^1.1.0", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -1048,12 +1048,12 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.363.0.tgz", - "integrity": "sha512-6+0aJ1zugNgsMmhTtW2LBWxOVSaXCUk2q3xyTchSXkNzallYaRiZMRkieW+pKNntnu0g5H1T0zyfCO0tbXwxEA==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.370.0.tgz", + "integrity": "sha512-EyR2ZYr+lJeRiZU2/eLR+mlYU9RXLQvNyGFSAekJKgN13Rpq/h0syzXVFLP/RSod/oZenh/fhVZ2HwlZxuGBtQ==", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.363.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/client-sso-oidc": "3.370.0", + "@aws-sdk/types": "3.370.0", "@smithy/property-provider": "^1.0.1", "@smithy/shared-ini-file-loader": "^1.0.1", "@smithy/types": "^1.1.0", @@ -1064,10 +1064,11 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", - "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", + "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", "dependencies": { + "@smithy/types": "^1.1.0", "tslib": "^2.5.0" }, "engines": { @@ -1075,11 +1076,11 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.357.0.tgz", - "integrity": "sha512-XHKyS5JClT9su9hDif715jpZiWHQF9gKZXER8tW0gOizU3R9cyWc9EsJ2BRhFNhi7nt/JF/CLUEc5qDx3ETbUw==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.370.0.tgz", + "integrity": "sha512-5ltVAnM79nRlywwzZN5i8Jp4tk245OCGkKwwXbnDU+gq7zT3CIOsct1wNZvmpfZEPGt/bv7/NyRcjP+7XNsX/g==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "tslib": "^2.5.0" }, "engines": { @@ -1098,22 +1099,22 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.363.0.tgz", - "integrity": "sha512-fk9ymBUIYbxiGm99Cn+kAAXmvMCWTf/cHAcB79oCXV4ELXdPa9lN5xQhZRFNxLUeXG4OAMEuCAUUuZEj8Fnc1Q==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.370.0.tgz", + "integrity": "sha512-028LxYZMQ0DANKhW+AKFQslkScZUeYlPmSphrCIXgdIItRZh6ZJHGzE7J/jDsEntZOrZJsjI4z0zZ5W2idj04w==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/types": "^1.1.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.363.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.363.0.tgz", - "integrity": "sha512-Fli/dvgGA9hdnQUrYb1//wNSFlK2jAfdJcfNXA6SeBYzSeH5pVGYF4kXF0FCdnMA3Fef+Zn1zAP/hw9v8VJHWQ==", + "version": "3.370.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.370.0.tgz", + "integrity": "sha512-33vxZUp8vxTT/DGYIR3PivQm07sSRGWI+4fCv63Rt7Q++fO24E0kQtmVAlikRY810I10poD6rwILVtITtFSzkg==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.370.0", "@smithy/node-config-provider": "^1.0.1", "@smithy/types": "^1.1.0", "tslib": "^2.5.0" @@ -1150,33 +1151,33 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", - "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", "@babel/helpers": "^7.22.6", "@babel/parser": "^7.22.7", "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1191,10 +1192,18 @@ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", - "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dependencies": { "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", @@ -1206,15 +1215,15 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "dependencies": { - "@babel/compat-data": "^7.22.6", + "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1223,10 +1232,18 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz", - "integrity": "sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -1235,7 +1252,7 @@ "resolve": "^1.14.2" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-environment-visitor": { @@ -1281,21 +1298,21 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-plugin-utils": { @@ -1631,16 +1648,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.7.tgz", - "integrity": "sha512-o02xM7iY7mSPI+TvaYDH0aYl+lg3+KT7qrD705JlsB/GrZSNaYO/4i+aDFKPiJ7ubq3hgv8NNLCdyB5MFxT8mg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", + "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", "dependencies": { "@babel/helper-module-imports": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "babel-plugin-polyfill-corejs2": "^0.4.4", "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1" + "babel-plugin-polyfill-regenerator": "^0.5.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1649,6 +1666,14 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/runtime": { "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", @@ -2244,9 +2269,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.1.tgz", + "integrity": "sha512-O7x6dMstWLn2ktjcoiNLDkAGG2EjveHL+Vvc+n0fXumkJYAcSqcVYKtwDU+hDZ0uDUsnUagSYaZrOLAYE8un1A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -3543,19 +3568,19 @@ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, "node_modules/@ledgerhq/cryptoassets": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-9.9.0.tgz", - "integrity": "sha512-6EHeYQ29Dmxu9MJda4RSkK3mJHYEdSZazLIzEEl5rkO8IFRE3K1n5swYRpFud0hBr0SIzllxjAzBO3wA3R+vUg==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-9.10.0.tgz", + "integrity": "sha512-wkhHR8x4yMLHEa/oINIQYJ0iPyJJXZiOT7hVGzMAMVGrCR40Q9rQ1SHHYNl2vjQSS4xvhxePwfq7hWXuLUTX6Q==", "dependencies": { "invariant": "2" } }, "node_modules/@ledgerhq/devices": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-8.0.4.tgz", - "integrity": "sha512-dxOiWZmtEv1tgw70+rW8gviCRZUeGDUnxY6HUPiRqTAc0Ts2AXxiJChgAsPvIywWTGW+S67Nxq1oTZdpRbdt+A==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-8.0.5.tgz", + "integrity": "sha512-Cy4LOfcYhYGWLd2nRA/CY/AneJT+Q3RyNwzoRx28gqAN21vF3+IZtL0jqs1n78rZ2bTEHyBS1GMOX13s5Y+O4g==", "dependencies": { - "@ledgerhq/errors": "^6.12.7", + "@ledgerhq/errors": "^6.13.0", "@ledgerhq/logs": "^6.10.1", "rxjs": "6", "semver": "^7.3.5" @@ -3578,14 +3603,14 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@ledgerhq/domain-service": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@ledgerhq/domain-service/-/domain-service-1.1.5.tgz", - "integrity": "sha512-hUJzLDXBQ06nJW10Ebz/3Zzpg1h9jcVDmrj+nqVtIBjFdc+iuXx24BxssfvZQ71rZ1xQOO7/tVK3XOfkyzkDMQ==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@ledgerhq/domain-service/-/domain-service-1.1.6.tgz", + "integrity": "sha512-0k6UsBJk8rKm8hWiKBmFmGxeiFl2m7Y6Pwjp6dyB/ccWcGVESXPN7GtxDDp45n8bFALgHwiRU+W/t5w8JeYe+w==", "dependencies": { - "@ledgerhq/cryptoassets": "^9.9.0", - "@ledgerhq/errors": "^6.12.7", + "@ledgerhq/cryptoassets": "^9.10.0", + "@ledgerhq/errors": "^6.13.0", "@ledgerhq/logs": "^6.10.1", - "@ledgerhq/types-live": "^6.36.0", + "@ledgerhq/types-live": "^6.37.0", "axios": "^1.3.4", "eip55": "^2.1.1", "react": "^17.0.2", @@ -3593,9 +3618,21 @@ } }, "node_modules/@ledgerhq/errors": { - "version": "6.12.7", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.12.7.tgz", - "integrity": "sha512-1BpjzFErPK7qPFx0oItcX0mNLJMplVAm2Dpl5urZlubewnTyyw5sahIBjU+8LLCWJ2eGEh/0wyvh0jMtR0n2Mg==" + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.13.0.tgz", + "integrity": "sha512-cMFNX2AN6Gdj4RVIizI/7vWb+JYRu5na0rQSjybf7xGW5MSVdFVRcOg90VvqnDRsNfgFBbJzhpf7o4D7S3yFgg==" + }, + "node_modules/@ledgerhq/evm-tools": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/evm-tools/-/evm-tools-1.0.1.tgz", + "integrity": "sha512-R/6fHHpkqBC5sDlQ7X+rmCG517UEuz41omlmkxrh5ugTOYOrrl2E/+Xp2jc4crJArpFR92oMIjw+jMvjSolG7g==", + "dependencies": { + "@ledgerhq/cryptoassets": "^9.10.0", + "@ledgerhq/live-env": "^0.4.0", + "@ledgerhq/live-network": "^1.1.3", + "crypto-js": "4.1.1", + "ethers": "5.7.2" + } }, "node_modules/@ledgerhq/hw-app-btc": { "version": "9.1.3", @@ -3617,50 +3654,121 @@ } }, "node_modules/@ledgerhq/hw-app-eth": { - "version": "6.33.7", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.33.7.tgz", - "integrity": "sha512-n9IwUBvW/HHMgSz6BdBeIcHVc+zUp7/RQF8Sbkiv8x3XmQSflAma9DG9pccHa9tIi8GMpxxg0JwZcvic/rSkog==", + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-6.34.0.tgz", + "integrity": "sha512-XaucfpnQUncYguR+IZFc8t55aK/ge8rvfs+vACarTB3k1luWG5atzMPdLqWPOI2GFrApT1Cg1gPxo0+KVG6CVA==", "dependencies": { "@ethersproject/abi": "^5.5.0", "@ethersproject/rlp": "^5.5.0", - "@ledgerhq/cryptoassets": "^9.9.0", - "@ledgerhq/domain-service": "^1.1.5", - "@ledgerhq/errors": "^6.12.7", - "@ledgerhq/hw-transport": "^6.28.5", - "@ledgerhq/hw-transport-mocker": "^6.27.16", + "@ledgerhq/cryptoassets": "^9.10.0", + "@ledgerhq/domain-service": "^1.1.6", + "@ledgerhq/errors": "^6.13.0", + "@ledgerhq/evm-tools": "^1.0.1", + "@ledgerhq/hw-transport": "^6.28.6", + "@ledgerhq/hw-transport-mocker": "^6.27.17", "@ledgerhq/logs": "^6.10.1", + "@ledgerhq/types-live": "^6.37.0", "axios": "^1.3.4", - "bignumber.js": "^9.1.0", - "crypto-js": "^4.1.1" + "bignumber.js": "^9.1.0" } }, "node_modules/@ledgerhq/hw-transport": { - "version": "6.28.5", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.28.5.tgz", - "integrity": "sha512-xmw5RhYbqExBBqTvOnOjN/RYNIGMBxFJ+zcYNfkfw/E+uEY3L7xq8Z7sC/n7URTT6xtEctElqduBJnBQE4OQtw==", + "version": "6.28.6", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.28.6.tgz", + "integrity": "sha512-0VVB4jIG6ZTRtHusI5kO2jPcc1yFQ+iIcNKiTaaBHytsdGjTfhipje+W4vxo+nCdOKdrkOqB80GwykmKuNNXyA==", "dependencies": { - "@ledgerhq/devices": "^8.0.4", - "@ledgerhq/errors": "^6.12.7", + "@ledgerhq/devices": "^8.0.5", + "@ledgerhq/errors": "^6.13.0", "events": "^3.3.0" } }, "node_modules/@ledgerhq/hw-transport-mocker": { - "version": "6.27.16", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.27.16.tgz", - "integrity": "sha512-Il5ilAULsNSE5Wa8qG+Da+LcK61czU1pq8wrRjSd6rLbK0zLPOF2mUgMW1iwMgkdICGFLA0KUz2wouoVjQPqaw==", + "version": "6.27.17", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.27.17.tgz", + "integrity": "sha512-3Txf9sKEeuSn71M9U69cCoowxhC94Dt5CuHkkykw0A3FUvwnxjF8Jl7j4TzcO1ktwzzEOh9xZ54Vtm502iJG0g==", "dependencies": { - "@ledgerhq/hw-transport": "^6.28.5", + "@ledgerhq/hw-transport": "^6.28.6", "@ledgerhq/logs": "^6.10.1" } }, "node_modules/@ledgerhq/hw-transport-webusb": { - "version": "6.27.16", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.16.tgz", - "integrity": "sha512-A3S2p5Rh9Ot402pWNZw8v5EpO3wOHP8ch/Dcz0AjInmwNouQ9nIYd1+eLSL7QiyG9X7+tuHxFF1IjrEgvAzQuQ==", + "version": "6.27.17", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.17.tgz", + "integrity": "sha512-HRh3PWwAHqfuibAif15H2X5ZbH8nNisDX49IxBoexBz/fM5ivP95kZZQsXLxzPxey5ima49B7AjWY3LyGBytqA==", + "dependencies": { + "@ledgerhq/devices": "^8.0.5", + "@ledgerhq/errors": "^6.13.0", + "@ledgerhq/hw-transport": "^6.28.6", + "@ledgerhq/logs": "^6.10.1" + } + }, + "node_modules/@ledgerhq/live-env": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/live-env/-/live-env-0.4.0.tgz", + "integrity": "sha512-vWceXcs+knV80hWwPhNbWS2iMzlEczOecK9DpR/JGQw3Vf/M1ezshTZB6HTv5WuiVPk+PZwMkKAKKjzBSyPUjg==", + "dependencies": { + "lodash": "^4.17.21", + "rxjs": "^6.6.7", + "utility-types": "^3.10.0" + } + }, + "node_modules/@ledgerhq/live-env/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@ledgerhq/live-env/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@ledgerhq/live-network": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@ledgerhq/live-network/-/live-network-1.1.3.tgz", + "integrity": "sha512-E7SFXpru3ij9HRJutQox1qnTYCkirmaGNBccTSpfrk/BMIAuDuKfomVKBNJ2qQRD8SS/cTMUOmf86//I8ozH3g==", + "dependencies": { + "@ledgerhq/errors": "^6.13.0", + "@ledgerhq/live-env": "^0.4.0", + "@ledgerhq/live-promise": "^0.0.1", + "@ledgerhq/logs": "^6.10.1", + "@types/node": "^20.2.5", + "axios": "0.26.1", + "invariant": "^2.2.2", + "lru-cache": "^7.14.1" + } + }, + "node_modules/@ledgerhq/live-network/node_modules/@types/node": { + "version": "20.4.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.4.tgz", + "integrity": "sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==" + }, + "node_modules/@ledgerhq/live-network/node_modules/axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, + "node_modules/@ledgerhq/live-network/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@ledgerhq/live-promise": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/live-promise/-/live-promise-0.0.1.tgz", + "integrity": "sha512-R8sSYUuulsQ8Kd/TNNh0pB8XK1kJQAmSwNKyoU+T++c0X7jwbBv7R6/SphJg9Ts8dtHWyxHaxm9jkDBUVXpm2Q==", "dependencies": { - "@ledgerhq/devices": "^8.0.4", - "@ledgerhq/errors": "^6.12.7", - "@ledgerhq/hw-transport": "^6.28.5", "@ledgerhq/logs": "^6.10.1" } }, @@ -3670,9 +3778,9 @@ "integrity": "sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w==" }, "node_modules/@ledgerhq/types-live": { - "version": "6.36.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/types-live/-/types-live-6.36.0.tgz", - "integrity": "sha512-bXh8bcjk3aTypDBi9Okkt3NAih8fISzU6gFB2UK+I0Ida/gls8x0H/wI4DmO02Lrqx04GcAOCZ5ty1/VVNYtAA==", + "version": "6.37.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/types-live/-/types-live-6.37.0.tgz", + "integrity": "sha512-cEq4Wt5RpFN5rMCVuyv4HmkBV4W3/CQyitQq+3ebjFm/rTb3gAIiQjPPRwT6C9TDCXr5KYqSM9A1Mho38HItZg==", "dependencies": { "bignumber.js": "^9.1.0", "rxjs": "6" @@ -3745,14 +3853,6 @@ "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" }, - "node_modules/@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@noble/curves": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", @@ -4356,9 +4456,9 @@ } }, "node_modules/@nomiclabs/hardhat-etherscan/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -4564,27 +4664,18 @@ "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" }, "node_modules/@openzeppelin/defender-base-client": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/defender-base-client/-/defender-base-client-1.46.0.tgz", - "integrity": "sha512-EMnVBcfE6ZN5yMxfaxrFF3eqyGp2RQp3oSRSRP+R3yuCRJf8VCc2ArdZf1QPmQQzbq70nl8EZa03mmAqPauNlQ==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/defender-base-client/-/defender-base-client-1.47.0.tgz", + "integrity": "sha512-y9dDm+gX0MHHEn17W7f7oO3X083JAVMk3YcuXHavSE7kjiCLoFOaZ23joYqoHeaccL10nGt7KOOzZ0sh9iJHTQ==", "dev": true, "dependencies": { "amazon-cognito-identity-js": "^6.0.1", "async-retry": "^1.3.3", - "axios": "^0.21.2", + "axios": "^1.4.0", "lodash": "^4.17.19", "node-fetch": "^2.6.0" } }, - "node_modules/@openzeppelin/defender-base-client/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, "node_modules/@openzeppelin/hardhat-upgrades": { "version": "1.28.0", "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.28.0.tgz", @@ -4636,14 +4727,14 @@ } }, "node_modules/@openzeppelin/upgrades-core": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.27.1.tgz", - "integrity": "sha512-6tLcu6jt0nYdJNr+LRicBgP3jp+//B+dixgB3KsvycSglCHNfmBNDf0ZQ3ZquDdLL0QQmKzIs1EBRVp6lNvPnQ==", + "version": "1.27.3", + "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.27.3.tgz", + "integrity": "sha512-IqlSMUkno1XKF4L46aUqZ4BqHxj4dF0BRGrFcKeG2Q0vrsKoazhY67JG9bO+wMYG4zxl6jgmG0bd5ef9HLcLmw==", "dev": true, "dependencies": { "cbor": "^8.0.0", "chalk": "^4.1.0", - "compare-versions": "^5.0.0", + "compare-versions": "^6.0.0", "debug": "^4.1.1", "ethereumjs-util": "^7.0.3", "minimist": "^1.2.7", @@ -5024,9 +5115,9 @@ "dev": true }, "node_modules/@sindresorhus/is": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.1.tgz", - "integrity": "sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, "engines": { "node": ">=14.16" @@ -6127,9 +6218,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.2.tgz", - "integrity": "sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==", + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -6427,15 +6518,15 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.61.0.tgz", - "integrity": "sha512-A5l/eUAug103qtkwccSCxn8ZRwT+7RXWkFECdA4Cvl1dOlDUgTpAOfSEElZn2uSUxhdDpnCdetrf0jvU4qrL+g==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.61.0", - "@typescript-eslint/type-utils": "5.61.0", - "@typescript-eslint/utils": "5.61.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.0", @@ -6461,14 +6552,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.61.0.tgz", - "integrity": "sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.61.0", - "@typescript-eslint/types": "5.61.0", - "@typescript-eslint/typescript-estree": "5.61.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { @@ -6488,13 +6579,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.61.0.tgz", - "integrity": "sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.61.0", - "@typescript-eslint/visitor-keys": "5.61.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6505,13 +6596,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.61.0.tgz", - "integrity": "sha512-kk8u//r+oVK2Aj3ph/26XdH0pbAkC2RiSjUYhKD+PExemG4XSjpGFeyZ/QM8lBOa7O8aGOU+/yEbMJgQv/DnCg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.61.0", - "@typescript-eslint/utils": "5.61.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -6532,9 +6623,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.61.0.tgz", - "integrity": "sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6545,13 +6636,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.61.0.tgz", - "integrity": "sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.61.0", - "@typescript-eslint/visitor-keys": "5.61.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6572,17 +6663,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.61.0.tgz", - "integrity": "sha512-mV6O+6VgQmVE6+xzlA91xifndPW9ElFW8vbSF0xCT/czPXVhwDewKila1jOyRwa9AE19zKnrr7Cg5S3pJVrTWQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.61.0", - "@typescript-eslint/types": "5.61.0", - "@typescript-eslint/typescript-estree": "5.61.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -6598,12 +6689,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.61.0.tgz", - "integrity": "sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.61.0", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -6698,6 +6789,7 @@ "version": "0.34.17", "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.34.17.tgz", "integrity": "sha512-17pzcK29fyFWUc+C82J3JYSnA+jy3QNrIldb9kPaP9Itbik05ZjEIyEue9FjhgIAuHeYSn4LDM5s6nGjxyfhsQ==", + "deprecated": "WARNING: This project has been renamed to @vue/language-core. Install using @vue/language-core instead.", "dev": true, "dependencies": { "@volar/code-gen": "0.34.17", @@ -6711,6 +6803,7 @@ "version": "0.34.17", "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.34.17.tgz", "integrity": "sha512-U0YSVIBPRWVPmgJHNa4nrfq88+oS+tmyZNxmnfajIw9A/GOGZQiKXHC0k09SVvbYXlsjgJ6NIjhm9NuAhGRQjg==", + "deprecated": "WARNING: This project has been renamed to @vue/typescript. Install using @vue/typescript instead.", "dev": true, "dependencies": { "@volar/code-gen": "0.34.17", @@ -7562,6 +7655,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -7620,7 +7733,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, "engines": { "node": ">=8" } @@ -7736,9 +7848,9 @@ } }, "node_modules/aws-cdk": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.87.0.tgz", - "integrity": "sha512-dBm74nl3dMUxoAzgjcfKnzJyoVNIV//B1sqDN11cC3LXEflYapcBxPxZHAyGcRXg5dW3m14dMdKVQfmt4N970g==", + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.88.0.tgz", + "integrity": "sha512-7Tj0uusA2nsEOsqkd4kB5vmzciz7l/eGBN5a+Ce4/CCcoe4ZCvT85L+T6tK0aohUTLZTAlTPBceH34RN5iMYpA==", "dev": true, "bin": { "cdk": "bin/cdk" @@ -8166,39 +8278,47 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz", - "integrity": "sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.1", - "@nicolo-ribaudo/semver-v6": "^6.3.3" + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz", - "integrity": "sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.1", + "@babel/helper-define-polyfill-provider": "^0.4.2", "core-js-compat": "^3.31.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz", - "integrity": "sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.1" + "@babel/helper-define-polyfill-provider": "^0.4.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-preset-current-node-syntax": { @@ -8254,8 +8374,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base-x": { "version": "3.0.9", @@ -8706,7 +8825,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9060,9 +9178,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001513", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001513.tgz", - "integrity": "sha512-pnjGJo7SOOjAGytZZ203Em95MRM8Cr6jhCXNF/FAXTpCTRTECnqQWLpiTRqrFtdYcth8hf4WECUpkezuYsMVww==", + "version": "1.0.30001517", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz", + "integrity": "sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==", "funding": [ { "type": "opencollective", @@ -9082,7 +9200,6 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==", - "dev": true, "engines": { "node": ">= 0.8.0" } @@ -9798,16 +9915,15 @@ } }, "node_modules/compare-versions": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", - "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.0.0.tgz", + "integrity": "sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ==", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concat-stream": { "version": "1.6.2", @@ -11184,9 +11300,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.454", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz", - "integrity": "sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==" + "version": "1.4.468", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.468.tgz", + "integrity": "sha512-6M1qyhaJOt7rQtNti1lBA0GwclPH+oKCmsra/hkcWs5INLxfXXD/dtdnaKUYQu/pjOBP/8Osoe4mAcNvvzoFag==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -11283,18 +11399,19 @@ } }, "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", + "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", @@ -11314,14 +11431,18 @@ "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", "safe-regex-test": "^1.0.0", "string.prototype.trim": "^1.2.7", "string.prototype.trimend": "^1.0.6", "string.prototype.trimstart": "^1.0.6", + "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.9" + "which-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -11938,9 +12059,9 @@ } }, "node_modules/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", + "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", @@ -11968,7 +12089,6 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -11980,7 +12100,6 @@ "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -12066,9 +12185,9 @@ } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz", + "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -12103,9 +12222,9 @@ } }, "node_modules/espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { "acorn": "^8.9.0", @@ -13772,9 +13891,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -14156,7 +14275,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -14778,9 +14896,9 @@ } }, "node_modules/hardhat": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.16.1.tgz", - "integrity": "sha512-QpBjGXFhhSYoYBGEHyoau/A63crZOP+i3GbNxzLGkL6IklzT+piN14+wGnINNCg5BLSKisQI/RAySPzaWRcx/g==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.17.0.tgz", + "integrity": "sha512-CaEGa13tkJNe2/rdaBiive4pmdNShwxvdWVhr1zfb6aVpRhQt9VNO0l/UIBt/zzajz38ZFjvhfM2bj8LDXo9gw==", "dev": true, "dependencies": { "@ethersproject/abi": "^5.1.2", @@ -14837,7 +14955,7 @@ "hardhat": "internal/cli/bootstrap.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" }, "peerDependencies": { "ts-node": "*", @@ -15056,9 +15174,9 @@ } }, "node_modules/hardhat/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -15466,7 +15584,6 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -15477,9 +15594,9 @@ "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" }, "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.1.tgz", + "integrity": "sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==", "dev": true }, "node_modules/import-fresh": { @@ -16318,15 +16435,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -16476,9 +16589,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -17218,9 +17331,9 @@ "dev": true }, "node_modules/js-sdsl": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.1.tgz", - "integrity": "sha512-6Gsx8R0RucyePbWqPssR8DyfuXmLBooYN5cZFZKjHGnQuaf7pEzhtpceagJxVu4LqhYY5EYA7nko3FmeHZ1KbA==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz", + "integrity": "sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==", "dev": true, "funding": { "type": "opencollective", @@ -17372,8 +17485,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", - "dev": true, - "peer": true, "engines": { "node": "*" } @@ -17480,9 +17591,9 @@ } }, "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dependencies": { "json-buffer": "3.0.1" } @@ -18167,8 +18278,7 @@ "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" }, "node_modules/lodash.uniqby": { "version": "4.7.0", @@ -18397,9 +18507,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -18693,7 +18803,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -19239,9 +19348,9 @@ } }, "node_modules/node-environment-flags/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "peer": true, "bin": { @@ -19289,9 +19398,9 @@ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/nodemailer": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.3.tgz", - "integrity": "sha512-fy9v3NgTzBngrMFkDsKEj0r02U7jm6XfC3b52eoNV+GCrGj+s8pt5OqhiJdWKuw51zCTdiNR/IUD1z33LIIGpg==", + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.4.tgz", + "integrity": "sha512-CXjQvrQZV4+6X5wP6ZIgdehJamI63MFoYFGGPtHudWym9qaEHDNdPzaj5bfMCvxG1vhAileSWW90q7nL0N36mA==", "engines": { "node": ">=6.0.0" } @@ -19780,9 +19889,9 @@ } }, "node_modules/pac-proxy-agent": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.3.tgz", - "integrity": "sha512-5Hr1KgPDoc21Vn3rsXBirwwDnF/iac1jN/zkpsOYruyT+ZgsUhUOgVwq3v9+ukjZd/yGm/0nzO1fDfl7rkGoHQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.4.tgz", + "integrity": "sha512-FbJYeusBOZNe6bmrC2/+r/HljwExryon16lNKEU82gWiwIPMCEktUPSEAcTkO9K3jd/YPGuX/azZel1ltmo6nQ==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -19810,9 +19919,9 @@ } }, "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz", - "integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -19960,13 +20069,13 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz", - "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, "dependencies": { "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -19985,9 +20094,9 @@ } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -20257,9 +20366,9 @@ } }, "node_modules/postcss": { - "version": "8.4.25", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", - "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", "funding": [ { "type": "opencollective", @@ -20663,9 +20772,9 @@ } }, "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz", - "integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -21696,7 +21805,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -21889,9 +21997,9 @@ } }, "node_modules/ripple-binary-codec": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ripple-binary-codec/-/ripple-binary-codec-1.6.0.tgz", - "integrity": "sha512-fa0aMSbh1VOGEHIWCF/VuIvoMoQ/1HLJoBxm+oPNPIDyZJG1uRpLYph1pcvAlDuMutHM3ZHMzWjJpe3AaiMIUA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/ripple-binary-codec/-/ripple-binary-codec-1.7.1.tgz", + "integrity": "sha512-DuVCZFSOXXPj4Njaj4+8XbYYXQBB+rrnhKd3ON+TtlmtwJUXryc59jKLMGUItqkdf8TAc89pb9+iU3WKlQrhtw==", "dependencies": { "assert": "^2.0.0", "big-integer": "^1.6.48", @@ -21975,9 +22083,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "3.26.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.2.tgz", - "integrity": "sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==", + "version": "3.26.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", + "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", "dev": true, "peer": true, "bin": { @@ -22136,7 +22244,6 @@ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", "dev": true, - "peer": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -22962,9 +23069,9 @@ } }, "node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -23012,9 +23119,9 @@ } }, "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.0.tgz", - "integrity": "sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.1.tgz", + "integrity": "sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw==", "dev": true, "peer": true, "dependencies": { @@ -24075,9 +24182,9 @@ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, "node_modules/sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", @@ -24431,7 +24538,6 @@ "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", @@ -24480,7 +24586,6 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -24495,14 +24600,12 @@ "node_modules/table/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -24510,14 +24613,12 @@ "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/table/node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -24534,7 +24635,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -24545,9 +24645,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", - "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -24570,7 +24670,6 @@ "postcss-load-config": "^4.0.1", "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", "resolve": "^1.22.2", "sucrase": "^3.32.0" }, @@ -25037,12 +25136,12 @@ "dev": true }, "node_modules/twilio": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/twilio/-/twilio-4.13.0.tgz", - "integrity": "sha512-fecPGy2lXnULwle4iXcCH3rP5z4fgkirzp+rRIXsFi45+y3qjkY5DBZSzmYr5T4vUOzZ2djmODZJ2jpRfgIBSw==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/twilio/-/twilio-4.14.0.tgz", + "integrity": "sha512-LRXvEYVzFBuo0BDLAJkb5fM9NgXH163nhmL/7jhz3pg84GNIiUsEKA8G65xDskaCJjFPjwBkZYyzen64zs+foQ==", "dependencies": { "axios": "^0.26.1", - "dayjs": "^1.8.29", + "dayjs": "^1.11.9", "https-proxy-agent": "^5.0.0", "jsonwebtoken": "^9.0.0", "qs": "^6.9.4", @@ -25112,9 +25211,9 @@ } }, "node_modules/typechain": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.2.0.tgz", - "integrity": "sha512-tZqhqjxJ9xAS/Lh32jccTjMkpx7sTdUVVHAy5Bf0TIer5QFNYXotiX74oCvoVYjyxUKDK3MXHtMFzMyD3kE+jg==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.1.tgz", + "integrity": "sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==", "dev": true, "dependencies": { "@types/prettier": "^2.1.1", @@ -25167,6 +25266,57 @@ "node": ">=10" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-array-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", @@ -25474,6 +25624,14 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -25696,6 +25854,7 @@ "version": "3.9.19", "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz", "integrity": "sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==", + "deprecated": "The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm.", "dependencies": { "acorn": "^8.7.0", "acorn-walk": "^8.2.0" @@ -25744,9 +25903,9 @@ } }, "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz", + "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -26544,16 +26703,15 @@ "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -26680,9 +26838,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -26947,7 +27105,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "dev": true, "engines": { "node": ">= 14" } @@ -27090,9 +27247,9 @@ } }, "node_modules/zx/node_modules/@types/node": { - "version": "18.16.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", - "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", + "version": "18.17.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.0.tgz", + "integrity": "sha512-GXZxEtOxYGFchyUzxvKI14iff9KZ2DI+A6a37o6EQevtg6uO9t+aUZKcaC1Te5Ng1OnLM7K9NVVj+FbecD9cJg==", "dev": true }, "node_modules/zx/node_modules/chalk": { diff --git a/services/oracle/scripts/dev.ts b/services/oracle/scripts/dev.ts index 670b3a996..33f30dba4 100644 --- a/services/oracle/scripts/dev.ts +++ b/services/oracle/scripts/dev.ts @@ -14,24 +14,24 @@ void async function () { process.env.SSV_TOKEN_ADDRESS = '0x3a9f01091C446bdE031E39ea8354647AFef091E7' process.env.UNISWAP_V3_FACTORY_ADDRESS = '0x1F98431c8aD98523631AE4a59f267346ea31F984' process.env.WETH_TOKEN_ADDRESS = '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6' + process.env.STRATEGY = 'dkg' process.env.CLI_PATH = `./${resourcePath}/rockx-dkg-cli/build/bin/rockx-dkg-cli` process.env.MESSENGER_SRV_ADDR = 'http://0.0.0.0:3000' process.env.USE_HARDCODED_OPERATORS = 'true' await run(`make -C ${resourcePath}/rockx-dkg-cli build`) const cli = await run(`which ${process.env.CLI_PATH}`) - if (!cli) throw new Error('DKG CLI not found') - + if (!cli) throw new Error('Dkg cli not found') if (os.platform() === 'linux') { await run(`docker compose -f ${resourcePath}/rockx-dkg-cli/docker-compose.yaml -f ${resourcePath}/../docker-compose.override.yaml up -d`) } else { await run(`docker compose -f ${resourcePath}/rockx-dkg-cli/docker-compose.yaml up -d`) } - console.log('🔑 DKG service started') - const ping = await fetchRetry(`${process.env.MESSENGER_SRV_ADDR}/ping`) const { message } = await ping.json() - if (message !== 'pong') throw new Error('DKG service is not running') + if (message !== 'pong') throw new Error('Dkg service is not running') + console.log('🔑 Dkg service started') run('npx esno -r dotenv/config src/index.ts') + console.log('🔑 Oracle service started') }() \ No newline at end of file diff --git a/services/oracle/scripts/generate.ts b/services/oracle/scripts/generate.ts index 1e4ba7a72..e25df6fa1 100644 --- a/services/oracle/scripts/generate.ts +++ b/services/oracle/scripts/generate.ts @@ -2,7 +2,7 @@ import os from 'os' import fs from 'fs' import { ethers } from 'ethers' import { fetchRetry, run } from '@casimir/helpers' -import { DKG } from '@casimir/oracle/src/providers/dkg' +import { Dkg } from '@casimir/oracle/src/providers/dkg' import { Validator } from '@casimir/types' void async function () { @@ -39,21 +39,18 @@ void async function () { const validators = JSON.parse(fs.readFileSync(`${outputPath}/validators.json`, 'utf8') || '{}') if (!validators[oracleAddress] || Object.keys(validators[oracleAddress]).length < validatorCount) { - await run(`make -C ${resourcePath}/rockx-dkg-cli build`) const cli = await run(`which ${process.env.CLI_PATH}`) - if (!cli) throw new Error('DKG CLI not found') - + if (!cli) throw new Error('Dkg cli not found') if (os.platform() === 'linux') { await run(`docker compose -f ${resourcePath}/rockx-dkg-cli/docker-compose.yaml -f ${resourcePath}/../docker-compose.override.yaml up -d`) } else { await run(`docker compose -f ${resourcePath}/rockx-dkg-cli/docker-compose.yaml up -d`) - } - console.log('🔑 DKG service started') - + } const ping = await fetchRetry(`${process.env.MESSENGER_SRV_ADDR}/ping`) const { message } = await ping.json() - if (message !== 'pong') throw new Error('DKG service is not running') + if (message !== 'pong') throw new Error('Dkg service is not running') + console.log('🔑 Dkg service started') let nonce = 3 @@ -67,9 +64,10 @@ void async function () { }) const newOperatorIds = [1, 2, 3, 4] // Todo get new group here - const dkg = new DKG({ cliPath: process.env.CLI_PATH, messengerUrl: process.env.MESSENGER_SRV_ADDR }) + const dkg = new Dkg({ cliPath: process.env.CLI_PATH, messengerUrl: process.env.MESSENGER_SRV_ADDR }) const validator = await dkg.createValidator({ + poolId: i + 1, operatorIds: newOperatorIds, withdrawalAddress: poolAddress }) diff --git a/services/oracle/src/index.ts b/services/oracle/src/index.ts index c0459aa34..cb1ad063d 100644 --- a/services/oracle/src/index.ts +++ b/services/oracle/src/index.ts @@ -1,17 +1,24 @@ +console.log('STARTING') +import { ethers } from 'ethers' +console.log('ETHERS', JSON.stringify(ethers, null, 4)) import { getConfig } from './providers/config' +console.log('GETCONFIG', JSON.stringify(getConfig, null, 4)) import { getEventsIterable } from './providers/events' -import { - initiateDepositHandler, +console.log('GETEVENTSITERABLE', JSON.stringify(getEventsIterable, null, 4)) +import { + initiateDepositHandler, // initiateResharesHandler, // initiateExitsHandler, // reportForcedExitsHandler, reportCompletedExitsHandler } from './providers/handlers' +console.log('INITIATEDEPOSITHANDLER', JSON.stringify(initiateDepositHandler, null, 4)) +console.log('REPORTCOMPLETEDEXITSHANDLER', JSON.stringify(reportCompletedExitsHandler, null, 4)) -void async function () { - - const { manager } = getConfig() +const config = getConfig() +console.log('CONFIG', JSON.stringify(config, null, 4)) +void async function () { const handlers = { DepositRequested: initiateDepositHandler, /** @@ -22,15 +29,24 @@ void async function () { */ CompletedExitReportsRequested: reportCompletedExitsHandler } - - const eventsIterable = getEventsIterable({ manager, events: Object.keys(handlers) }) + console.log('HANDLERS', JSON.stringify(handlers, null, 4)) + const provider = new ethers.providers.JsonRpcProvider(config.ethereumUrl) + console.log('PROVIDER', JSON.stringify(provider, null, 4)) + + const eventsIterable = getEventsIterable({ + ethereumUrl: config.ethereumUrl, + manager: config.manager, + events: Object.keys(handlers) + }) for await (const event of eventsIterable) { + console.log('EVENT', JSON.stringify(event, null, 4)) const details = event?.[event.length - 1] const { args } = details + console.log(`Handling ${details.event} with args ${JSON.stringify(args)}`) const handler = handlers[details.event as keyof typeof handlers] if (!handler) throw new Error(`No handler found for event ${details.event}`) - await handler(args) + await handler({ args, strategy: config.strategy }) } }() diff --git a/services/oracle/src/interfaces/DKGOptions.ts b/services/oracle/src/interfaces/DKGOptions.ts index c8b5d4dd4..ce659a693 100644 --- a/services/oracle/src/interfaces/DKGOptions.ts +++ b/services/oracle/src/interfaces/DKGOptions.ts @@ -1,6 +1,4 @@ export interface DkgOptions { - /** DKG CLI path */ cliPath: string - /** DKG messenger service URL */ messengerUrl: string } \ No newline at end of file diff --git a/services/oracle/src/interfaces/HandlerInput.ts b/services/oracle/src/interfaces/HandlerInput.ts index 135ccf59c..9e626b9a2 100644 --- a/services/oracle/src/interfaces/HandlerInput.ts +++ b/services/oracle/src/interfaces/HandlerInput.ts @@ -1 +1,7 @@ -export type HandlerInput = Record \ No newline at end of file +export interface HandlerInput { + args: { + poolId?: number + count?: number + } + strategy: string +} \ No newline at end of file diff --git a/services/oracle/src/interfaces/KeychainOptions.ts b/services/oracle/src/interfaces/KeychainOptions.ts new file mode 100644 index 000000000..6a663a16a --- /dev/null +++ b/services/oracle/src/interfaces/KeychainOptions.ts @@ -0,0 +1,5 @@ +export interface KeychainOptions { + strategy: string + cliPath: string + messengerUrl?: string +} \ No newline at end of file diff --git a/services/oracle/src/interfaces/ReshareValidatorInput.ts b/services/oracle/src/interfaces/ReshareValidatorInput.ts index fc98f3fdb..7e4c35bc8 100644 --- a/services/oracle/src/interfaces/ReshareValidatorInput.ts +++ b/services/oracle/src/interfaces/ReshareValidatorInput.ts @@ -2,10 +2,6 @@ import { CasimirManager } from '@casimir/ethereum/build/artifacts/types' import { ethers } from 'ethers' export interface ReshareValidatorInput { - /** JSON RPC provider */ - provider: ethers.providers.JsonRpcProvider - /** Manager contract */ - manager: ethers.Contract & CasimirManager /** Validator public key */ publicKey: string /** Pool ID */ diff --git a/services/oracle/src/providers/config.ts b/services/oracle/src/providers/config.ts index 2a742285f..622868322 100644 --- a/services/oracle/src/providers/config.ts +++ b/services/oracle/src/providers/config.ts @@ -3,24 +3,25 @@ import CasimirManagerJson from '@casimir/ethereum/build/artifacts/src/v1/Casimir import CasimirViewsJson from '@casimir/ethereum/build/artifacts/src/v1/CasimirViews.sol/CasimirViews.json' import { CasimirManager, CasimirViews } from '@casimir/ethereum/build/artifacts/types' +const supportedStrategies = ['dkg', 'ethdo'] + export function getConfig() { const ethereumUrl = process.env.ETHEREUM_RPC_URL if (!ethereumUrl) throw new Error('No ethereum rpc url provided') - const provider = new ethers.providers.JsonRpcProvider(ethereumUrl) const mnemonic = process.env.BIP39_SEED if (!mnemonic) throw new Error('No mnemonic provided') const pathIndex = process.env.BIP39_PATH_INDEX const path = `m/44'/60'/0'/0/${pathIndex || 0}` - const signer = ethers.Wallet.fromMnemonic(mnemonic, path).connect(provider) + const wallet = ethers.Wallet.fromMnemonic(mnemonic, path) const managerAddress = process.env.MANAGER_ADDRESS if (!managerAddress) throw new Error('No manager address provided') - const manager = new ethers.Contract(managerAddress, CasimirManagerJson.abi, provider) as ethers.Contract & CasimirManager + const manager = new ethers.Contract(managerAddress, CasimirManagerJson.abi) as ethers.Contract & CasimirManager const viewsAddress = process.env.VIEWS_ADDRESS if (!viewsAddress) throw new Error('No views address provided') - const views = new ethers.Contract(viewsAddress, CasimirViewsJson.abi, provider) as CasimirViews & ethers.Contract + const views = new ethers.Contract(viewsAddress, CasimirViewsJson.abi) as CasimirViews & ethers.Contract const linkTokenAddress = process.env.LINK_TOKEN_ADDRESS if (!linkTokenAddress) throw new Error('No link token address provided') @@ -35,15 +36,16 @@ export function getConfig() { const wethTokenAddress = process.env.WETH_TOKEN_ADDRESS if (!wethTokenAddress) throw new Error('No weth token address provided') + const strategy = process.env.STRATEGY + if (!strategy || !supportedStrategies.includes(strategy)) throw new Error('No strategy provided') const cliPath = process.env.CLI_PATH if (!cliPath) throw new Error('No cli path provided') const messengerUrl = process.env.MESSENGER_SRV_ADDR - if (!messengerUrl) throw new Error('No messenger url provided') + if (!messengerUrl && strategy === 'dkg') throw new Error('No messenger url provided') return { ethereumUrl, - provider, - signer, + wallet, manager, views, linkTokenAddress, @@ -52,6 +54,7 @@ export function getConfig() { ssvTokenAddress, uniswapV3FactoryAddress, wethTokenAddress, + strategy, cliPath, messengerUrl } diff --git a/services/oracle/src/providers/dkg.ts b/services/oracle/src/providers/dkg.ts index 13d31477b..8de0a9afb 100644 --- a/services/oracle/src/providers/dkg.ts +++ b/services/oracle/src/providers/dkg.ts @@ -7,7 +7,7 @@ import { getWithdrawalCredentials, run, runRetry } from '@casimir/helpers' import { CreateValidatorInput } from '../interfaces/CreateValidatorInput' import { Validator } from '@casimir/types' import { ReshareValidatorInput } from '../interfaces/ReshareValidatorInput' -import { operatorStore } from '@casimir/data' +import { getOperatorUrls } from './registry' import { DepositDataInput } from '../interfaces/DepositDataInput' export class Dkg { @@ -27,7 +27,7 @@ export class Dkg { async createValidator(input: CreateValidatorInput, retriesLeft: number | undefined = 25): Promise { try { const { poolId, operatorIds, withdrawalAddress } = input - const operators = this.getOperatorUrls(operatorIds) + const operators = getOperatorUrls(operatorIds) const ceremonyId = await this.startKeygen({ operators, withdrawalAddress }) console.log(`Started ceremony ${ceremonyId} for pool ${poolId}`) @@ -61,8 +61,8 @@ export class Dkg { async reshareValidator(input: ReshareValidatorInput, retriesLeft: number | undefined = 25): Promise { try { const { poolId, operatorIds, publicKey, oldOperatorIds, withdrawalAddress } = input - const operators = this.getOperatorUrls(operatorIds) - const oldOperators = this.getOperatorUrls(oldOperatorIds) + const operators = getOperatorUrls(operatorIds) + const oldOperators = getOperatorUrls(oldOperatorIds) const ceremonyId = await this.startReshare({ operators, publicKey, oldOperators }) console.log(`Started ceremony ${ceremonyId} for pool ${poolId}`) @@ -163,17 +163,4 @@ export class Dkg { withdrawalCredentials: `0x${withdrawalCredentials}` } } - - /** - * Get operator URLs - * @param {number[]} operatorIds - Operator IDs - * @returns {} Operator group - */ - getOperatorUrls(operatorIds: number[]): Record { - return operatorIds.reduce((group: Record, id: number) => { - const key = id.toString() as keyof typeof operatorStore - group[key] = operatorStore[key] - return group - }, {}) - } } \ No newline at end of file diff --git a/services/oracle/src/providers/ethdo.ts b/services/oracle/src/providers/ethdo.ts index 275907f2b..7b4e1ac70 100644 --- a/services/oracle/src/providers/ethdo.ts +++ b/services/oracle/src/providers/ethdo.ts @@ -2,10 +2,15 @@ import { CreateValidatorInput } from '../interfaces/CreateValidatorInput' import { Validator } from '@casimir/types' export class Ethdo { + + cliPath: string + + constructor(options: { cliPath: string }) { + this.cliPath = options.cliPath + } // async createValidator(input: CreateValidatorInput, retriesLeft: number | undefined = 25): Promise {}, // async reshareValidator(input: ReshareValidatorInput, retriesLeft: number | undefined = 25): Promise {}, // async getDepositData(input: DepositDataInput, retriesLeft: number | undefined = 25): Promise {}, // async getShares(ceremonyId: string, retriesLeft: number | undefined = 25): Promise {}, // async startKeygen(input: StartKeygenInput, retriesLeft: number | undefined = 25): Promise {}, - // async getOperatorUrls(operatorIds: number[], retriesLeft: number | undefined = 25): Promise {}, } \ No newline at end of file diff --git a/services/oracle/src/providers/events.ts b/services/oracle/src/providers/events.ts index 614af611a..b8dbeb2d3 100644 --- a/services/oracle/src/providers/events.ts +++ b/services/oracle/src/providers/events.ts @@ -1,6 +1,10 @@ import { ethers } from 'ethers' -export function getEventsIterable({ manager, events }: { manager: ethers.Contract, events: string[] }) { +export function getEventsIterable({ manager, events }: { + ethereumUrl: string, + manager: ethers.Contract, + events: string[] +}) { return (async function*() { for (const event of events) { yield* getEvent({ manager, event }) diff --git a/services/oracle/src/providers/handlers.ts b/services/oracle/src/providers/handlers.ts index 476d4ea5a..8a92f4820 100644 --- a/services/oracle/src/providers/handlers.ts +++ b/services/oracle/src/providers/handlers.ts @@ -1,47 +1,37 @@ import { ethers } from 'ethers' -import { Dkg } from './dkg' import { HandlerInput } from '../interfaces/HandlerInput' import { CasimirManager } from '@casimir/ethereum/build/artifacts/types' import { Scanner } from '@casimir/ssv' import { PoolStatus } from '@casimir/types' import { Factory } from '@casimir/uniswap' import { getConfig } from './config' +import { Keychain } from './keychain' + +const config = getConfig() export async function initiateDepositHandler(input: HandlerInput) { - const { - ethereumUrl, - provider, - signer, - manager, - views, - linkTokenAddress, - ssvNetworkAddress, - ssvNetworkViewsAddress, - ssvTokenAddress, - uniswapV3FactoryAddress, - wethTokenAddress, - cliPath, - messengerUrl - } = getConfig() - - const { poolId } = input as { poolId: number } - - const nonce = await provider.getTransactionCount(manager.address) + if (!input.args.poolId) throw new Error('No pool id provided') + const provider = new ethers.providers.JsonRpcProvider(config.ethereumUrl) + + const nonce = await provider.getTransactionCount(config.manager.address) const poolAddress = ethers.utils.getContractAddress({ - from: manager.address, + from: config.manager.address, nonce }) const newOperatorIds = [1, 2, 3, 4] // Todo get new group here - const dkg = new Dkg({ cliPath, messengerUrl }) - const validator = await dkg.createValidator({ - poolId, + const keychain = new Keychain({ + strategy: config.strategy, + cliPath: config.cliPath, + messengerUrl: config.messengerUrl + }) + const validator = await keychain.createValidator({ + poolId: input.args.poolId, operatorIds: newOperatorIds, withdrawalAddress: poolAddress }) - const { depositDataRoot, publicKey, @@ -52,29 +42,30 @@ export async function initiateDepositHandler(input: HandlerInput) { } = validator const scanner = new Scanner({ - ethereumUrl, - ssvNetworkAddress, - ssvNetworkViewsAddress + ethereumUrl: config.ethereumUrl, + ssvNetworkAddress: config.ssvNetworkAddress, + ssvNetworkViewsAddress: config.ssvNetworkViewsAddress }) const clusterDetails = await scanner.getClusterDetails({ - ownerAddress: manager.address, + ownerAddress: config.manager.address, operatorIds }) const { cluster, requiredBalancePerValidator } = clusterDetails const processed = false const uniswapFactory = new Factory({ - ethereumUrl, - uniswapV3FactoryAddress + ethereumUrl: config.ethereumUrl, + uniswapV3FactoryAddress: config.uniswapV3FactoryAddress }) const price = await uniswapFactory.getSwapPrice({ - tokenIn: wethTokenAddress, - tokenOut: ssvTokenAddress, + tokenIn: config.wethTokenAddress, + tokenOut: config.ssvTokenAddress, uniswapFeeTier: 3000 }) const feeAmount = ethers.utils.parseEther((Number(ethers.utils.formatEther(requiredBalancePerValidator)) * Number(price)).toPrecision(9)) - const initiateDeposit = await (manager.connect(signer) as ethers.Contract & CasimirManager).initiateDeposit( + const signer = config.wallet.connect(provider) + const initiateDeposit = await (config.manager.connect(signer) as ethers.Contract & CasimirManager).initiateDeposit( depositDataRoot, publicKey, signature, @@ -89,30 +80,24 @@ export async function initiateDepositHandler(input: HandlerInput) { } export async function initiateResharesHandler(input: HandlerInput) { - const { - provider, - signer, - manager, - views, - linkTokenAddress, - ssvTokenAddress, - wethTokenAddress, - cliPath, - messengerUrl - } = getConfig() - - const { poolId } = input as { poolId: number } + if (!input.args.poolId) throw new Error('No pool id provided') + + const provider = new ethers.providers.JsonRpcProvider(config.ethereumUrl) // Todo reshare event will include the operator to boot // Get pool to reshare - const poolDetails = await views.getPoolDetails(poolId) + const poolDetails = await config.views.connect(provider).getPoolDetails(input.args.poolId) // Todo old operators and new operators only different by 1 operator const newOperatorGroup = [1, 2, 3, 4] // Get operators to sign reshare - const dkg = new Dkg({ cliPath, messengerUrl }) + const keychain = new Keychain({ + strategy: config.strategy, + cliPath: config.cliPath, + messengerUrl: config.messengerUrl + }) // const validator = await dkg.reshareValidator({ // provider, // manager, @@ -128,50 +113,36 @@ export async function initiateResharesHandler(input: HandlerInput) { } export async function initiateExitsHandler(input: HandlerInput) { - const { - provider, - signer, - manager, - views, - linkTokenAddress, - ssvTokenAddress, - wethTokenAddress, - cliPath, - messengerUrl - } = getConfig() - - const { poolId } = input as { poolId: number } + if (!input.args.poolId) throw new Error('No pool id provided') + const provider = new ethers.providers.JsonRpcProvider(config.ethereumUrl) + // Get pool to exit - const poolDetails = await views.getPoolDetails(poolId) + const poolDetails = await config.views.connect(provider).getPoolDetails(input.args.poolId) + // Get operators to sign exit - const dkg = new Dkg({ cliPath, messengerUrl }) + const keychain = new Keychain({ + strategy: config.strategy, + cliPath: config.cliPath, + messengerUrl: config.messengerUrl + }) } export async function reportForcedExitsHandler(input: HandlerInput) { - const { - provider, - signer, - manager, - views, - linkTokenAddress, - ssvTokenAddress, - wethTokenAddress, - cliPath, - messengerUrl - } = getConfig() - - const { count } = input as { count: number } - - const stakedPoolIds = await manager.getStakedPoolIds() + if (!input.args.count) throw new Error('No count provided') + + const provider = new ethers.providers.JsonRpcProvider(config.ethereumUrl) + const signer = config.wallet.connect(provider) + + const stakedPoolIds = await config.manager.connect(provider).getStakedPoolIds() let poolIndex = 0 - let remaining = count + let remaining = input.args.count while (remaining > 0) { const poolId = stakedPoolIds[poolIndex] - const poolDetails = await views.getPoolDetails(poolId) + const poolDetails = await config.views.connect(provider).getPoolDetails(poolId) if (poolDetails.status === PoolStatus.ACTIVE) { remaining-- - const reportForcedExit = await manager.connect(signer).reportForcedExit( + const reportForcedExit = await config.manager.connect(signer).reportForcedExit( poolIndex ) await reportForcedExit.wait() @@ -181,21 +152,10 @@ export async function reportForcedExitsHandler(input: HandlerInput) { } export async function reportCompletedExitsHandler(input: HandlerInput) { - const { - ethereumUrl, - signer, - manager, - views, - linkTokenAddress, - ssvNetworkAddress, - ssvNetworkViewsAddress, - ssvTokenAddress, - wethTokenAddress, - cliPath, - messengerUrl - } = getConfig() - - const { count } = input as { count: number } + if (!input.args.count) throw new Error('No count provided') + + const provider = new ethers.providers.JsonRpcProvider(config.ethereumUrl) + const signer = config.wallet.connect(provider) /** * In production, we get the completed exit order from the Beacon API (sorting by withdrawn epoch) @@ -203,12 +163,12 @@ export async function reportCompletedExitsHandler(input: HandlerInput) { * const stakedPublicKeys = await views.getStakedPublicKeys(startIndex, endIndex) * Here, we're just grabbing the next exiting pool for each completed exit */ - const stakedPoolIds = await manager.getStakedPoolIds() - let remaining = count + const stakedPoolIds = await config.manager.connect(provider).getStakedPoolIds() + let remaining = input.args.count let poolIndex = 0 while (remaining > 0) { const poolId = stakedPoolIds[poolIndex] - const poolDetails = await views.getPoolDetails(poolId) + const poolDetails = await config.views.connect(provider).getPoolDetails(poolId) if (poolDetails.status === PoolStatus.EXITING_FORCED || poolDetails.status === PoolStatus.EXITING_REQUESTED) { remaining-- @@ -224,16 +184,16 @@ export async function reportCompletedExitsHandler(input: HandlerInput) { blamePercents = [100, 0, 0, 0] } const scanner = new Scanner({ - ethereumUrl, - ssvNetworkAddress, - ssvNetworkViewsAddress + ethereumUrl: config.ethereumUrl, + ssvNetworkAddress: config.ssvNetworkAddress, + ssvNetworkViewsAddress: config.ssvNetworkViewsAddress }) const clusterDetails = await scanner.getClusterDetails({ - ownerAddress: manager.address, + ownerAddress: config.manager.address, operatorIds }) const { cluster } = clusterDetails - const reportCompletedExit = await manager.connect(signer).reportCompletedExit( + const reportCompletedExit = await config.manager.connect(signer).reportCompletedExit( poolIndex, blamePercents, cluster diff --git a/services/oracle/src/providers/keychain.ts b/services/oracle/src/providers/keychain.ts new file mode 100644 index 000000000..b792f2f23 --- /dev/null +++ b/services/oracle/src/providers/keychain.ts @@ -0,0 +1,60 @@ +import { Validator } from '@casimir/types' +import { CreateValidatorInput } from '../interfaces/CreateValidatorInput' +import { KeychainOptions } from '../interfaces/KeychainOptions' +import { Dkg } from './dkg' +// import { Ethdo } from './ethdo' +import { getOperatorUrls } from './registry' + +export class Keychain { + bridge: Dkg // | Ethdo + + constructor(options: KeychainOptions) { + /*if (options.strategy === 'dkg') {*/ + if (!options.messengerUrl) { + throw new Error('No messenger url provided') + } + this.bridge = new Dkg({ + cliPath: options.cliPath, + messengerUrl: options.messengerUrl + }) + /*} else { + this.bridge = new Ethdo({ + cliPath: options.cliPath + }) + }*/ + } + + /** + * Create validator with operator key shares and deposit data + * @param {CreateValidatorInput} input - Input for creating a validator + * @returns {Promise} Validator with operator key shares and deposit data + */ + async createValidator(input: CreateValidatorInput, retriesLeft: number | undefined = 25): Promise { + try { + const { poolId, operatorIds, withdrawalAddress } = input + const operators = getOperatorUrls(operatorIds) + const ceremonyId = await this.bridge.startKeygen({ operators, withdrawalAddress }) + + console.log(`Started ceremony ${ceremonyId} for pool ${poolId}`) + + await new Promise(resolve => setTimeout(resolve, 2500)) + + const shares = await this.bridge.getShares(ceremonyId) + const { depositDataRoot, publicKey, signature, withdrawalCredentials } = await this.bridge.getDepositData({ ceremonyId, withdrawalAddress }) + const validator: Validator = { + depositDataRoot, + publicKey, + operatorIds, + shares, + signature, + withdrawalCredentials + } + return validator + } catch (error) { + console.log(error) + await new Promise(resolve => setTimeout(resolve, 2500)) + console.log('Retrying create validator request') + return await this.createValidator(input, retriesLeft - 1) + } + } +} \ No newline at end of file diff --git a/services/oracle/src/providers/registry.ts b/services/oracle/src/providers/registry.ts new file mode 100644 index 000000000..aca817242 --- /dev/null +++ b/services/oracle/src/providers/registry.ts @@ -0,0 +1,17 @@ +import { operatorStore } from '@casimir/data' +import { getConfig } from './config' + +const config = getConfig() + +/** + * Get operator URLs + * @param {number[]} operatorIds - Operator IDs + * @returns {} Operator group + */ +export function getOperatorUrls(operatorIds: number[]): Record { + return operatorIds.reduce((group: Record, id: number) => { + const key = id.toString() as keyof typeof operatorStore + group[key] = operatorStore[key] + return group + }, {}) +} \ No newline at end of file