diff --git a/package.json b/package.json index b5fedcf..32c6a6c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@witnet/price-feeds", - "version": "3.1.28", + "version": "3.2.0", "description": "Open-source collection of verified price data using Witnet on supported blockchains.", "author": "Witnet Foundation", "license": "MIT", @@ -71,25 +71,25 @@ "pfs:check": "node ./scripts/rulebook.cjs", "pfs:notarizer": "node src/bin/bots/notarizer.cjs", "pfs:reporter": "node src/bin/bots/reporter.cjs", - "pfs:settle": "npm run build && node ./scripts/settle.cjs", - "pfs:status": "npm run build && node ./scripts/status.cjs", + "pfs:settle": "npm run build && node src/bin/cli/settle.cjs", + "pfs:status": "npm run build && node src/bin/cli/status.cjs", "prepare": "npm run build", "test": "vitest" }, "dependencies": { "@witnet/sdk": "^3.2.4", - "@witnet/solidity": "^3.1.4", - "commander": "^14.0.2", - "dotenv": "^17.2.3", + "@witnet/solidity": "^3.2.0", + "commander": "^14.0.3", + "dotenv": "^17.3.1", "lodash.merge": "^4.6.2", "moment": "^2.30.1", "node-cron": "^4.2.1", "object-hash": "^3.0.0" }, "devDependencies": { - "@biomejs/biome": "^2.3.13", + "@biomejs/biome": "^2.4.4", "@types/lodash.merge": "^4.6.9", - "@types/node": "^24.10.9", + "@types/node": "^24.11.0", "chai": "^6.2.2", "cross-env": "^10.1.0", "ethrpc-gateway": "^2.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b2cc8a..75f7372 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,16 @@ importers: dependencies: '@witnet/sdk': specifier: ^3.2.4 - version: 3.2.4(@types/node@24.10.9)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) + version: 3.2.4(@types/node@24.11.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) '@witnet/solidity': - specifier: ^3.1.4 - version: 3.1.4(@types/node@24.10.9)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) + specifier: ^3.2.0 + version: 3.2.0(@types/node@24.11.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) commander: - specifier: ^14.0.2 - version: 14.0.2 + specifier: ^14.0.3 + version: 14.0.3 dotenv: - specifier: ^17.2.3 - version: 17.2.3 + specifier: ^17.3.1 + version: 17.3.1 lodash.merge: specifier: ^4.6.2 version: 4.6.2 @@ -34,14 +34,14 @@ importers: version: 3.0.0 devDependencies: '@biomejs/biome': - specifier: ^2.3.13 - version: 2.3.13 + specifier: ^2.4.4 + version: 2.4.4 '@types/lodash.merge': specifier: ^4.6.9 version: 4.6.9 '@types/node': - specifier: ^24.10.9 - version: 24.10.9 + specifier: ^24.11.0 + version: 24.11.0 chai: specifier: ^6.2.2 version: 6.2.2 @@ -53,68 +53,68 @@ importers: version: 2.3.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) inquirer: specifier: ^8.2.7 - version: 8.2.7(@types/node@24.10.9) + version: 8.2.7(@types/node@24.11.0) typescript: specifier: ^5.9.3 version: 5.9.3 vitest: specifier: ^4.0.18 - version: 4.0.18(@types/node@24.10.9) + version: 4.0.18(@types/node@24.11.0) packages: '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - '@biomejs/biome@2.3.13': - resolution: {integrity: sha512-Fw7UsV0UAtWIBIm0M7g5CRerpu1eKyKAXIazzxhbXYUyMkwNrkX/KLkGI7b+uVDQ5cLUMfOC9vR60q9IDYDstA==} + '@biomejs/biome@2.4.4': + resolution: {integrity: sha512-tigwWS5KfJf0cABVd52NVaXyAVv4qpUXOWJ1rxFL8xF1RVoeS2q/LK+FHgYoKMclJCuRoCWAPy1IXaN9/mS61Q==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.3.13': - resolution: {integrity: sha512-0OCwP0/BoKzyJHnFdaTk/i7hIP9JHH9oJJq6hrSCPmJPo8JWcJhprK4gQlhFzrwdTBAW4Bjt/RmCf3ZZe59gwQ==} + '@biomejs/cli-darwin-arm64@2.4.4': + resolution: {integrity: sha512-jZ+Xc6qvD6tTH5jM6eKX44dcbyNqJHssfl2nnwT6vma6B1sj7ZLTGIk6N5QwVBs5xGN52r3trk5fgd3sQ9We9A==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.3.13': - resolution: {integrity: sha512-AGr8OoemT/ejynbIu56qeil2+F2WLkIjn2d8jGK1JkchxnMUhYOfnqc9sVzcRxpG9Ycvw4weQ5sprRvtb7Yhcw==} + '@biomejs/cli-darwin-x64@2.4.4': + resolution: {integrity: sha512-Dh1a/+W+SUCXhEdL7TiX3ArPTFCQKJTI1mGncZNWfO+6suk+gYA4lNyJcBB+pwvF49uw0pEbUS49BgYOY4hzUg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.3.13': - resolution: {integrity: sha512-TUdDCSY+Eo/EHjhJz7P2GnWwfqet+lFxBZzGHldrvULr59AgahamLs/N85SC4+bdF86EhqDuuw9rYLvLFWWlXA==} + '@biomejs/cli-linux-arm64-musl@2.4.4': + resolution: {integrity: sha512-+sPAXq3bxmFwhVFJnSwkSF5Rw2ZAJMH3MF6C9IveAEOdSpgajPhoQhbbAK12SehN9j2QrHpk4J/cHsa/HqWaYQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@2.3.13': - resolution: {integrity: sha512-xvOiFkrDNu607MPMBUQ6huHmBG1PZLOrqhtK6pXJW3GjfVqJg0Z/qpTdhXfcqWdSZHcT+Nct2fOgewZvytESkw==} + '@biomejs/cli-linux-arm64@2.4.4': + resolution: {integrity: sha512-V/NFfbWhsUU6w+m5WYbBenlEAz8eYnSqRMDMAW3K+3v0tYVkNyZn8VU0XPxk/lOqNXLSCCrV7FmV/u3SjCBShg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@2.3.13': - resolution: {integrity: sha512-0bdwFVSbbM//Sds6OjtnmQGp4eUjOTt6kHvR/1P0ieR9GcTUAlPNvPC3DiavTqq302W34Ae2T6u5VVNGuQtGlQ==} + '@biomejs/cli-linux-x64-musl@2.4.4': + resolution: {integrity: sha512-gGvFTGpOIQDb5CQ2VC0n9Z2UEqlP46c4aNgHmAMytYieTGEcfqhfCFnhs6xjt0S3igE6q5GLuIXtdQt3Izok+g==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@2.3.13': - resolution: {integrity: sha512-s+YsZlgiXNq8XkgHs6xdvKDFOj/bwTEevqEY6rC2I3cBHbxXYU1LOZstH3Ffw9hE5tE1sqT7U23C00MzkXztMw==} + '@biomejs/cli-linux-x64@2.4.4': + resolution: {integrity: sha512-R4+ZCDtG9kHArasyBO+UBD6jr/FcFCTH8QkNTOCu0pRJzCWyWC4EtZa2AmUZB5h3e0jD7bRV2KvrENcf8rndBg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@2.3.13': - resolution: {integrity: sha512-QweDxY89fq0VvrxME+wS/BXKmqMrOTZlN9SqQ79kQSIc3FrEwvW/PvUegQF6XIVaekncDykB5dzPqjbwSKs9DA==} + '@biomejs/cli-win32-arm64@2.4.4': + resolution: {integrity: sha512-trzCqM7x+Gn832zZHgr28JoYagQNX4CZkUZhMUac2YxvvyDRLJDrb5m9IA7CaZLlX6lTQmADVfLEKP1et1Ma4Q==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.3.13': - resolution: {integrity: sha512-trDw2ogdM2lyav9WFQsdsfdVy1dvZALymRpgmWsvSez0BJzBjulhOT/t+wyKeh3pZWvwP3VMs1SoOKwO3wecMQ==} + '@biomejs/cli-win32-x64@2.4.4': + resolution: {integrity: sha512-gnOHKVPFAAPrpoPt2t+Q6FZ7RPry/FDV3GcpU53P3PtLNnQjBmKyN2Vh/JtqXet+H4pme8CC76rScwdjDcT1/A==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -135,158 +135,158 @@ packages: '@epic-web/invariant@1.0.0': resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -568,128 +568,128 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@rollup/rollup-android-arm-eabi@4.56.0': - resolution: {integrity: sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==} + '@rollup/rollup-android-arm-eabi@4.59.0': + resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.56.0': - resolution: {integrity: sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==} + '@rollup/rollup-android-arm64@4.59.0': + resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.56.0': - resolution: {integrity: sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==} + '@rollup/rollup-darwin-arm64@4.59.0': + resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.56.0': - resolution: {integrity: sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==} + '@rollup/rollup-darwin-x64@4.59.0': + resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.56.0': - resolution: {integrity: sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==} + '@rollup/rollup-freebsd-arm64@4.59.0': + resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.56.0': - resolution: {integrity: sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==} + '@rollup/rollup-freebsd-x64@4.59.0': + resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.56.0': - resolution: {integrity: sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==} + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.56.0': - resolution: {integrity: sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==} + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.56.0': - resolution: {integrity: sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==} + '@rollup/rollup-linux-arm64-gnu@4.59.0': + resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.56.0': - resolution: {integrity: sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==} + '@rollup/rollup-linux-arm64-musl@4.59.0': + resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.56.0': - resolution: {integrity: sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==} + '@rollup/rollup-linux-loong64-gnu@4.59.0': + resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.56.0': - resolution: {integrity: sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==} + '@rollup/rollup-linux-loong64-musl@4.59.0': + resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.56.0': - resolution: {integrity: sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==} + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.56.0': - resolution: {integrity: sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==} + '@rollup/rollup-linux-ppc64-musl@4.59.0': + resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.56.0': - resolution: {integrity: sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==} + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.56.0': - resolution: {integrity: sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==} + '@rollup/rollup-linux-riscv64-musl@4.59.0': + resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.56.0': - resolution: {integrity: sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==} + '@rollup/rollup-linux-s390x-gnu@4.59.0': + resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.56.0': - resolution: {integrity: sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==} + '@rollup/rollup-linux-x64-gnu@4.59.0': + resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.56.0': - resolution: {integrity: sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==} + '@rollup/rollup-linux-x64-musl@4.59.0': + resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.56.0': - resolution: {integrity: sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==} + '@rollup/rollup-openbsd-x64@4.59.0': + resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.56.0': - resolution: {integrity: sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==} + '@rollup/rollup-openharmony-arm64@4.59.0': + resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.56.0': - resolution: {integrity: sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==} + '@rollup/rollup-win32-arm64-msvc@4.59.0': + resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.56.0': - resolution: {integrity: sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==} + '@rollup/rollup-win32-ia32-msvc@4.59.0': + resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.56.0': - resolution: {integrity: sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==} + '@rollup/rollup-win32-x64-gnu@4.59.0': + resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.56.0': - resolution: {integrity: sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==} + '@rollup/rollup-win32-x64-msvc@4.59.0': + resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} cpu: [x64] os: [win32] @@ -714,14 +714,14 @@ packages: '@types/lodash.merge@4.6.9': resolution: {integrity: sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==} - '@types/lodash@4.17.23': - resolution: {integrity: sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==} + '@types/lodash@4.17.24': + resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} '@types/node@22.7.5': resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} - '@types/node@24.10.9': - resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} + '@types/node@24.11.0': + resolution: {integrity: sha512-fPxQqz4VTgPI/IQ+lj9r0h+fDR66bzoeMGHp8ASee+32OSGIkeASsoZuJixsQoVef1QJbeubcPBxKk22QVoWdw==} '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} @@ -759,8 +759,8 @@ packages: resolution: {integrity: sha512-4eNDvGtZjFomV8m1vwrrGCnIUaIQde8+pDtBrcVpGFYgFh32fnnXuN4QleDQu8hHfa7uOYYnssR9J31Fdzxc9g==} hasBin: true - '@witnet/solidity@3.1.4': - resolution: {integrity: sha512-NcqmAfnewXQxskfOCcwK74M96Di7G9gvh9UAZ1+ikc6VVhdie6ru/WYGBklxjUWBncX1kyZPiu6MvPXlrJ/4UQ==} + '@witnet/solidity@3.2.0': + resolution: {integrity: sha512-ezr/PMshsLmho4qrlgQBuP1x13i/+fP7fWPo8oiPrxKIaKEGxhE4bOxYLG0qa58SpzYx2BkqG55Mmw0pvdFTWA==} hasBin: true abi-util-lite@0.1.0: @@ -802,8 +802,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.13.3: - resolution: {integrity: sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==} + axios@1.13.6: + resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} base-x@5.0.1: resolution: {integrity: sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==} @@ -826,8 +826,8 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - bip32@5.0.0: - resolution: {integrity: sha512-h043yQ9n3iU4WZ8KLRpEECMl3j1yx2DQ1kcPlzWg8VZC0PtukbDiyLDKbe6Jm79mL6Tfg+WFuZMYxnzVyr/Hyw==} + bip32@5.0.1: + resolution: {integrity: sha512-PWlHIAgYCfVhwqNpZyeakHXuLAGyN6rEQZnhxHxKI3BoFJRVWLl26455fhRlHsmbYcV986HqtPnt33Edu5sTCw==} engines: {node: '>=18.0.0'} bip66@1.1.5: @@ -836,11 +836,11 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bn.js@4.12.2: - resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + bn.js@4.12.3: + resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} - bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + bn.js@5.2.3: + resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} body-parser@2.2.2: resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} @@ -953,8 +953,8 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} commander@8.3.0: @@ -1041,8 +1041,8 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dotenv@17.2.3: - resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} + dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} engines: {node: '>=12'} drbg.js@1.0.1: @@ -1099,8 +1099,8 @@ packages: resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} engines: {node: '>=0.12'} - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -1240,8 +1240,8 @@ packages: peerDependencies: graphql: 14 - 16 - graphql@16.12.0: - resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} + graphql@16.13.0: + resolution: {integrity: sha512-uSisMYERbaB9bkA9M4/4dnqyktaEkf1kMHNKq/7DHyxVeWqHQ2mBmVqm5u6/FVHwF3iCNalKcg82Zfl+tffWoA==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} has-flag@4.0.0: @@ -1575,8 +1575,8 @@ packages: resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==} hasBin: true - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + qs@6.15.0: + resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -1606,8 +1606,8 @@ packages: resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} hasBin: true - rollup@4.56.0: - resolution: {integrity: sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==} + rollup@4.59.0: + resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1650,8 +1650,8 @@ packages: resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} engines: {node: '>=18.0.0'} - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true @@ -1839,8 +1839,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - valibot@0.37.0: - resolution: {integrity: sha512-FQz52I8RXgFgOHym3XHYSREbNtkgSjF9prvMFH1nBsRyfL6SfCzoT1GuSDTlbsuPubM7/6Kbw0ZMQb8A+V+VsQ==} + valibot@1.2.0: + resolution: {integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -2001,39 +2001,39 @@ snapshots: '@adraffy/ens-normalize@1.10.1': {} - '@biomejs/biome@2.3.13': + '@biomejs/biome@2.4.4': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.3.13 - '@biomejs/cli-darwin-x64': 2.3.13 - '@biomejs/cli-linux-arm64': 2.3.13 - '@biomejs/cli-linux-arm64-musl': 2.3.13 - '@biomejs/cli-linux-x64': 2.3.13 - '@biomejs/cli-linux-x64-musl': 2.3.13 - '@biomejs/cli-win32-arm64': 2.3.13 - '@biomejs/cli-win32-x64': 2.3.13 - - '@biomejs/cli-darwin-arm64@2.3.13': + '@biomejs/cli-darwin-arm64': 2.4.4 + '@biomejs/cli-darwin-x64': 2.4.4 + '@biomejs/cli-linux-arm64': 2.4.4 + '@biomejs/cli-linux-arm64-musl': 2.4.4 + '@biomejs/cli-linux-x64': 2.4.4 + '@biomejs/cli-linux-x64-musl': 2.4.4 + '@biomejs/cli-win32-arm64': 2.4.4 + '@biomejs/cli-win32-x64': 2.4.4 + + '@biomejs/cli-darwin-arm64@2.4.4': optional: true - '@biomejs/cli-darwin-x64@2.3.13': + '@biomejs/cli-darwin-x64@2.4.4': optional: true - '@biomejs/cli-linux-arm64-musl@2.3.13': + '@biomejs/cli-linux-arm64-musl@2.4.4': optional: true - '@biomejs/cli-linux-arm64@2.3.13': + '@biomejs/cli-linux-arm64@2.4.4': optional: true - '@biomejs/cli-linux-x64-musl@2.3.13': + '@biomejs/cli-linux-x64-musl@2.4.4': optional: true - '@biomejs/cli-linux-x64@2.3.13': + '@biomejs/cli-linux-x64@2.4.4': optional: true - '@biomejs/cli-win32-arm64@2.3.13': + '@biomejs/cli-win32-arm64@2.4.4': optional: true - '@biomejs/cli-win32-x64@2.3.13': + '@biomejs/cli-win32-x64@2.4.4': optional: true '@bitcoinerlab/secp256k1@1.2.0': @@ -2054,82 +2054,82 @@ snapshots: '@epic-web/invariant@1.0.0': {} - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.27.3': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.27.3': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true '@ethersproject/abi@5.8.0': @@ -2183,7 +2183,7 @@ snapshots: dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 - bn.js: 5.2.2 + bn.js: 5.2.3 '@ethersproject/bytes@5.8.0': dependencies: @@ -2316,7 +2316,7 @@ snapshots: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 - bn.js: 5.2.2 + bn.js: 5.2.3 elliptic: 6.6.1 hash.js: 1.1.7 @@ -2387,134 +2387,134 @@ snapshots: '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - '@graphql-typed-document-node/core@3.2.0(graphql@16.12.0)': + '@graphql-typed-document-node/core@3.2.0(graphql@16.13.0)': dependencies: - graphql: 16.12.0 + graphql: 16.13.0 '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@24.10.9)': + '@inquirer/checkbox@4.3.2(@types/node@24.11.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/type': 3.0.10(@types/node@24.11.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/confirm@5.1.21(@types/node@24.10.9)': + '@inquirer/confirm@5.1.21(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/core@10.3.2(@types/node@24.10.9)': + '@inquirer/core@10.3.2(@types/node@24.11.0)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/type': 3.0.10(@types/node@24.11.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/editor@4.2.23(@types/node@24.10.9)': + '@inquirer/editor@4.2.23(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/external-editor': 1.0.3(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/external-editor': 1.0.3(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/expand@4.0.23(@types/node@24.10.9)': + '@inquirer/expand@4.0.23(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/external-editor@1.0.3(@types/node@24.10.9)': + '@inquirer/external-editor@1.0.3(@types/node@24.11.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@24.10.9)': + '@inquirer/input@4.3.1(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/number@3.0.23(@types/node@24.10.9)': + '@inquirer/number@3.0.23(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/password@4.0.23(@types/node@24.10.9)': + '@inquirer/password@4.0.23(@types/node@24.11.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) optionalDependencies: - '@types/node': 24.10.9 - - '@inquirer/prompts@7.10.1(@types/node@24.10.9)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@24.10.9) - '@inquirer/confirm': 5.1.21(@types/node@24.10.9) - '@inquirer/editor': 4.2.23(@types/node@24.10.9) - '@inquirer/expand': 4.0.23(@types/node@24.10.9) - '@inquirer/input': 4.3.1(@types/node@24.10.9) - '@inquirer/number': 3.0.23(@types/node@24.10.9) - '@inquirer/password': 4.0.23(@types/node@24.10.9) - '@inquirer/rawlist': 4.1.11(@types/node@24.10.9) - '@inquirer/search': 3.2.2(@types/node@24.10.9) - '@inquirer/select': 4.4.2(@types/node@24.10.9) + '@types/node': 24.11.0 + + '@inquirer/prompts@7.10.1(@types/node@24.11.0)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@24.11.0) + '@inquirer/confirm': 5.1.21(@types/node@24.11.0) + '@inquirer/editor': 4.2.23(@types/node@24.11.0) + '@inquirer/expand': 4.0.23(@types/node@24.11.0) + '@inquirer/input': 4.3.1(@types/node@24.11.0) + '@inquirer/number': 3.0.23(@types/node@24.11.0) + '@inquirer/password': 4.0.23(@types/node@24.11.0) + '@inquirer/rawlist': 4.1.11(@types/node@24.11.0) + '@inquirer/search': 3.2.2(@types/node@24.11.0) + '@inquirer/select': 4.4.2(@types/node@24.11.0) optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/rawlist@4.1.11(@types/node@24.10.9)': + '@inquirer/rawlist@4.1.11(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/search@3.2.2(@types/node@24.10.9)': + '@inquirer/search@3.2.2(@types/node@24.11.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/type': 3.0.10(@types/node@24.11.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/select@4.4.2(@types/node@24.10.9)': + '@inquirer/select@4.4.2(@types/node@24.11.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/type': 3.0.10(@types/node@24.11.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - '@inquirer/type@3.0.10(@types/node@24.10.9)': + '@inquirer/type@3.0.10(@types/node@24.11.0)': optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 '@jridgewell/sourcemap-codec@1.5.5': {} @@ -2553,79 +2553,79 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@rollup/rollup-android-arm-eabi@4.56.0': + '@rollup/rollup-android-arm-eabi@4.59.0': optional: true - '@rollup/rollup-android-arm64@4.56.0': + '@rollup/rollup-android-arm64@4.59.0': optional: true - '@rollup/rollup-darwin-arm64@4.56.0': + '@rollup/rollup-darwin-arm64@4.59.0': optional: true - '@rollup/rollup-darwin-x64@4.56.0': + '@rollup/rollup-darwin-x64@4.59.0': optional: true - '@rollup/rollup-freebsd-arm64@4.56.0': + '@rollup/rollup-freebsd-arm64@4.59.0': optional: true - '@rollup/rollup-freebsd-x64@4.56.0': + '@rollup/rollup-freebsd-x64@4.59.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.56.0': + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.56.0': + '@rollup/rollup-linux-arm-musleabihf@4.59.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.56.0': + '@rollup/rollup-linux-arm64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.56.0': + '@rollup/rollup-linux-arm64-musl@4.59.0': optional: true - '@rollup/rollup-linux-loong64-gnu@4.56.0': + '@rollup/rollup-linux-loong64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-loong64-musl@4.56.0': + '@rollup/rollup-linux-loong64-musl@4.59.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.56.0': + '@rollup/rollup-linux-ppc64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-ppc64-musl@4.56.0': + '@rollup/rollup-linux-ppc64-musl@4.59.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.56.0': + '@rollup/rollup-linux-riscv64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.56.0': + '@rollup/rollup-linux-riscv64-musl@4.59.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.56.0': + '@rollup/rollup-linux-s390x-gnu@4.59.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.56.0': + '@rollup/rollup-linux-x64-gnu@4.59.0': optional: true - '@rollup/rollup-linux-x64-musl@4.56.0': + '@rollup/rollup-linux-x64-musl@4.59.0': optional: true - '@rollup/rollup-openbsd-x64@4.56.0': + '@rollup/rollup-openbsd-x64@4.59.0': optional: true - '@rollup/rollup-openharmony-arm64@4.56.0': + '@rollup/rollup-openharmony-arm64@4.59.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.56.0': + '@rollup/rollup-win32-arm64-msvc@4.59.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.56.0': + '@rollup/rollup-win32-ia32-msvc@4.59.0': optional: true - '@rollup/rollup-win32-x64-gnu@4.56.0': + '@rollup/rollup-win32-x64-gnu@4.59.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.56.0': + '@rollup/rollup-win32-x64-msvc@4.59.0': optional: true '@scure/base@1.2.6': {} @@ -2648,15 +2648,15 @@ snapshots: '@types/lodash.merge@4.6.9': dependencies: - '@types/lodash': 4.17.23 + '@types/lodash': 4.17.24 - '@types/lodash@4.17.23': {} + '@types/lodash@4.17.24': {} '@types/node@22.7.5': dependencies: undici-types: 6.19.8 - '@types/node@24.10.9': + '@types/node@24.11.0': dependencies: undici-types: 7.16.0 @@ -2671,13 +2671,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.9))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.11.0))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@24.10.9) + vite: 7.3.1(@types/node@24.11.0) '@vitest/pretty-format@4.0.18': dependencies: @@ -2701,18 +2701,18 @@ snapshots: '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 - '@witnet/sdk@3.2.4(@types/node@24.10.9)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)': + '@witnet/sdk@3.2.4(@types/node@24.11.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)': dependencies: '@bitcoinerlab/secp256k1': 1.2.0 - axios: 1.13.3 + axios: 1.13.6 bech32: 2.0.0 - bip32: 5.0.0(typescript@5.9.3) + bip32: 5.0.1(typescript@5.9.3) cbor: 10.0.11 - commander: 14.0.2 - dotenv: 17.2.3 + commander: 14.0.3 + dotenv: 17.3.1 ethers: 6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) graphql-query-compress: 1.2.4 - inquirer: 12.11.1(@types/node@24.10.9) + inquirer: 12.11.1(@types/node@24.11.0) json-bigint: 1.0.0 keccak256: 1.0.6 lodash.merge: 4.6.2 @@ -2732,16 +2732,16 @@ snapshots: - typescript - utf-8-validate - '@witnet/solidity@3.1.4(@types/node@24.10.9)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)': + '@witnet/solidity@3.2.0(@types/node@24.11.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)': dependencies: - '@witnet/sdk': 3.2.4(@types/node@24.10.9)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) + '@witnet/sdk': 3.2.4(@types/node@24.11.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10) cbor: 10.0.11 - commander: 14.0.2 + commander: 14.0.3 cross-env: 10.1.0 - dotenv: 17.2.3 + dotenv: 17.3.1 ethers: 6.16.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) ethrpc-gateway: 2.3.1(bufferutil@4.1.0)(utf-8-validate@5.0.10) - inquirer: 8.2.7(@types/node@24.10.9) + inquirer: 8.2.7(@types/node@24.11.0) lodash.merge: 4.6.2 moment: 2.30.1 node-cron: 4.2.1 @@ -2787,7 +2787,7 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios@1.13.3: + axios@1.13.6: dependencies: follow-redirects: 1.15.11 form-data: 4.0.5 @@ -2811,12 +2811,12 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - bip32@5.0.0(typescript@5.9.3): + bip32@5.0.1(typescript@5.9.3): dependencies: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 uint8array-tools: 0.0.8 - valibot: 0.37.0(typescript@5.9.3) + valibot: 1.2.0(typescript@5.9.3) wif: 5.0.0 transitivePeerDependencies: - typescript @@ -2831,9 +2831,9 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - bn.js@4.12.2: {} + bn.js@4.12.3: {} - bn.js@5.2.2: {} + bn.js@5.2.3: {} body-parser@2.2.2: dependencies: @@ -2843,7 +2843,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.15.0 raw-body: 3.0.2 type-is: 2.0.1 transitivePeerDependencies: @@ -2960,7 +2960,7 @@ snapshots: dependencies: delayed-stream: 1.0.0 - commander@14.0.2: {} + commander@14.0.3: {} commander@8.3.0: {} @@ -3038,7 +3038,7 @@ snapshots: depd@2.0.0: {} - dotenv@17.2.3: {} + dotenv@17.3.1: {} drbg.js@1.0.1: dependencies: @@ -3056,7 +3056,7 @@ snapshots: elliptic@6.6.1: dependencies: - bn.js: 4.12.2 + bn.js: 4.12.3 brorand: 1.1.0 hash.js: 1.1.7 hmac-drbg: 1.0.1 @@ -3105,34 +3105,34 @@ snapshots: d: 1.0.2 ext: 1.7.0 - esbuild@0.27.2: + esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escape-html@1.0.3: {} @@ -3202,14 +3202,14 @@ snapshots: ethrpc-gateway@2.3.1(bufferutil@4.1.0)(utf-8-validate@5.0.10): dependencies: - axios: 1.13.3 + axios: 1.13.6 cors: 2.8.6 cross-env: 10.1.0 - dotenv: 17.2.3 + dotenv: 17.3.1 ethers: 5.8.0(bufferutil@4.1.0)(utf-8-validate@5.0.10) express: 5.2.1 - graphql: 16.12.0 - graphql-request: 7.4.0(graphql@16.12.0) + graphql: 16.13.0 + graphql-request: 7.4.0(graphql@16.13.0) js-conflux-sdk: 2.5.1 json-rpc-2.0: 1.7.1 winston: 3.19.0 @@ -3253,7 +3253,7 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.14.1 + qs: 6.15.0 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 @@ -3352,12 +3352,12 @@ snapshots: dependencies: tokenizr: 1.5.7 - graphql-request@7.4.0(graphql@16.12.0): + graphql-request@7.4.0(graphql@16.13.0): dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) - graphql: 16.12.0 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.0) + graphql: 16.13.0 - graphql@16.12.0: {} + graphql@16.13.0: {} has-flag@4.0.0: {} @@ -3409,21 +3409,21 @@ snapshots: inherits@2.0.4: {} - inquirer@12.11.1(@types/node@24.10.9): + inquirer@12.11.1(@types/node@24.11.0): dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.10.9) - '@inquirer/prompts': 7.10.1(@types/node@24.10.9) - '@inquirer/type': 3.0.10(@types/node@24.10.9) + '@inquirer/core': 10.3.2(@types/node@24.11.0) + '@inquirer/prompts': 7.10.1(@types/node@24.11.0) + '@inquirer/type': 3.0.10(@types/node@24.11.0) mute-stream: 2.0.0 run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 - inquirer@8.2.7(@types/node@24.10.9): + inquirer@8.2.7(@types/node@24.11.0): dependencies: - '@inquirer/external-editor': 1.0.3(@types/node@24.10.9) + '@inquirer/external-editor': 1.0.3(@types/node@24.11.0) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 @@ -3495,7 +3495,7 @@ snapshots: keccak256@1.0.6: dependencies: - bn.js: 5.2.2 + bn.js: 5.2.3 buffer: 6.0.3 keccak: 3.0.4 @@ -3676,7 +3676,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.10.9 + '@types/node': 24.11.0 long: 5.3.2 proxy-addr@2.0.7: @@ -3688,7 +3688,7 @@ snapshots: qrcode-terminal@0.12.0: {} - qs@6.14.1: + qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -3729,37 +3729,37 @@ snapshots: rlp@2.2.7: dependencies: - bn.js: 5.2.2 + bn.js: 5.2.3 - rollup@4.56.0: + rollup@4.59.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.56.0 - '@rollup/rollup-android-arm64': 4.56.0 - '@rollup/rollup-darwin-arm64': 4.56.0 - '@rollup/rollup-darwin-x64': 4.56.0 - '@rollup/rollup-freebsd-arm64': 4.56.0 - '@rollup/rollup-freebsd-x64': 4.56.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.56.0 - '@rollup/rollup-linux-arm-musleabihf': 4.56.0 - '@rollup/rollup-linux-arm64-gnu': 4.56.0 - '@rollup/rollup-linux-arm64-musl': 4.56.0 - '@rollup/rollup-linux-loong64-gnu': 4.56.0 - '@rollup/rollup-linux-loong64-musl': 4.56.0 - '@rollup/rollup-linux-ppc64-gnu': 4.56.0 - '@rollup/rollup-linux-ppc64-musl': 4.56.0 - '@rollup/rollup-linux-riscv64-gnu': 4.56.0 - '@rollup/rollup-linux-riscv64-musl': 4.56.0 - '@rollup/rollup-linux-s390x-gnu': 4.56.0 - '@rollup/rollup-linux-x64-gnu': 4.56.0 - '@rollup/rollup-linux-x64-musl': 4.56.0 - '@rollup/rollup-openbsd-x64': 4.56.0 - '@rollup/rollup-openharmony-arm64': 4.56.0 - '@rollup/rollup-win32-arm64-msvc': 4.56.0 - '@rollup/rollup-win32-ia32-msvc': 4.56.0 - '@rollup/rollup-win32-x64-gnu': 4.56.0 - '@rollup/rollup-win32-x64-msvc': 4.56.0 + '@rollup/rollup-android-arm-eabi': 4.59.0 + '@rollup/rollup-android-arm64': 4.59.0 + '@rollup/rollup-darwin-arm64': 4.59.0 + '@rollup/rollup-darwin-x64': 4.59.0 + '@rollup/rollup-freebsd-arm64': 4.59.0 + '@rollup/rollup-freebsd-x64': 4.59.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 + '@rollup/rollup-linux-arm-musleabihf': 4.59.0 + '@rollup/rollup-linux-arm64-gnu': 4.59.0 + '@rollup/rollup-linux-arm64-musl': 4.59.0 + '@rollup/rollup-linux-loong64-gnu': 4.59.0 + '@rollup/rollup-linux-loong64-musl': 4.59.0 + '@rollup/rollup-linux-ppc64-gnu': 4.59.0 + '@rollup/rollup-linux-ppc64-musl': 4.59.0 + '@rollup/rollup-linux-riscv64-gnu': 4.59.0 + '@rollup/rollup-linux-riscv64-musl': 4.59.0 + '@rollup/rollup-linux-s390x-gnu': 4.59.0 + '@rollup/rollup-linux-x64-gnu': 4.59.0 + '@rollup/rollup-linux-x64-musl': 4.59.0 + '@rollup/rollup-openbsd-x64': 4.59.0 + '@rollup/rollup-openharmony-arm64': 4.59.0 + '@rollup/rollup-win32-arm64-msvc': 4.59.0 + '@rollup/rollup-win32-ia32-msvc': 4.59.0 + '@rollup/rollup-win32-x64-gnu': 4.59.0 + '@rollup/rollup-win32-x64-msvc': 4.59.0 fsevents: 2.3.3 router@2.2.0: @@ -3794,7 +3794,7 @@ snapshots: dependencies: bindings: 1.5.0 bip66: 1.1.5 - bn.js: 4.12.2 + bn.js: 4.12.3 create-hash: 1.2.0 drbg.js: 1.0.1 elliptic: 6.6.1 @@ -3807,7 +3807,7 @@ snapshots: node-addon-api: 5.1.0 node-gyp-build: 4.8.4 - semver@7.7.3: {} + semver@7.7.4: {} send@1.2.1: dependencies: @@ -3929,9 +3929,9 @@ snapshots: formidable: 1.2.6 methods: 1.1.2 mime: 2.6.0 - qs: 6.14.1 + qs: 6.15.0 readable-stream: 3.6.2 - semver: 7.7.3 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -4008,28 +4008,28 @@ snapshots: util-deprecate@1.0.2: {} - valibot@0.37.0(typescript@5.9.3): + valibot@1.2.0(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 vary@1.1.2: {} - vite@7.3.1(@types/node@24.10.9): + vite@7.3.1(@types/node@24.11.0): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.56.0 + rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 fsevents: 2.3.3 - vitest@4.0.18(@types/node@24.10.9): + vitest@4.0.18(@types/node@24.11.0): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.9)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.11.0)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -4046,10 +4046,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.9) + vite: 7.3.1(@types/node@24.11.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.10.9 + '@types/node': 24.11.0 transitivePeerDependencies: - jiti - less diff --git a/src/bin/bots/reporter.cjs b/src/bin/bots/reporter.cjs index 96436ec..ee573d1 100644 --- a/src/bin/bots/reporter.cjs +++ b/src/bin/bots/reporter.cjs @@ -59,11 +59,6 @@ async function main() { "ETH/RPC provider host", process.env.WITNET_PFS_ETH_RPC_PROVIDER_HOST || "http://127.0.0.1", ) - .option( - "--patron ", - "Signer address that will pay for every update report, other than the gateway's default.", - process.env.WITNET_PFS_ETH_SIGNER || undefined, - ) .option( "--port ", "ETH/RPC provider port", @@ -84,7 +79,12 @@ async function main() { "Make sure the randomizer bot connects to this EVM chain.", process.env.WITNET_PFS_ETH_NETWORK || undefined, ) - .requiredOption( + .option( + "--signer ", + "Signer address that will pay for every update report, other than the gateway's default.", + process.env.WITNET_PFS_ETH_SIGNER || undefined, + ) + .option( "--target ", "Address of WitPriceFeeds contract where to report data updates.", process.env.WITNET_PFS_ETH_TARGET || undefined, @@ -101,49 +101,45 @@ async function main() { maxGasPriceGwei, network, port, - patron, + signer, target, } = program.opts(); if (!debug) console.debug = () => {}; - if (patron && !ethers.isAddress(patron)) { - console.error(`❌ Fatal: invalid EVM signer address: "${patron}"`); + if (signer && !ethers.isAddress(signer)) { + console.error(`❌ Fatal: invalid EVM signer address: "${signer}"`); process.exit(0); - } else if (!target || !ethers.isAddress(target)) { + } else if (target && !ethers.isAddress(target)) { console.error(`❌ Fatal: invalid EVM target address: "${target}"`); process.exit(0); + } else if (gasLimit && isNaN(Number(gasLimit))) { + console.error(`❌ Fatal: invalid gas limit: "${gasLimit}"`); + process.exit(0); } - const witOracle = patron - ? await WitOracle.fromJsonRpcUrl(`${host}:${port}`, patron) - : await WitOracle.fromJsonRpcUrl(`${host}:${port}`); - const signer = witOracle.signer.address; + const kermit = await Witnet.KermitClient.fromEnv(KERMIT); + + console.info(`> WIT/Kermit URL: ${kermit.url}`); + console.info(`> EVM RPC gateway: ${host}:${port}`); - if (network && witOracle.network !== network) { - console.error( - `❌ Fatal: connected to ${witOracle.network.toUpperCase()} instead of ${network.toUpperCase()}`, - ); - process.exit(0); - } else { - network = witOracle.network; + const witOracle = await WitOracle.fromEthRpcUrl(`${host}:${port}`); + if (network && network !== witOracle.network) { + console.error(`Fatal: connected to wrong network: ${network.toUpperCase()}`); + process.exit(1); } + network = witOracle.network; + console.info(`> EVM network: ${network.toUpperCase()}`); + console.info(`> Wit/Oracle bridge: ${witOracle.address}`); - const witOracleRadonRegistry = await witOracle - .getWitOracleRadonRegistry() + const witOracleRadonRegistry = await witOracle._getWitOracleRadonRegistry() .catch((err) => { console.error(`❌ Fatal: cannot fetch Wit/Oracle Radon Registry: ${err}`); process.exit(0); }); + console.info(`> Wit/Oracle registry: ${witOracleRadonRegistry.address}`); - const kermit = await Witnet.KermitClient.fromEnv(KERMIT); - - console.info(`> WIT/Kermit URL: ${kermit.url}`); - console.info(`> EVM RPC gateway: ${host}:${port}`); - console.info(`> EVM network: ${network.toUpperCase()}`); - - const witPriceFeeds = await witOracle - .getWitPriceFeedsAt(target) + const witPriceFeeds = await witOracle._getWitPriceFeeds(target) .catch((err) => { console.error(`❌ Fatal: ${err}`); process.exit(0); @@ -160,13 +156,17 @@ async function main() { console.error(`❌ Fatal: unsupported WitPriceFeeds version: ${serial}`); process.exit(0); } - - console.info(`> Wit/Oracle bridge: ${witOracle.address}`); - console.info(`> Wit/Oracle registry: ${witOracleRadonRegistry.address}`); console.info( `> Wit/Oracle appliance: ${target} [${artifact} v${serial.split("-")[0]}]`, ); + try { + signer = (await witPriceFeeds.setSigner(signer)).address; + } catch (err) { + console.error(`❌ Fatal: failed to set signer to ${signer}: ${err.message}`); + process.exit(0); + } + const { provider } = witOracle; const symbol = utils.getEvmNetworkSymbol(network); balance = await provider.getBalance(signer); diff --git a/scripts/settle.cjs b/src/bin/cli/settle.cjs similarity index 83% rename from scripts/settle.cjs rename to src/bin/cli/settle.cjs index 3585849..b0c23d9 100644 --- a/scripts/settle.cjs +++ b/src/bin/cli/settle.cjs @@ -11,9 +11,9 @@ require("dotenv").config({ quiet: true }); const inquirer = require("inquirer"); const moment = require("moment"); -const { assets, utils, Rulebook } = require("../dist/src/lib"); -const radHashes = require("../witnet/requests.json"); -const helpers = require("../src/bin/helpers.cjs"); +const { assets, utils, Rulebook } = require("../../../dist/src/lib"); +const radHashes = require("../../../witnet/requests.json"); +const helpers = require("../helpers.cjs"); const { colors } = helpers; const host = @@ -30,23 +30,24 @@ const clone = process.argv.indexOf(`--clone`) >= 0; main(); async function main() { - const witnet = await Witnet.JsonRpcProvider.fromEnv( - witRpcUrl === "testnet" - ? "https://rpc-testnet.witnet.io" - : witRpcUrl === "mainnet" - ? "https://rpc-01.witnet.io" - : witRpcUrl, - ); - - const witOracle = await WitOracle.fromJsonRpcUrl(`${host}:${port}`, signer); + + const witOracle = await WitOracle.fromEthRpcUrl(`${host}:${port}`); if (network && witOracle.network !== network.toLowerCase()) { console.error( `Error: gateway at ${host}:${port} connects to a different network (${witOracle.network})`, ); process.exit(1); - } - + } network = witOracle.network; + + const witnet = await Witnet.JsonRpcProvider.fromURL( + witRpcUrl || ( + utils.isEvmNetworkMainnet(witOracle.network) + ? "https://rpc-01.witnet.io" + : "https://rpc-testnet.witnet.io" + ) + ); + if (utils.isEvmNetworkMainnet(network) !== (witnet.network === "mainnet")) { console.error( `Error: cannot connect to the Witnet ${witnet.network} and an EVM ${witnet.network === "mainnet" ? "testnet" : "mainnet"} at the same time.`, @@ -70,7 +71,7 @@ async function main() { } } - const wrapper = await witOracle.getWitPriceFeedsAt(target); + const wrapper = await witOracle._getWitPriceFeeds(target); let curator = await wrapper.getEvmCurator(); const [artifact, version, consumer, master] = await Promise.all([ await wrapper.getEvmImplClass(), @@ -92,7 +93,7 @@ async function main() { console.info(`> Master address: ${colors.blue(master)}`); } if (clone) { - console.info(); + await wrapper.setSigner(signer); await inquirer .prompt([ { @@ -152,13 +153,13 @@ async function main() { if (consumer !== "0x0000000000000000000000000000000000000000") { console.info(`> Consumer address: ${colors.cyan(consumer)}`); } - if (wrapper.signer.address !== curator) { + if (wrapper?.signer?.address === curator) { + console.info(`> Curator address: ${colors.mmagenta(curator)}`); + } else { console.info(`> Curator address: ${colors.magenta(curator)}`); - console.info( - `> Signer address: ${colors.yellow(wrapper.signer.address)}`, + if (signer) console.info( + `> Signer address: ${colors.yellow(signer)}`, ); - } else { - console.info(`> Curator address: ${colors.mmagenta(curator)}`); } } console.info(); @@ -452,11 +453,14 @@ async function main() { // ================================================================================================================ // --- PERFORM TO-DO TASKS ---------------------------------------------------------------------------------------- - // only if the provider is connected to the proper price feeds curator address: - if (wrapper.signer.address === curator) { - if (runs > 0) { - // on all main iterations but the last: - if (tasks.removals.length > 0) { + if (runs > 0) { + // on all main iterations but the last: + if (tasks.removals.length > 0) { + if (!wrapper.signer) { + await wrapper.setSigner(signer); + } + // only if the provider is connected to the proper price feeds curator address: + if (wrapper.signer.address === curator) { console.info( colors.lyellow(`\n >>> REMOVE AFFECTED PRICE FEEDS <<<`), ); @@ -478,74 +482,78 @@ async function main() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ( - wrapper.signer.address !== curator && - (tasks.removals.length > 0 || + tasks.removals.length > 0 || tasks.requests.length > 0 || tasks.oracles.length > 0 || - tasks.mappers.length > 0) + tasks.mappers.length > 0 ) { - console.error(colors.red(`\n^ Pending tasks require curatorship!`)); - process.exit(1); - } else if (wrapper.signer.address === curator) { - if (tasks.verifications.length > 0) { - console.info( - colors.lyellow(`\n\n >>> VERIFY RADON REQUESTS ON-CHAIN <<<`), - ); - execSync( - `npx witeth assets ${tasks.verifications.join(" ")} --deploy --force --port ${port} --signer ${signer}`, - { stdio: "inherit", stdout: "inherit" }, - ); - } - if (tasks.requests.length > 0) { - console.info(colors.lyellow(`\n >>> SETTLE WITNET PRICE FEEDS <<<`)); - for (const task of tasks.requests) { + await wrapper.setSigner(signer) + if (wrapper.signer.address !== curator) { + console.error(colors.red(`\n^ Pending tasks require curatorship!`)); + process.exit(1); + + } else { + if (tasks.verifications.length > 0) { console.info( - `\n ${colors.lwhite(task.caption)}: ${" ".repeat(18 - task.caption.length)} ${colors.yellow(task.radHash)}`, + colors.lyellow(`\n\n >>> VERIFY RADON REQUESTS ON-CHAIN <<<`), ); - await _invokeAdminTask( - wrapper.settlePriceFeedRadonHash.bind(wrapper), - task.caption, - -task.decimals, - task.radHash, + execSync( + `npx witeth assets ${tasks.verifications.join(" ")} --deploy --force --port ${port} --signer ${signer}`, + { stdio: "inherit", stdout: "inherit" }, ); } - console.info(); - } - if (tasks.oracles.length > 0) { - console.info(colors.lyellow(`\n >>> SETTLE ORACLIZED PRICE FEEDS <<<`)); - for (const task of tasks.oracles) { - console.info( - `\n ${colors.lwhite(task.caption)}: ${" ".repeat(18 - task.caption.length)} ${colors.yellow(`${task.oracle}:${task.sources || task.target}`)}`, - ); - await _invokeAdminTask( - wrapper.settlePriceFeedOracle.bind(wrapper), - task.caption, - -task.decimals, - task.oracle, - task.target, - task.sources, - ); + if (tasks.requests.length > 0) { + console.info(colors.lyellow(`\n >>> SETTLE WITNET PRICE FEEDS <<<`)); + for (const task of tasks.requests) { + console.info( + `\n ${colors.lwhite(task.caption)}: ${" ".repeat(18 - task.caption.length)} ${colors.yellow(task.radHash)}`, + ); + await _invokeAdminTask( + wrapper.settlePriceFeedRadonHash.bind(wrapper), + task.caption, + -task.decimals, + task.radHash, + ); + } + console.info(); } - console.info(); - } - if (tasks.mappers.length > 0) { - console.info(colors.lyellow(`\n >>> SETTLE MAPPED PRICE FEEDS <<<`)); + if (tasks.oracles.length > 0) { + console.info(colors.lyellow(`\n >>> SETTLE ORACLIZED PRICE FEEDS <<<`)); + for (const task of tasks.oracles) { + console.info( + `\n ${colors.lwhite(task.caption)}: ${" ".repeat(18 - task.caption.length)} ${colors.yellow(`${task.oracle}:${task.sources || task.target}`)}`, + ); + await _invokeAdminTask( + wrapper.settlePriceFeedOracle.bind(wrapper), + task.caption, + -task.decimals, + task.oracle, + task.target, + task.sources, + ); + } + console.info(); + } + if (tasks.mappers.length > 0) { + console.info(colors.lyellow(`\n >>> SETTLE MAPPED PRICE FEEDS <<<`)); - for (const task of tasks.mappers) { - console.info( - `\n ${colors.lwhite(task.caption)}: ${" ".repeat(18 - task.caption.length)} ${colors.yellow( - `${task.mapper}(${JSON.stringify(task.deps)})`, - )}`, - ); - await _invokeAdminTask( - wrapper.settlePriceFeedMapper.bind(wrapper), - task.caption, - -task.decimals, - task.mapper, - task.deps, - ); + for (const task of tasks.mappers) { + console.info( + `\n ${colors.lwhite(task.caption)}: ${" ".repeat(18 - task.caption.length)} ${colors.yellow( + `${task.mapper}(${JSON.stringify(task.deps)})`, + )}`, + ); + await _invokeAdminTask( + wrapper.settlePriceFeedMapper.bind(wrapper), + task.caption, + -task.decimals, + task.mapper, + task.deps, + ); + } + console.info(); } - console.info(); + } } @@ -575,6 +583,7 @@ async function main() { ); if (tasks.conditions.length > 0) { + await wrapper.setSigner(signer) if (wrapper.signer.address === curator) { console.info(colors.lyellow(`\n >>> SETTLE UPDATE CONDITIONS <<<`)); for (const task of tasks.conditions) { @@ -688,47 +697,51 @@ async function main() { return [caption, { ...obj, metrics }] })) - helpers.traceTable( - priceFeeds.map(([caption, obj]) => { - // console.log(caption, "=>", obj.metrics) - return [ - obj.id4, - caption, - obj.class, - obj.sources, - ...(Object.keys(obj?.metrics ?? {}).length > 0 ? [ - obj.metrics.maxSecsBetweenUpdates ? moment.duration(obj.metrics.maxSecsBetweenUpdates, "seconds").humanize() : "", - obj.metrics.minSecsBetweenUpdates ? moment.duration(obj.metrics.minSecsBetweenUpdates, "seconds").humanize() : "", - obj.metrics.witnessingCommitteeSize > 0 ? obj.metrics.witnessingCommitteeSize : "", - obj.metrics.maxDeviationPercentage ? `± ${obj.metrics.maxDeviationPercentage.toFixed(1)} %` : "", - obj.metrics.computesEMA ? "yes" : "", - ] : []), - ]; - }), - { - headlines: [ - ":ID4", - ":CAPTION", - ":solver", - ":sources", - ":heartbeat", - ":cooldown", - "wtnss", - "max.dev:", - "EMA", - ], - colors: [ - colors.lwhite, - colors.mgreen, - colors.green, - undefined, - colors.gray, - colors.gray, - colors.gray, - colors.gray, - ], - }, - ); + if (priceFeeds.length > 0) { + helpers.traceTable( + priceFeeds.map(([caption, obj]) => { + // console.log(caption, "=>", obj.metrics) + return [ + obj.id4, + caption, + obj.class, + obj.sources, + ...(Object.keys(obj?.metrics ?? {}).length > 0 ? [ + obj.metrics.maxSecsBetweenUpdates ? moment.duration(obj.metrics.maxSecsBetweenUpdates, "seconds").humanize() : "", + obj.metrics.minSecsBetweenUpdates ? moment.duration(obj.metrics.minSecsBetweenUpdates, "seconds").humanize() : "", + obj.metrics.witnessingCommitteeSize > 0 ? obj.metrics.witnessingCommitteeSize : "", + obj.metrics.maxDeviationPercentage ? `± ${obj.metrics.maxDeviationPercentage.toFixed(1)} %` : "", + obj.metrics.computesEMA ? "yes" : "", + ] : []), + ]; + }), + { + headlines: [ + ":ID4", + ":CAPTION", + ":solver", + ":sources", + ":heartbeat", + ":cooldown", + "wtnss", + "max.dev:", + "EMA", + ], + colors: [ + colors.lwhite, + colors.mgreen, + colors.green, + undefined, + colors.gray, + colors.gray, + colors.gray, + colors.gray, + ], + }, + ); + } else { + console.info(colors.yellow(`^ No price feeds to be settled on ${network.toUpperCase()}!`)); + } } function _checkIfConditionsDiffer(onchain, specs) { diff --git a/scripts/status.cjs b/src/bin/cli/status.cjs similarity index 97% rename from scripts/status.cjs rename to src/bin/cli/status.cjs index 5069964..5872982 100644 --- a/scripts/status.cjs +++ b/src/bin/cli/status.cjs @@ -3,11 +3,11 @@ const { Witnet } = require("@witnet/sdk"); require("dotenv").config({ quiet: true }); const moment = require("moment"); -const { utils, Rulebook } = require("../dist/src/lib"); -const helpers = require("../src/bin/helpers.cjs"); +const { utils, Rulebook } = require("../../../dist/src/lib"); +const helpers = require("../helpers.cjs"); const { colors } = helpers; -const assets = require("../dist/witnet/assets/index.cjs"); +const assets = require("../../../dist/witnet/assets/index.cjs"); const witRpcUrl = helpers.spliceFromArgs(process.argv, `--witnet`); @@ -32,7 +32,7 @@ async function main() { ); const captions = []; - const radHashes = require("../witnet/requests.json"); + const radHashes = require("../../../witnet/requests.json"); const radEntries = Object.entries(radHashes); const { oracles } = priceFeeds;