Run the noter and payout bots on the fixed crypto stack, from their lockfiles

Both images ran `npm install` with version ranges and ignored any lockfile,
so what production ran depended on the day the image was built. The live
containers, built on 2026-10-03, run @pezkuwi/wasm-crypto 7.5.17, whose
ed25519, ecdsa and mnemonic generation are stubs that throw. Both bots sign
with sr25519 only, which is why they kept working.

Each bot now has a package.json and package-lock.json (@pezkuwi/api 16.5.37,
keyring, util and util-crypto 14.0.26, wasm-crypto 7.5.20) and its image
installs exactly that with `npm ci`. Node 20 is past its end of life; the
images move to node:24-alpine.

CI gains a `bots` job that builds each image and runs inside it:
scripts/bot-smoke.mjs checks the installed versions against the lockfile and
signs and verifies with sr25519, ed25519 and ecdsa, and the bot itself must
load and stop at the mnemonic it is not given. Against the previous lockfile
the smoke check fails on mnemonic generation, ed25519 and ecdsa.
This commit is contained in:
Satoshi Qazi Muhammed authored and SatoshiQaziMuhammed committed 2026-10-08 22:45:54 +04:00
1 parent d5b3962f24
commit 2937263461
8 files changed
+1225 -232

No files matched your search

+6 -7
View File
@@ -1,13 +1,12 @@
FROM node:20-alpine
FROM node:24-alpine
WORKDIR /app
COPY package.json ./
RUN npm install \
@pezkuwi/api@^16.5.36 \
@pezkuwi/keyring@^14.0.25 \
@pezkuwi/util@^14.0.25 \
@pezkuwi/util-crypto@^14.0.25
# Install exactly what package-lock.json records, so the image runs the
# versions that were reviewed and tested rather than whatever the ranges
# resolve to on the day it is built.
COPY package.json package-lock.json ./
RUN npm ci --omit=dev --no-audit --no-fund
COPY bot.js ./
+214 -214
View File
@@ -8,10 +8,10 @@
"name": "pezkuwi-noter-bot",
"version": "1.0.0",
"dependencies": {
"@pezkuwi/api": "^16.5.36",
"@pezkuwi/keyring": "^14.0.25",
"@pezkuwi/util": "^14.0.25",
"@pezkuwi/util-crypto": "^14.0.25"
"@pezkuwi/api": "^16.5.37",
"@pezkuwi/keyring": "^14.0.26",
"@pezkuwi/util": "^14.0.26",
"@pezkuwi/util-crypto": "^14.0.26"
}
},
"node_modules/@bizinikiwi/connect": {
@@ -86,26 +86,26 @@
}
},
"node_modules/@pezkuwi/api": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/api/-/api-16.5.36.tgz",
"integrity": "sha512-zlewHN64IvVsvNJpbB7U6LR8XG0O9yuO0IqS+znvLs9F2Dn9Os66X2mFFnpZNMyKurB3VWhpNWUIYvsLy8qoVg==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/api/-/api-16.5.37.tgz",
"integrity": "sha512-juDlShgJ3VOFHblg5pMZonoNoqpNrszmCYhfmA+8al53pMLp/GYcgD6xv9+Yf6rNifY7KzLTPOjjzxQDheNUsQ==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/api-augment": "16.5.36",
"@pezkuwi/api-base": "16.5.36",
"@pezkuwi/api-derive": "16.5.36",
"@pezkuwi/keyring": "14.0.25",
"@pezkuwi/rpc-augment": "16.5.36",
"@pezkuwi/rpc-core": "16.5.36",
"@pezkuwi/rpc-provider": "16.5.36",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-augment": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/types-create": "16.5.36",
"@pezkuwi/types-known": "16.5.36",
"@pezkuwi/types-support": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25",
"@pezkuwi/api-augment": "16.5.37",
"@pezkuwi/api-base": "16.5.37",
"@pezkuwi/api-derive": "16.5.37",
"@pezkuwi/keyring": "14.0.26",
"@pezkuwi/rpc-augment": "16.5.37",
"@pezkuwi/rpc-core": "16.5.37",
"@pezkuwi/rpc-provider": "16.5.37",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-augment": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/types-create": "16.5.37",
"@pezkuwi/types-known": "16.5.37",
"@pezkuwi/types-support": "16.5.37",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26",
"eventemitter3": "^5.0.1",
"rxjs": "^7.8.1",
"tslib": "^2.8.1"
@@ -115,17 +115,17 @@
}
},
"node_modules/@pezkuwi/api-augment": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/api-augment/-/api-augment-16.5.36.tgz",
"integrity": "sha512-f42DSdMTKAVQywYaUcnDoxGS8DFvb4hfAxSghOJYONlH6LyBkfkWbRITh9mKrSoxDcovM44GhuiC6SxNXTx9cQ==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/api-augment/-/api-augment-16.5.37.tgz",
"integrity": "sha512-EfQZuebTbO0sFNWUN7+DTBeH38X70rZPj0oV/VnMFO/LT3bFCqOdbFCyV14j7FvEheZ6yajPQ3+uJknuVM7Ytg==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/api-base": "16.5.36",
"@pezkuwi/rpc-augment": "16.5.36",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-augment": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/api-base": "16.5.37",
"@pezkuwi/rpc-augment": "16.5.37",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-augment": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/util": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -133,14 +133,14 @@
}
},
"node_modules/@pezkuwi/api-base": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/api-base/-/api-base-16.5.36.tgz",
"integrity": "sha512-czmyuDZkA4Qi7hkFLR8KmnHMyQjM0GJXyS92rdylFPip5FZb9cdys5j1B79gKTVirhTynVACB5FCYnwpWtf5Lg==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/api-base/-/api-base-16.5.37.tgz",
"integrity": "sha512-DTh1/xaUmjyudQxMCWFOxmCrC+Oar5duZa9z4k2BSKdqS48PKWVUlpo36GquH/Iu3fzdoYG59ZF07KAP94Eq3w==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/rpc-core": "16.5.36",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/rpc-core": "16.5.37",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/util": "14.0.26",
"rxjs": "^7.8.1",
"tslib": "^2.8.1"
},
@@ -149,21 +149,21 @@
}
},
"node_modules/@pezkuwi/api-derive": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/api-derive/-/api-derive-16.5.36.tgz",
"integrity": "sha512-tiyiQZFCOStzzclfQdgKpVpg8iZX6sqO01IIEvqRiJfTgaglUfGunmsicvVgFz0rwgVkodDTpkgwSGq1lZl/FQ==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/api-derive/-/api-derive-16.5.37.tgz",
"integrity": "sha512-cDyRUUZ6hNcL6H2lLcig/NihpgynyEkpTjXZ19MqPAYaP3Uu60rlkZBQ2QLIJOKBF8DUN/pDEh5puh/+w9VhAA==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/api": "16.5.36",
"@pezkuwi/api-augment": "16.5.36",
"@pezkuwi/api-base": "16.5.36",
"@pezkuwi/rpc-core": "16.5.36",
"@pezkuwi/rpc-provider": "16.5.36",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/types-support": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25",
"@pezkuwi/api": "16.5.37",
"@pezkuwi/api-augment": "16.5.37",
"@pezkuwi/api-base": "16.5.37",
"@pezkuwi/rpc-core": "16.5.37",
"@pezkuwi/rpc-provider": "16.5.37",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/types-support": "16.5.37",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26",
"rxjs": "^7.8.1",
"tslib": "^2.8.1"
},
@@ -172,30 +172,30 @@
}
},
"node_modules/@pezkuwi/keyring": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/keyring/-/keyring-14.0.25.tgz",
"integrity": "sha512-EJBA4u2Sw4bpPjjTvmVi8ggRAEblq/L3D/SiaEn40ftv0qJGziluxEaYG4/iTVXmfbCuzu9xNKbIwmWldBWQBQ==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/keyring/-/keyring-14.0.26.tgz",
"integrity": "sha512-stcWcKFKgS1DbIq1CTRzPdpOXuLudFiRPN8MZ0B8COJGKkqElHleWEWC55nhjG3bLZaTUHveuAsMURhu3wHAbg==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26",
"tslib": "^2.8.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25"
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26"
}
},
"node_modules/@pezkuwi/networks": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/networks/-/networks-14.0.25.tgz",
"integrity": "sha512-wTkWXwWWv/YU6KYx/Z1o98x0/6GV7H1demRT0NmOhXrlnWvSbReXsvm0YTnZlqArLuAPAhJlFi2jzfbARKZh+g==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/networks/-/networks-14.0.26.tgz",
"integrity": "sha512-omDbJzFjDSm1FS32zebyNP1QGBk9/ZayM0YM0mUlOOwiLIP7iDVq3KQe2JdI7hm1dz01Lm68/hjerSoqiWEclA==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util": "14.0.26",
"@substrate/ss58-registry": "^1.51.0",
"tslib": "^2.8.0"
},
@@ -204,15 +204,15 @@
}
},
"node_modules/@pezkuwi/rpc-augment": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/rpc-augment/-/rpc-augment-16.5.36.tgz",
"integrity": "sha512-u7nqzDJpqjVZbFwWYIQAeKegI7XZ7XmD1d2LtoOoA/FKBzH6HDgGK3kEIodRBM6w8LuqyB9h8oXK/DrxR1OElg==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/rpc-augment/-/rpc-augment-16.5.37.tgz",
"integrity": "sha512-WvHG9Zu/d3eaDgsf/SAHEAoPdkeDZ6BXAhLsWJEVaFL8eT5bLpuf3qOoZ7b7rRegaW5KfGlhXluiJSDuB6Q3Lg==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/rpc-core": "16.5.36",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/rpc-core": "16.5.37",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/util": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -220,16 +220,16 @@
}
},
"node_modules/@pezkuwi/rpc-core": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/rpc-core/-/rpc-core-16.5.36.tgz",
"integrity": "sha512-duGBL4Lt17+ireW8Ku3Mtb700f21kw8qGkAvvhwp9G+949ZcwbpHWlToZ7umQe1qTQS8iTiMvA/xpH3HXg2UQw==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/rpc-core/-/rpc-core-16.5.37.tgz",
"integrity": "sha512-waP8ieN89eKAXsUx1Y1rHn2k9snRgUJhiEfox2by9X0Unbap5GAbDG/pu1buBBxpYz4Jni4zVgdV1aoAya8vJQ==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/keyring": "14.0.25",
"@pezkuwi/rpc-augment": "16.5.36",
"@pezkuwi/rpc-provider": "16.5.36",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/keyring": "14.0.26",
"@pezkuwi/rpc-augment": "16.5.37",
"@pezkuwi/rpc-provider": "16.5.37",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/util": "14.0.26",
"rxjs": "^7.8.1",
"tslib": "^2.8.1"
},
@@ -238,19 +238,19 @@
}
},
"node_modules/@pezkuwi/rpc-provider": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/rpc-provider/-/rpc-provider-16.5.36.tgz",
"integrity": "sha512-kNaLr+yx99MsmxBFf+VPZV+0GglHNrhNie9O6QWbQj8R6CGVN/dB39ohSHoAh0wJXPzumhLiQ8tFOlj3Czh6FQ==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/rpc-provider/-/rpc-provider-16.5.37.tgz",
"integrity": "sha512-B727rg9hOBON+CwSffJCFpfKjkMbaDvEGs+HyDnUvZjU8yFp4b/WW7yax84ZL5Dv9dOm1WPDoPKDA1w1+JVqdw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/keyring": "14.0.25",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-support": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25",
"@pezkuwi/x-fetch": "14.0.25",
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-ws": "14.0.25",
"@pezkuwi/keyring": "14.0.26",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-support": "16.5.37",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26",
"@pezkuwi/x-fetch": "14.0.26",
"@pezkuwi/x-global": "14.0.26",
"@pezkuwi/x-ws": "14.0.26",
"eventemitter3": "^5.0.1",
"mock-socket": "^9.3.1",
"nock": "^13.5.5",
@@ -274,18 +274,18 @@
}
},
"node_modules/@pezkuwi/types": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/types/-/types-16.5.36.tgz",
"integrity": "sha512-8g5PxNHzpT0aH3mUWsICnpRdgXAMTzN3PK68xlPLujN8op41d5IoLY9HzeVYFVAndCiaKxXSusOsVeDusVmY4g==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/types/-/types-16.5.37.tgz",
"integrity": "sha512-sMNw7xJMLkv4qgGJTQkFe1oyyWVRcDxDswJFUc3P90KkKDdPlBRtJDEqG3L1MnFv5ES4c3WGTDhdUXXiKFppiA==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/keyring": "14.0.25",
"@pezkuwi/types-augment": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/types-create": "16.5.36",
"@pezkuwi/types-support": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25",
"@pezkuwi/keyring": "14.0.26",
"@pezkuwi/types-augment": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/types-create": "16.5.37",
"@pezkuwi/types-support": "16.5.37",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26",
"rxjs": "^7.8.1",
"tslib": "^2.8.1"
},
@@ -294,14 +294,14 @@
}
},
"node_modules/@pezkuwi/types-augment": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-augment/-/types-augment-16.5.36.tgz",
"integrity": "sha512-Uxk+/7SBifqbFkGhWavb47uHP7PFHHNKiC+1rD7R8ilYTR/RO6o4VbLoq51S4ng7h+P6rqf/5ABTWbE1MOTPXg==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-augment/-/types-augment-16.5.37.tgz",
"integrity": "sha512-JcXtBFg9p99speS5RI1Sh0SQZWlD+SO1nMkxQ3HGwzKQG842B0/UrMykkpP7hxZ6rGDDIepnX8ytqqslZXUZ2A==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/util": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -309,17 +309,17 @@
}
},
"node_modules/@pezkuwi/types-codec": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-codec/-/types-codec-16.5.36.tgz",
"integrity": "sha512-ETAG5yubw1kA0esORBwtLYwEQTfPZvMcQYniyRjqLebXU/Vht+NASmMNUNZ9MvtyqQs4BdPmLkAU5ZJiRyhO4w==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-codec/-/types-codec-16.5.37.tgz",
"integrity": "sha512-Bu3Kq0URBDd3CskZWsKPP/jb4Q6PnFJ/R7p8RPF1P1TZQ5fhSEKbDZ8+qpkrfPHQGFDrBMnAGVTtot08cVbHiw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-augment": "16.5.36",
"@pezkuwi/types-support": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util-crypto": "14.0.25",
"@pezkuwi/x-bigint": "14.0.25",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-augment": "16.5.37",
"@pezkuwi/types-support": "16.5.37",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/util-crypto": "14.0.26",
"@pezkuwi/x-bigint": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -327,14 +327,14 @@
}
},
"node_modules/@pezkuwi/types-create": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-create/-/types-create-16.5.36.tgz",
"integrity": "sha512-xZ2knB+wGnFFOeIy+0b56P6OUCZtzNcP0fk24umN/SCEs2a212QMhQ7Fyd9lhJZSmnZqiOljQaw5VRGqblMtlQ==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-create/-/types-create-16.5.37.tgz",
"integrity": "sha512-iViQ2wnIHWrv4OkL33eIxc9Z9eE8THZWkyEIn3a/jXnLij0H1unlzOXwcdsAe5lKhADamZDsMIBlQ5bYzsGSSg==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/util": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -342,16 +342,16 @@
}
},
"node_modules/@pezkuwi/types-known": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-known/-/types-known-16.5.36.tgz",
"integrity": "sha512-niILSGCNt2s/GsbnFwBcoxi35y6CI7Y/HMKm3ZyKk9hwiY70wnfJK2DIu9ObBSXalRxbD0Sni9T3XZmYxIxhkQ==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-known/-/types-known-16.5.37.tgz",
"integrity": "sha512-+c1Fk3CQ0eIkv6brwfv8A64E9lSLg5XPFW4x7h5fR34PzpdfTvP7R2xcBIVlIkHd3JQUTsGP/zNXWHCi1EpHJg==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/networks": "14.0.25",
"@pezkuwi/types": "16.5.36",
"@pezkuwi/types-codec": "16.5.36",
"@pezkuwi/types-create": "16.5.36",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/networks": "14.0.26",
"@pezkuwi/types": "16.5.37",
"@pezkuwi/types-codec": "16.5.37",
"@pezkuwi/types-create": "16.5.37",
"@pezkuwi/util": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -359,12 +359,12 @@
}
},
"node_modules/@pezkuwi/types-support": {
"version": "16.5.36",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-support/-/types-support-16.5.36.tgz",
"integrity": "sha512-+EWMQjs50e5eHPX5jZ4HnTqCQxhRJf/FioGfJtBqpchW0dypg08blz6qw48Y2oQ3lUsA2s4wZbObIBIfO5xtYA==",
"version": "16.5.37",
"resolved": "https://registry.npmjs.org/@pezkuwi/types-support/-/types-support-16.5.37.tgz",
"integrity": "sha512-rfi7qhSysUweQEyAfe/qk26M2HZotf/xylb6gcfhWJkwiSURhW4Jof/1Rye5SSssk7nCfQcgfYUFDE+oWOHuog==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/util": "14.0.25",
"@pezkuwi/util": "14.0.26",
"tslib": "^2.8.1"
},
"engines": {
@@ -372,15 +372,15 @@
}
},
"node_modules/@pezkuwi/util": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/util/-/util-14.0.25.tgz",
"integrity": "sha512-OCqCieVmdI74c8GfSLkuC1xpcMJTIez5YxWcVssxR0NpA462fXc1uHaIZBit/aHgYXn18G3TMeGBxSx1DVLWpg==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/util/-/util-14.0.26.tgz",
"integrity": "sha512-xV7uct4jtIqf+9LixcCoTgYz8JEZ2eK6aosMD92Zu5DRPSW87QcCYBQuq8Phec0LdjGvC/l7DgiloQODhTtHWA==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-bigint": "14.0.25",
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-textdecoder": "14.0.25",
"@pezkuwi/x-textencoder": "14.0.25",
"@pezkuwi/x-bigint": "14.0.26",
"@pezkuwi/x-global": "14.0.26",
"@pezkuwi/x-textdecoder": "14.0.26",
"@pezkuwi/x-textencoder": "14.0.26",
"@types/bn.js": "^5.1.6",
"bn.js": "^5.2.1",
"tslib": "^2.8.0"
@@ -390,20 +390,20 @@
}
},
"node_modules/@pezkuwi/util-crypto": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/util-crypto/-/util-crypto-14.0.25.tgz",
"integrity": "sha512-SZLOx8J8+l9oEHOPOFbzcdKeyr7zvGOgD1WQ74ylYTZN+VRzMvSYOAio8HZObwSc5dc0mmzoc5HlrpFFDreNBQ==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/util-crypto/-/util-crypto-14.0.26.tgz",
"integrity": "sha512-YR+3N2FwKx3q9NF11q75O0lJ+SKpM9CNKPE7rLEoPvFt7wpHpB/GXOAekYhNtrotkcsI8v/WoyOi4RI9NiwYVQ==",
"license": "Apache-2.0",
"dependencies": {
"@noble/curves": "^1.3.0",
"@noble/hashes": "^1.3.3",
"@pezkuwi/networks": "14.0.25",
"@noble/curves": "^1.9.7",
"@noble/hashes": "^1.8.0",
"@pezkuwi/networks": "14.0.26",
"@pezkuwi/scure-sr25519": "^0.2.1",
"@pezkuwi/util": "14.0.25",
"@pezkuwi/wasm-crypto": "7.5.17",
"@pezkuwi/wasm-util": "7.5.17",
"@pezkuwi/x-bigint": "14.0.25",
"@pezkuwi/x-randomvalues": "14.0.25",
"@pezkuwi/util": "14.0.26",
"@pezkuwi/wasm-crypto": "^7.5.20",
"@pezkuwi/wasm-util": "^7.5.20",
"@pezkuwi/x-bigint": "14.0.26",
"@pezkuwi/x-randomvalues": "14.0.26",
"@scure/base": "^1.1.7",
"tslib": "^2.8.0"
},
@@ -411,16 +411,16 @@
"node": ">=18"
},
"peerDependencies": {
"@pezkuwi/util": "14.0.25"
"@pezkuwi/util": "14.0.26"
}
},
"node_modules/@pezkuwi/wasm-bridge": {
"version": "7.5.17",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-bridge/-/wasm-bridge-7.5.17.tgz",
"integrity": "sha512-7mk6+9XzPReP60MLl+oxeq3SxadK13J4LfmzJWa2Bl08SyTwrpOPgD1ohowd1IvBVbMgnqPGr6BDnso8lEI1fw==",
"version": "7.5.20",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-bridge/-/wasm-bridge-7.5.20.tgz",
"integrity": "sha512-JKgDtLvQzT6uBfD8PcSD7Nud4OB8u6BJjABADDLxFrxHPsKbQNnkTd6f/27GfbkOJL4p17fWwoACICp/oEDxCw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/wasm-util": "7.5.17",
"@pezkuwi/wasm-util": "7.5.20",
"tslib": "^2.7.0"
},
"engines": {
@@ -432,17 +432,17 @@
}
},
"node_modules/@pezkuwi/wasm-crypto": {
"version": "7.5.17",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto/-/wasm-crypto-7.5.17.tgz",
"integrity": "sha512-RmXyo3V4VIUqlInRtsolD90Tg6iLgSGyZ8EFbKqnvzmoKreVA3ybnW8gqBxioQXkfCQKl63jnSAmd3mV0VwYNg==",
"version": "7.5.20",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto/-/wasm-crypto-7.5.20.tgz",
"integrity": "sha512-7yo9CjFMiqzpWdVn8ZCT93YG4pMnmk/VzYzviSmXzzfY13wVW0M8VwwXijq5h9b3qTtaZR+F/fEPr0eUT9sO1g==",
"license": "Apache-2.0",
"dependencies": {
"@noble/hashes": "^1.3.3",
"@pezkuwi/wasm-bridge": "7.5.17",
"@pezkuwi/wasm-crypto-asmjs": "7.5.17",
"@pezkuwi/wasm-crypto-init": "7.5.17",
"@pezkuwi/wasm-crypto-wasm": "7.5.17",
"@pezkuwi/wasm-util": "7.5.17",
"@pezkuwi/wasm-bridge": "7.5.20",
"@pezkuwi/wasm-crypto-asmjs": "7.5.20",
"@pezkuwi/wasm-crypto-init": "7.5.20",
"@pezkuwi/wasm-crypto-wasm": "7.5.20",
"@pezkuwi/wasm-util": "7.5.20",
"tslib": "^2.7.0"
},
"engines": {
@@ -454,9 +454,9 @@
}
},
"node_modules/@pezkuwi/wasm-crypto-asmjs": {
"version": "7.5.17",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.5.17.tgz",
"integrity": "sha512-akM7/goSqYenoQXQYYiMP2esxka6IaqhcidKB54FAucvtIO5O2LtbAfCeNN+e5xyiAeTcTUXbSrVzDOd4+3czA==",
"version": "7.5.20",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.5.20.tgz",
"integrity": "sha512-Yvd1168GjXREiOViGb+veXbEYBWEv2wS5qPZMeI7g3FeGx8pBbczvi29cTa5j/U5dmdq7ryb8rLKoXEFWG2Xkw==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.7.0"
@@ -469,15 +469,15 @@
}
},
"node_modules/@pezkuwi/wasm-crypto-init": {
"version": "7.5.17",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto-init/-/wasm-crypto-init-7.5.17.tgz",
"integrity": "sha512-q/T6sj8bFL2JPeTmSGbwd8E4LpK+hKdAhDR86jrZ/rKMNuLnYMSYuiR7GraymYFqlG2yLZoJihKn5b8J40YjaQ==",
"version": "7.5.20",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto-init/-/wasm-crypto-init-7.5.20.tgz",
"integrity": "sha512-rtsGn81dvnlb1Qmlm8hPaXOlE6Cn0rrvYUirNEHLvn55D6irGEoCEuON9nNuGjamw09En8GrK3P59Y2mDkFCmw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/wasm-bridge": "7.5.17",
"@pezkuwi/wasm-crypto-asmjs": "7.5.17",
"@pezkuwi/wasm-crypto-wasm": "7.5.17",
"@pezkuwi/wasm-util": "7.5.17",
"@pezkuwi/wasm-bridge": "7.5.20",
"@pezkuwi/wasm-crypto-asmjs": "7.5.20",
"@pezkuwi/wasm-crypto-wasm": "7.5.20",
"@pezkuwi/wasm-util": "7.5.20",
"tslib": "^2.7.0"
},
"engines": {
@@ -489,12 +489,12 @@
}
},
"node_modules/@pezkuwi/wasm-crypto-wasm": {
"version": "7.5.17",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto-wasm/-/wasm-crypto-wasm-7.5.17.tgz",
"integrity": "sha512-yg9/ldrHSUaIJ+db7vuPkU6DBw/SAuU4kK2L05LEbFeC093SfRS4f0qnIwNhlgjEJVsAfSWjZXOGBAM1Mc8aHg==",
"version": "7.5.20",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-crypto-wasm/-/wasm-crypto-wasm-7.5.20.tgz",
"integrity": "sha512-znId0RjOrHNTcMHtifW3IVYTJiDt/pVTjQC5MHA1KqBDuiEFHWFWKcGVe/aieXN4pvLqCZZtm4G1X80qDBHdTQ==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/wasm-util": "7.5.17",
"@pezkuwi/wasm-util": "7.5.20",
"tslib": "^2.7.0"
},
"engines": {
@@ -505,9 +505,9 @@
}
},
"node_modules/@pezkuwi/wasm-util": {
"version": "7.5.17",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-util/-/wasm-util-7.5.17.tgz",
"integrity": "sha512-MHodOmAuldNmmkTwZgGmSvCvUbhgR79N6biG6QVXrUtwVGUK37IUx/195T1cG0IZaSjLsWwz3olhksto5z54Lw==",
"version": "7.5.20",
"resolved": "https://registry.npmjs.org/@pezkuwi/wasm-util/-/wasm-util-7.5.20.tgz",
"integrity": "sha512-bYHtbtiDdBtK/SRQMtMFGhrk4BvTe85vPqPI4CwDt8tJUmEuLgl0uHNJd9jSUcK784EQdo5E3yKYksGaHy80dQ==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.7.0"
@@ -520,12 +520,12 @@
}
},
"node_modules/@pezkuwi/x-bigint": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-bigint/-/x-bigint-14.0.25.tgz",
"integrity": "sha512-9CG28jPK0EUuXTn8QWnsYjXycfHBVQCR5QGJ17hgRenzRRDzoIB5unhC0XklcIh5U/KO88TPRVZKKiwSfQXlKg==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-bigint/-/x-bigint-14.0.26.tgz",
"integrity": "sha512-TiCUVJiW07KurXot79AuKsqdIKGCtysMVDKLGlUc7mxlDJ+BCNJVmi9D0vvbB/gboxfJqONFQKt8eOXHKFg1iw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-global": "14.0.26",
"tslib": "^2.8.0"
},
"engines": {
@@ -533,12 +533,12 @@
}
},
"node_modules/@pezkuwi/x-fetch": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-fetch/-/x-fetch-14.0.25.tgz",
"integrity": "sha512-fiNYdYMq0OdYsSUwVBA68eKieeQ+PJYniEeCRNvkMUN1LUWMzdv9zTTPRtsGUEGm12y9uUgymgD92eo4PSoJog==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-fetch/-/x-fetch-14.0.26.tgz",
"integrity": "sha512-XVpFZ/Bk1l7dKYcC+1RMJlvQEbbyfQ/Ou4I8rTSv6MvaCtfD3vl0TxolHnhwA564eyemLfoidF/Kvbfmnz7mlg==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-global": "14.0.26",
"node-fetch": "^3.3.2",
"tslib": "^2.8.0"
},
@@ -547,9 +547,9 @@
}
},
"node_modules/@pezkuwi/x-global": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-global/-/x-global-14.0.25.tgz",
"integrity": "sha512-WxY0dCOWFfqqd2jtLNX8BmJMCR5NTlc9QBuL3u4TwF6yAc4jKqlq3F1J1vAMESnBwnR1jUepKgn+2dpGuspJYw==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-global/-/x-global-14.0.26.tgz",
"integrity": "sha512-3D/dgFUugJfJ59JETey2EPpWL7X7NOrSEgNj1Rt3Vu9zR74QNocc5HEcyapFKj2hNNp5gPPDOOWbrLkkDnbdXw==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.8.0"
@@ -559,29 +559,29 @@
}
},
"node_modules/@pezkuwi/x-randomvalues": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-randomvalues/-/x-randomvalues-14.0.25.tgz",
"integrity": "sha512-Kkbkdv8e2XZEnhwJHaqM27wKn25fc/Dt6neGy3x150AVuf4EjWnM0Q9pNVC4WQKbThvDQ8SvzCdfZos4Lae8sA==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-randomvalues/-/x-randomvalues-14.0.26.tgz",
"integrity": "sha512-9tQ5+e7b5sC6y7NWFojfkfKZNSmWBpB1dnuyMv5vJMPlBPlsscTYARfk8ln860XWLdemQBYBvYbibmEBtLFfSQ==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-global": "14.0.26",
"tslib": "^2.8.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@pezkuwi/util": "14.0.25",
"@pezkuwi/wasm-util": "7.5.17"
"@pezkuwi/util": "14.0.26",
"@pezkuwi/wasm-util": "*"
}
},
"node_modules/@pezkuwi/x-textdecoder": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-textdecoder/-/x-textdecoder-14.0.25.tgz",
"integrity": "sha512-ecse2X9BKG164BfCesCZfL3lZU+XAdLjaOKzLqPB+hlTshHVnnSAvUvZNaw4zq9ztBVhhktxZ9K27S1w8ZANMg==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-textdecoder/-/x-textdecoder-14.0.26.tgz",
"integrity": "sha512-O3l/pcT+7q89COMe+h+Gr+HLLym3k0RfWXWwEg6RYGBHxp77GfixwqAR/o6k6rBXNfxlAY60RcYUqu+DGkKSZw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-global": "14.0.26",
"tslib": "^2.8.0"
},
"engines": {
@@ -589,12 +589,12 @@
}
},
"node_modules/@pezkuwi/x-textencoder": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-textencoder/-/x-textencoder-14.0.25.tgz",
"integrity": "sha512-0R25a5V8ykoHCHwl2zYsW6FxQlGdPgHiaGUUqY4wfnNAyUsolsm1YU772vfNfARdLN6K+jiRdQ6I6RW114LtgQ==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-textencoder/-/x-textencoder-14.0.26.tgz",
"integrity": "sha512-aUk+h0g5iO+V3CZV1vdlRy4G9MbE0SbomB5Lw/8IkuQ+wNPK9JQ1FlArMhxVBfXM9JD8DPih/ViZsaNhWfjVVw==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-global": "14.0.26",
"tslib": "^2.8.0"
},
"engines": {
@@ -602,12 +602,12 @@
}
},
"node_modules/@pezkuwi/x-ws": {
"version": "14.0.25",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-ws/-/x-ws-14.0.25.tgz",
"integrity": "sha512-YwbnTl+EF3Gtp2qrs/23Qo2FkpPB2y+0HGa4XovyfbDk7iAXJuIAAw0sq2StxVF1NsSm0DZIyX1GJU+nyM/5Pw==",
"version": "14.0.26",
"resolved": "https://registry.npmjs.org/@pezkuwi/x-ws/-/x-ws-14.0.26.tgz",
"integrity": "sha512-ZAvB5WgDJXSkunlZ/b2X/CJaft1eHztoWKO7SYgahk8NftAEIFet1SnWJoYL4TPvM/B9ReacNislIQXGwH0WYQ==",
"license": "Apache-2.0",
"dependencies": {
"@pezkuwi/x-global": "14.0.25",
"@pezkuwi/x-global": "14.0.26",
"tslib": "^2.8.0",
"ws": "^8.18.0"
},
@@ -640,12 +640,12 @@
}
},
"node_modules/@types/node": {
"version": "25.2.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz",
"integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==",
"version": "26.6.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz",
"integrity": "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==",
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
"undici-types": "~8.9.0"
}
},
"node_modules/bn.js": {
@@ -829,9 +829,9 @@
"license": "0BSD"
},
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"version": "8.9.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz",
"integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==",
"license": "MIT"
},
"node_modules/web-streams-polyfill": {
+6 -5
View File
@@ -8,9 +8,10 @@
"dev": "node --watch bot.js"
},
"dependencies": {
"@pezkuwi/api": "^16.5.36",
"@pezkuwi/keyring": "^14.0.25",
"@pezkuwi/util": "^14.0.25",
"@pezkuwi/util-crypto": "^14.0.25"
}
"@pezkuwi/api": "^16.5.37",
"@pezkuwi/keyring": "^14.0.26",
"@pezkuwi/util": "^14.0.26",
"@pezkuwi/util-crypto": "^14.0.26"
},
"private": true
}