feat: Publish runtime release Github action (#196)

This commit is contained in:
Steve Degosserie 2025-09-30 14:53:15 +02:00 committed by GitHub
parent 91e29700a3
commit 51f4e1b0f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 1125 additions and 13 deletions

View file

@ -0,0 +1,192 @@
name: Publish Runtime Draft
# The code (like generate-release-body) will be taken from the tag versions, not master
on:
workflow_dispatch:
inputs:
from:
description: tag (ex. runtime-53) to retrieve commit diff from
required: true
to:
description: tag (ex. runtime-155) to generate release note and srtool runtimes from
required: true
jobs:
####### Build runtimes with srtool #######
setup-scripts:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v5
- name: Upload scripts
uses: actions/upload-artifact@v4
with:
name: original-scripts
path: operator/scripts
- name: Upload tools
uses: actions/upload-artifact@v4
with:
name: original-tools
path: tools
read-rust-version:
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
rust_version: ${{ steps.get-version.outputs.rust_version }}
steps:
- uses: actions/checkout@v5
- id: get-version
run: |
RUST_VERSION=$(cat rust-toolchain | grep channel | grep --only-matching --perl-regexp "(\d+\.){2}\d+(-nightly)?")
echo "rust_version=$RUST_VERSION" >> $GITHUB_OUTPUT
build-srtool-runtimes:
needs: ["setup-scripts", "read-rust-version"]
runs-on: DH-runners
permissions:
contents: read
strategy:
matrix:
chain: ["stagenet", "testnet", "mainnet"]
srtool_image:
- paritytech/srtool
srtool_image_tag:
- ${{ needs.read-rust-version.outputs.rust_version }}
steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.event.inputs.to }}
- name: Login to DockerHub
uses: docker/login-action@v3
if: github.repository == 'datahaven-xyz/datahaven'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
registry: index.docker.io
- name: Download original scripts
uses: actions/download-artifact@v5
with:
name: original-scripts
path: original-scripts
- name: Build runtime using "${{ matrix.srtool_image }}:${{ matrix.srtool_image_tag }}"
id: srtool_build
env:
GH_WORKFLOW_MATRIX_CHAIN: ${{ matrix.chain }}
GH_WORKFLOW_MATRIX_SRTOOL_IMAGE: ${{ matrix.srtool_image }}
GH_WORKFLOW_MATRIX_SRTOOL_IMAGE_TAG: ${{ matrix.srtool_image_tag }}
RUNTIME_BUILD_OPTS: "--features=on-chain-release-build"
RUNTIME_BUILD_PROFILE: "production"
run: |
# Ensure we have permissions to write to the runtime folder target for the docker user
mkdir -p runtime/${GH_WORKFLOW_MATRIX_CHAIN}/target
chmod uog+rwX runtime/${GH_WORKFLOW_MATRIX_CHAIN}/target
chmod u+x ./original-scripts/build-runtime-srtool.sh
./original-scripts/build-runtime-srtool.sh
- name: Summary
run: |
echo '${{ steps.srtool_build.outputs.json }}' | jq . > ${{ matrix.chain }}-srtool-digest.json
cat ${{ matrix.chain }}-srtool-digest.json
cp ${{ steps.srtool_build.outputs.wasm_compressed }} ${{ matrix.chain }}-runtime.compact.compressed.wasm
- name: Archive Artifacts for ${{ matrix.chain }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.chain }}-runtime
path: |
${{ matrix.chain }}-runtime.compact.compressed.wasm
${{ matrix.chain }}-srtool-digest.json
####### Prepare the release draft #######
publish-draft-release:
runs-on: ubuntu-latest
permissions:
contents: write
needs: ["setup-scripts", "build-srtool-runtimes"]
outputs:
release_url: ${{ steps.create-release.outputs.html_url }}
steps:
- name: Checkout
uses: actions/checkout@v5
with:
ref: ${{ github.event.inputs.to }}
fetch-depth: 0
- name: Download stagenet runtime
uses: actions/download-artifact@v5
with:
name: stagenet-runtime
path: build
- name: Download testnet runtime
uses: actions/download-artifact@v5
with:
name: testnet-runtime
path: build
- name: Download mainnet runtime
uses: actions/download-artifact@v5
with:
name: mainnet-runtime
path: build
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: "test/.nvmrc"
- name: Download Original Tools
uses: actions/download-artifact@v5
with:
name: original-tools
path: original-tools
- name: Generate release body
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
id: generate-release-body
working-directory: original-tools
run: |
yarn
yarn -s run ts-node github/generate-runtimes-body.ts --owner "${{ github.repository_owner }}" --repo "$(basename ${{ github.repository }})" --from "${{ github.event.inputs.from }}" --to "${{ github.event.inputs.to }}" --srtool-report-folder '../build/' > ../body.md
- name: Get runtime versions
id: get-runtime-ver
run: |
runtime_stagenet_ver="$(cat ./operator/runtime/stagenet/src/lib.rs | grep -o 'spec_version: [0-9]*' | tail -1 | grep -o '[0-9]*')"
echo "runtime_stagenet_ver=$runtime_stagenet_ver" >> $GITHUB_OUTPUT
runtime_testnet_ver="$(cat ./operator/runtime/testnet/src/lib.rs | grep -o 'spec_version: [0-9]*' | tail -1 | grep -o '[0-9]*')"
echo "runtime_testnet_ver=$runtime_testnet_ver" >> $GITHUB_OUTPUT
runtime_mainnet_ver="$(cat ./operator/runtime/mainnet/src/lib.rs | grep -o 'spec_version: [0-9]*' | tail -1 | grep -o '[0-9]*')"
echo "runtime_mainnet_ver=$runtime_mainnet_ver" >> $GITHUB_OUTPUT
- name: Prepare runtime assets
working-directory: build
run: |
# Get runtime versions from the previous step
runtime_stagenet_ver="${{ steps.get-runtime-ver.outputs.runtime_stagenet_ver }}"
runtime_testnet_ver="${{ steps.get-runtime-ver.outputs.runtime_testnet_ver }}"
runtime_mainnet_ver="${{ steps.get-runtime-ver.outputs.runtime_mainnet_ver }}"
# Rename files with version numbers
mv stagenet-runtime.compact.compressed.wasm ../stagenet-runtime-${runtime_stagenet_ver}.wasm
mv stagenet-srtool-digest.json ../stagenet-runtime-${runtime_stagenet_ver}.srtool-digest.json
mv testnet-runtime.compact.compressed.wasm ../testnet-runtime-${runtime_testnet_ver}.wasm
mv testnet-srtool-digest.json ../testnet-runtime-${runtime_testnet_ver}.srtool-digest.json
mv mainnet-runtime.compact.compressed.wasm ../mainnet-runtime-${runtime_mainnet_ver}.wasm
mv mainnet-srtool-digest.json ../mainnet-runtime-${runtime_mainnet_ver}.srtool-digest.json
- name: Create draft release with runtime assets
id: create-release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.inputs.to }}
name: Runtime ${{ github.event.inputs.to }}
body_path: body.md
draft: true
files: |
stagenet-runtime-${{ steps.get-runtime-ver.outputs.runtime_stagenet_ver }}.wasm
stagenet-runtime-${{ steps.get-runtime-ver.outputs.runtime_stagenet_ver }}.srtool-digest.json
testnet-runtime-${{ steps.get-runtime-ver.outputs.runtime_testnet_ver }}.wasm
testnet-runtime-${{ steps.get-runtime-ver.outputs.runtime_testnet_ver }}.srtool-digest.json
mainnet-runtime-${{ steps.get-runtime-ver.outputs.runtime_mainnet_ver }}.wasm
mainnet-runtime-${{ steps.get-runtime-ver.outputs.runtime_mainnet_ver }}.srtool-digest.json

View file

@ -0,0 +1,44 @@
#!/bin/bash
# CARGO_NET_GIT_FETCH_WITH_CLI=true and --entrypoint /srtool/entrypoint.sh
# are required to allow srtool to fetch from github private repositories
# self-hosted runner uses user `maintenance` to match srtool `builder` user 1001
# $(~/srtool/uid-gid-mapping.sh 1001 | xargs) is used to map the user and group
# Docker command to generate JSON blob of the runtime
CMD="docker run \
-i \
--rm \
-e CARGO_NET_GIT_FETCH_WITH_CLI=true \
-e PACKAGE=${GH_WORKFLOW_MATRIX_CHAIN}-runtime \
-e RUNTIME_DIR=runtime/${GH_WORKFLOW_MATRIX_CHAIN} \
-e BUILD_OPTS=${RUNTIME_BUILD_OPTS} \
-e PROFILE=${RUNTIME_BUILD_PROFILE} \
-e WASM_BUILD_STD=0 \
-v "${PWD}:/build" \
${GH_WORKFLOW_MATRIX_SRTOOL_IMAGE}:${GH_WORKFLOW_MATRIX_SRTOOL_IMAGE_TAG} \
build --app --json -cM"
# Here we run the command and stream the output (JSON blob) to a variable
stdbuf -oL $CMD | {
while IFS= read -r line
do
echo$line
JSON="$line"
done
echo "json=$JSON" >> $GITHUB_OUTPUT
PROP=$(echo $JSON | jq -r .runtimes.compact.prop)
echo "proposal_hash=$PROP" >> $GITHUB_OUTPUT
WASM=$(echo $JSON | jq -r .runtimes.compact.wasm)
echo "wasm=$WASM" >> $GITHUB_OUTPUT
Z_WASM=$(echo $JSON | jq -r .runtimes.compressed.wasm)
echo "wasm_compressed=$Z_WASM" >> $GITHUB_OUTPUT
IPFS=$(echo $JSON | jq -r .runtimes.compact.ipfs)
echo "ipfs=$IPFS" >> $GITHUB_OUTPUT
}

View file

@ -0,0 +1,163 @@
import { execSync } from "node:child_process";
import { Octokit } from "octokit";
import { readFileSync } from "node:fs";
import yargs from "yargs";
import path from "path";
import { getCommitAndLabels, getCompareLink } from "./github-utils";
import { blake2AsHex } from "@polkadot/util-crypto";
const BREAKING_CHANGES_LABEL = "breaking";
const RUNTIME_CHANGES_LABEL = "B7-runtimenoteworthy";
// `System` is pallet index 0. `authorize_upgrade` is extrinsic index 9.
const STAGENET_PREFIX_SYSTEM_AUTHORIZE_UPGRADE = "0x0009";
// `System` is pallet index 0. `authorize_upgrade` is extrinsic index 9.
const TESTNET_PREFIX_SYSTEM_AUTHORIZE_UPGRADE = "0x0009";
// `System` is pallet index 0. `authorize_upgrade` is extrinsic index 9.
const MAINNET_PREFIX_SYSTEM_AUTHORIZE_UPGRADE = "0x0009";
function capitalize(s) {
return s[0].toUpperCase() + s.slice(1);
}
function getRuntimeInfo(srtoolReportFolder: string, runtimeName: string) {
const specVersion = execSync(
`cat ../operator/runtime/${runtimeName}/src/lib.rs | grep 'spec_version: [0-9]*' | tail -1`
).toString();
return {
name: runtimeName,
version: /:\s?([0-9A-z\-]*)/.exec(specVersion)[1],
srtool: JSON.parse(
readFileSync(path.join(srtoolReportFolder, `./${runtimeName}-srtool-digest.json`)).toString()
),
};
}
// This function computes the preimage of the `system.authorize_upgrade` call
// for the given runtime code hash. The preimage is the BLAKE2b-256 hash of
// the given call. It is to be used in the governance proposal to authorize
// the runtime upgrade.
function authorizeUpgradeHash(runtimeName: string, srtool: any): string {
if (runtimeName === "datahaven-stagenet") {
return blake2AsHex(
STAGENET_PREFIX_SYSTEM_AUTHORIZE_UPGRADE +
srtool.runtimes.compressed.blake2_256.substr(2) // remove "0x" prefix
);
} else if (runtimeName === "datahaven-testnet") {
return blake2AsHex(
TESTNET_PREFIX_SYSTEM_AUTHORIZE_UPGRADE +
srtool.runtimes.compressed.blake2_256.substr(2) // remove "0x" prefix
);
} else {
return blake2AsHex(
MAINNET_PREFIX_SYSTEM_AUTHORIZE_UPGRADE +
srtool.runtimes.compressed.blake2_256.substr(2) // remove "0x" prefix
);
}
}
async function main() {
const argv = yargs(process.argv.slice(2))
.usage("Usage: npm run ts-node github/generate-release-body.ts [args]")
.version("1.0.0")
.options({
"srtool-report-folder": {
type: "string",
describe: "folder which contains <runtime>-srtool-digest.json",
required: true,
},
from: {
type: "string",
describe: "previous tag to retrieve commits from",
required: true,
},
to: {
type: "string",
describe: "current tag to draft",
required: true,
},
owner: {
type: "string",
describe: "Repository owner (Ex: datahaven-xyz)",
required: true,
},
repo: {
type: "string",
describe: "Repository name (Ex: datahaven)",
required: true,
},
})
.demandOption(["srtool-report-folder", "from", "to"])
.help().argv;
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN || undefined,
});
const previousTag = argv.from;
const newTag = argv.to;
const runtimes = ["stagenet", "testnet", "mainnet"].map((runtimeName) =>
getRuntimeInfo(argv["srtool-report-folder"], runtimeName)
);
const moduleLinks = ["polkadot-sdk", "evm", "frontier", "storage-hub"].map((repoName) => ({
name: repoName,
link: getCompareLink(repoName, previousTag, newTag),
}));
const { prByLabels } = await getCommitAndLabels(
octokit,
argv.owner,
argv.repo,
previousTag,
newTag
);
const filteredPr = prByLabels[RUNTIME_CHANGES_LABEL] || [];
const printPr = (pr) => {
if (pr.labels.includes(BREAKING_CHANGES_LABEL)) {
return "⚠️ " + pr.title + " (#" + pr.number + ")";
} else {
return pr.title + " (#" + pr.number + ")";
}
};
//
const template = `${
runtimes.length > 0
? `## Runtimes
${runtimes
.map(
(runtime) => `### ${capitalize(runtime.name)}
\`\`\`
spec_version : ${runtime.version}
🏋 size : ${runtime.srtool.runtimes.compressed.size}
# sha256 : ${runtime.srtool.runtimes.compressed.sha256}
# blake2-256 : ${runtime.srtool.runtimes.compressed.blake2_256}
🗳 proposal (authorizeUpgrade) : ${authorizeUpgradeHash(runtime.name, runtime.srtool)}
\`\`\``
)
.join(`\n\n`)}
`
: ""
}
## Build information
WASM runtime built using \`${runtimes[0]?.srtool.info.rustc}\`
## Changes
${filteredPr.map((pr) => `* ${printPr(pr)}`).join("\n")}
## Dependency changes
DataHaven: https://github.com/${argv.owner}/${argv.repo}/compare/${previousTag}...${newTag}
${moduleLinks.map((modules) => `${capitalize(modules.name)}: ${modules.link}`).join("\n")}
`;
console.log(template);
}
main();

734
tools/package-lock.json generated
View file

@ -9,6 +9,7 @@
"version": "0.0.1",
"license": "GPL-3.0",
"dependencies": {
"@polkadot/api": "^6.6.1",
"octokit": "^1.0.6",
"ts-node": "^8.10.1",
"typescript": "^4.4.3",
@ -18,6 +19,33 @@
"@types/yargs": "^15.0.12"
}
},
"node_modules/@babel/runtime": {
"version": "7.28.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
"integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@noble/hashes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.0.0.tgz",
"integrity": "sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==",
"license": "MIT"
},
"node_modules/@noble/secp256k1": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.5.5.tgz",
"integrity": "sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ==",
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"license": "MIT"
},
"node_modules/@octokit/app": {
"version": "12.0.7",
"license": "MIT",
@ -489,10 +517,361 @@
"version": "5.8.0",
"license": "MIT"
},
"node_modules/@polkadot/api": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/@polkadot/api/-/api-6.12.1.tgz",
"integrity": "sha512-RVdTiA2WaEvproM3i6E9TKS1bfXpPd9Ly9lUG/kVLaspjKoIot9DJUDTl97TJ+7xr8LXGbXqm448Ud0hsEBV8Q==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.16.3",
"@polkadot/api-derive": "6.12.1",
"@polkadot/keyring": "^8.1.2",
"@polkadot/rpc-core": "6.12.1",
"@polkadot/rpc-provider": "6.12.1",
"@polkadot/types": "6.12.1",
"@polkadot/types-known": "6.12.1",
"@polkadot/util": "^8.1.2",
"@polkadot/util-crypto": "^8.1.2",
"eventemitter3": "^4.0.7",
"rxjs": "^7.4.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/api-derive": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-6.12.1.tgz",
"integrity": "sha512-5LOVlG5EBCT+ytY6aHmQ4RdEWZovZQqRoc6DLd5BLhkR7BFTHKSkLQW+89so8jd0zEtmSXBVPPnsrXS8joM35Q==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.16.3",
"@polkadot/api": "6.12.1",
"@polkadot/rpc-core": "6.12.1",
"@polkadot/types": "6.12.1",
"@polkadot/util": "^8.1.2",
"@polkadot/util-crypto": "^8.1.2",
"rxjs": "^7.4.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/keyring": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-8.7.1.tgz",
"integrity": "sha512-t6ZgQVC+nQT7XwbWtEhkDpiAzxKVJw8Xd/gWdww6xIrawHu7jo3SGB4QNdPgkf8TvDHYAAJiupzVQYAlOIq3GA==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/util": "8.7.1",
"@polkadot/util-crypto": "8.7.1"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"@polkadot/util": "8.7.1",
"@polkadot/util-crypto": "8.7.1"
}
},
"node_modules/@polkadot/networks": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-8.7.1.tgz",
"integrity": "sha512-8xAmhDW0ry5EKcEjp6VTuwoTm0DdDo/zHsmx88P6sVL87gupuFsL+B6TrsYLl8GcaqxujwrOlKB+CKTUg7qFKg==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/util": "8.7.1",
"@substrate/ss58-registry": "^1.17.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/rpc-core": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-6.12.1.tgz",
"integrity": "sha512-Hb08D9zho3SB1UNlUCmG5q0gdgbOx25JKGLDfSYpD/wtD0Y1Sf2X5cfgtMoSYE3USWiRdCu4BxQkXTiRjPjzJg==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.16.3",
"@polkadot/rpc-provider": "6.12.1",
"@polkadot/types": "6.12.1",
"@polkadot/util": "^8.1.2",
"rxjs": "^7.4.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/rpc-provider": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-6.12.1.tgz",
"integrity": "sha512-uUHD3fLTOeZYWJoc6DQlhz+MJR33rVelasV+OxFY2nSD9MSNXRwQh+9UKDQBnyxw5B4BZ2QaEGfucDeavXmVDw==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.16.3",
"@polkadot/types": "6.12.1",
"@polkadot/util": "^8.1.2",
"@polkadot/util-crypto": "^8.1.2",
"@polkadot/x-fetch": "^8.1.2",
"@polkadot/x-global": "^8.1.2",
"@polkadot/x-ws": "^8.1.2",
"eventemitter3": "^4.0.7"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/types": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/@polkadot/types/-/types-6.12.1.tgz",
"integrity": "sha512-O37cAGUL0xiXTuO3ySweVh0OuFUD6asrd0TfuzGsEp3jAISWdElEHV5QDiftWq8J9Vf8BMgTcP2QLFbmSusxqA==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.16.3",
"@polkadot/types-known": "6.12.1",
"@polkadot/util": "^8.1.2",
"@polkadot/util-crypto": "^8.1.2",
"rxjs": "^7.4.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/types-known": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-6.12.1.tgz",
"integrity": "sha512-Z8bHpPQy+mqUm0uR1tai6ra0bQIoPmgRcGFYUM+rJtW1kx/6kZLh10HAICjLpPeA1cwLRzaxHRDqH5MCU6OgXw==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.16.3",
"@polkadot/networks": "^8.1.2",
"@polkadot/types": "6.12.1",
"@polkadot/util": "^8.1.2"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/util": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.7.1.tgz",
"integrity": "sha512-XjY1bTo7V6OvOCe4yn8H2vifeuBciCy0gq0k5P1tlGUQLI/Yt0hvDmxcA0FEPtqg8CL+rYRG7WXGPVNjkrNvyQ==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-bigint": "8.7.1",
"@polkadot/x-global": "8.7.1",
"@polkadot/x-textdecoder": "8.7.1",
"@polkadot/x-textencoder": "8.7.1",
"@types/bn.js": "^5.1.0",
"bn.js": "^5.2.0",
"ip-regex": "^4.3.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/util-crypto": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.7.1.tgz",
"integrity": "sha512-TaSuJ2aNrB5sYK7YXszkEv24nYJKRFqjF2OrggoMg6uYxUAECvTkldFnhtgeizMweRMxJIBu6bMHlSIutbWgjw==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@noble/hashes": "1.0.0",
"@noble/secp256k1": "1.5.5",
"@polkadot/networks": "8.7.1",
"@polkadot/util": "8.7.1",
"@polkadot/wasm-crypto": "^5.1.1",
"@polkadot/x-bigint": "8.7.1",
"@polkadot/x-randomvalues": "8.7.1",
"@scure/base": "1.0.0",
"ed2curve": "^0.3.0",
"tweetnacl": "^1.0.3"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"@polkadot/util": "8.7.1"
}
},
"node_modules/@polkadot/wasm-crypto": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-5.1.1.tgz",
"integrity": "sha512-JCcAVfH8DhYuEyd4oX1ouByxhou0TvpErKn8kHjtzt7+tRoFi0nzWlmK4z49vszsV3JJgXxV81i10C0BYlwTcQ==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/wasm-crypto-asmjs": "^5.1.1",
"@polkadot/wasm-crypto-wasm": "^5.1.1"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"@polkadot/util": "*",
"@polkadot/x-randomvalues": "*"
}
},
"node_modules/@polkadot/wasm-crypto-asmjs": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-5.1.1.tgz",
"integrity": "sha512-1WBwc2G3pZMKW1T01uXzKE30Sg22MXmF3RbbZiWWk3H2d/Er4jZQRpjumxO5YGWan+xOb7HQQdwnrUnrPgbDhg==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"@polkadot/util": "*"
}
},
"node_modules/@polkadot/wasm-crypto-wasm": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-5.1.1.tgz",
"integrity": "sha512-F9PZ30J2S8vUNl2oY7Myow5Xsx5z5uNVpnNlJwlmY8IXBvyucvyQ4HSdhJsrbs4W1BfFc0mHghxgp0FbBCnf/Q==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"@polkadot/util": "*"
}
},
"node_modules/@polkadot/x-bigint": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.7.1.tgz",
"integrity": "sha512-ClkhgdB/KqcAKk3zA6Qw8wBL6Wz67pYTPkrAtImpvoPJmR+l4RARauv+MH34JXMUNlNb3aUwqN6lq2Z1zN+mJg==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-global": "8.7.1"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/x-fetch": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-8.7.1.tgz",
"integrity": "sha512-ygNparcalYFGbspXtdtZOHvNXZBkNgmNO+um9C0JYq74K5OY9/be93uyfJKJ8JcRJtOqBfVDsJpbiRkuJ1PRfg==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-global": "8.7.1",
"@types/node-fetch": "^2.6.1",
"node-fetch": "^2.6.7"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/x-global": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.7.1.tgz",
"integrity": "sha512-WOgUor16IihgNVdiTVGAWksYLUAlqjmODmIK1cuWrLOZtV1VBomWcb3obkO9sh5P6iWziAvCB/i+L0vnTN9ZCA==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/x-randomvalues": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-8.7.1.tgz",
"integrity": "sha512-njt17MlfN6yNyNEti7fL12lr5qM6A1aSGkWKVuqzc7XwSBesifJuW4km5u6r2gwhXjH2eHDv9SoQ7WXu8vrrkg==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-global": "8.7.1"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/x-textdecoder": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-8.7.1.tgz",
"integrity": "sha512-ia0Ie2zi4VdQdNVD2GE2FZzBMfX//hEL4w546RMJfZM2LqDS674LofHmcyrsv5zscLnnRyCxZC1+J2dt+6MDIA==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-global": "8.7.1"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/x-textencoder": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-8.7.1.tgz",
"integrity": "sha512-XDO0A27Xy+eJCKSxENroB8Dcnl+UclGG4ZBei+P/BqZ9rsjskUyd2Vsl6peMXAcsxwOE7g0uTvujoGM8jpKOXw==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-global": "8.7.1"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@polkadot/x-ws": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-8.7.1.tgz",
"integrity": "sha512-Mt0tcNzGXyKnN3DQ06alkv+JLtTfXWu6zSypFrrKHSQe3u79xMQ1nSicmpT3gWLhIa8YF+8CYJXMrqaXgCnDhw==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.17.8",
"@polkadot/x-global": "8.7.1",
"@types/websocket": "^1.0.5",
"websocket": "^1.0.34"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@scure/base": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.0.0.tgz",
"integrity": "sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==",
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"license": "MIT"
},
"node_modules/@substrate/ss58-registry": {
"version": "1.51.0",
"resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.51.0.tgz",
"integrity": "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==",
"license": "Apache-2.0"
},
"node_modules/@types/aws-lambda": {
"version": "8.10.152",
"license": "MIT"
},
"node_modules/@types/bn.js": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.2.0.tgz",
"integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==",
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/btoa-lite": {
"version": "1.0.2",
"license": "MIT"
@ -520,6 +899,25 @@
"undici-types": "~7.12.0"
}
},
"node_modules/@types/node-fetch": {
"version": "2.6.13",
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.13.tgz",
"integrity": "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==",
"license": "MIT",
"dependencies": {
"@types/node": "*",
"form-data": "^4.0.4"
}
},
"node_modules/@types/websocket": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.10.tgz",
"integrity": "sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==",
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/yargs": {
"version": "15.0.19",
"dev": true,
@ -576,6 +974,12 @@
"sprintf-js": "~1.0.2"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"license": "MIT"
},
"node_modules/available-typed-arrays": {
"version": "1.0.7",
"license": "MIT",
@ -648,6 +1052,12 @@
"version": "2.2.3",
"license": "Apache-2.0"
},
"node_modules/bn.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz",
"integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==",
"license": "MIT"
},
"node_modules/bottleneck": {
"version": "2.19.5",
"license": "MIT"
@ -693,6 +1103,19 @@
"license": "BSD-3-Clause",
"optional": true
},
"node_modules/bufferutil": {
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz",
"integrity": "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"node-gyp-build": "^4.3.0"
},
"engines": {
"node": ">=6.14.2"
}
},
"node_modules/call-bind": {
"version": "1.0.8",
"license": "MIT",
@ -713,7 +1136,6 @@
"node_modules/call-bind-apply-helpers": {
"version": "1.0.2",
"license": "MIT",
"optional": true,
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
@ -770,11 +1192,51 @@
"version": "1.1.4",
"license": "MIT"
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/commander": {
"version": "3.0.2",
"license": "MIT",
"optional": true
},
"node_modules/d": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
"license": "ISC",
"dependencies": {
"es5-ext": "^0.10.64",
"type": "^2.7.2"
},
"engines": {
"node": ">=0.12"
}
},
"node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/define-data-property": {
"version": "1.1.4",
"license": "MIT",
@ -791,6 +1253,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/deprecation": {
"version": "2.3.1",
"license": "ISC"
@ -805,7 +1276,6 @@
"node_modules/dunder-proto": {
"version": "1.0.1",
"license": "MIT",
"optional": true,
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
@ -822,6 +1292,15 @@
"safe-buffer": "^5.0.1"
}
},
"node_modules/ed2curve": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz",
"integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==",
"license": "Unlicense",
"dependencies": {
"tweetnacl": "1.x.x"
}
},
"node_modules/emoji-regex": {
"version": "8.0.0",
"license": "MIT"
@ -829,7 +1308,6 @@
"node_modules/es-define-property": {
"version": "1.0.1",
"license": "MIT",
"optional": true,
"engines": {
"node": ">= 0.4"
}
@ -837,7 +1315,6 @@
"node_modules/es-errors": {
"version": "1.3.0",
"license": "MIT",
"optional": true,
"engines": {
"node": ">= 0.4"
}
@ -845,7 +1322,6 @@
"node_modules/es-object-atoms": {
"version": "1.1.1",
"license": "MIT",
"optional": true,
"dependencies": {
"es-errors": "^1.3.0"
},
@ -853,6 +1329,61 @@
"node": ">= 0.4"
}
},
"node_modules/es-set-tostringtag": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.6",
"has-tostringtag": "^1.0.2",
"hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es5-ext": {
"version": "0.10.64",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"hasInstallScript": true,
"license": "ISC",
"dependencies": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
"esniff": "^2.0.1",
"next-tick": "^1.1.0"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
"license": "MIT",
"dependencies": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"node_modules/es6-symbol": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
"license": "ISC",
"dependencies": {
"d": "^1.0.2",
"ext": "^1.7.0"
},
"engines": {
"node": ">=0.12"
}
},
"node_modules/escalade": {
"version": "3.2.0",
"license": "MIT",
@ -860,6 +1391,21 @@
"node": ">=6"
}
},
"node_modules/esniff": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
"license": "ISC",
"dependencies": {
"d": "^1.0.1",
"es5-ext": "^0.10.62",
"event-emitter": "^0.3.5",
"type": "^2.7.2"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/esprima": {
"version": "4.0.1",
"license": "BSD-2-Clause",
@ -872,6 +1418,22 @@
"node": ">=4"
}
},
"node_modules/event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"license": "MIT",
"dependencies": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
"license": "MIT"
},
"node_modules/events": {
"version": "1.1.1",
"license": "MIT",
@ -880,6 +1442,15 @@
"node": ">=0.4.x"
}
},
"node_modules/ext": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
"license": "ISC",
"dependencies": {
"type": "^2.7.2"
}
},
"node_modules/for-each": {
"version": "0.3.5",
"license": "MIT",
@ -894,6 +1465,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/form-data": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
"integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
"hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/fromentries": {
"version": "1.3.2",
"funding": [
@ -915,7 +1502,6 @@
"node_modules/function-bind": {
"version": "1.1.2",
"license": "MIT",
"optional": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@ -930,7 +1516,6 @@
"node_modules/get-intrinsic": {
"version": "1.3.0",
"license": "MIT",
"optional": true,
"dependencies": {
"call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
@ -953,7 +1538,6 @@
"node_modules/get-proto": {
"version": "1.0.1",
"license": "MIT",
"optional": true,
"dependencies": {
"dunder-proto": "^1.0.1",
"es-object-atoms": "^1.0.0"
@ -970,7 +1554,6 @@
"node_modules/gopd": {
"version": "1.2.0",
"license": "MIT",
"optional": true,
"engines": {
"node": ">= 0.4"
},
@ -997,7 +1580,6 @@
"node_modules/has-symbols": {
"version": "1.1.0",
"license": "MIT",
"optional": true,
"engines": {
"node": ">= 0.4"
},
@ -1008,7 +1590,6 @@
"node_modules/has-tostringtag": {
"version": "1.0.2",
"license": "MIT",
"optional": true,
"dependencies": {
"has-symbols": "^1.0.3"
},
@ -1022,7 +1603,6 @@
"node_modules/hasown": {
"version": "2.0.2",
"license": "MIT",
"optional": true,
"dependencies": {
"function-bind": "^1.1.2"
},
@ -1047,6 +1627,15 @@
"license": "ISC",
"optional": true
},
"node_modules/ip-regex": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
"integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==",
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-arguments": {
"version": "1.2.0",
"license": "MIT",
@ -1135,6 +1724,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
"license": "MIT"
},
"node_modules/isarray": {
"version": "1.0.0",
"license": "MIT",
@ -1242,15 +1837,41 @@
"node_modules/math-intrinsics": {
"version": "1.1.0",
"license": "MIT",
"optional": true,
"engines": {
"node": ">= 0.4"
}
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/ms": {
"version": "2.1.3",
"license": "MIT"
},
"node_modules/next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
"license": "ISC"
},
"node_modules/node-fetch": {
"version": "2.7.0",
"license": "MIT",
@ -1269,6 +1890,17 @@
}
}
},
"node_modules/node-gyp-build": {
"version": "4.8.4",
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
"integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
"license": "MIT",
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
"node-gyp-build-test": "build-test.js"
}
},
"node_modules/octokit": {
"version": "1.8.1",
"license": "MIT",
@ -1317,6 +1949,15 @@
"node": ">=0.10.0"
}
},
"node_modules/rxjs": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
"integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"funding": [
@ -1451,6 +2092,33 @@
"typescript": ">=2.7"
}
},
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
},
"node_modules/tweetnacl": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
"license": "Unlicense"
},
"node_modules/type": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
"integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
"license": "ISC"
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"license": "MIT",
"dependencies": {
"is-typedarray": "^1.0.0"
}
},
"node_modules/typescript": {
"version": "4.9.5",
"license": "Apache-2.0",
@ -1487,6 +2155,19 @@
"querystring": "0.2.0"
}
},
"node_modules/utf-8-validate": {
"version": "5.0.10",
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
"integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"node-gyp-build": "^4.3.0"
},
"engines": {
"node": ">=6.14.2"
}
},
"node_modules/util": {
"version": "0.12.5",
"license": "MIT",
@ -1523,6 +2204,23 @@
"version": "3.0.1",
"license": "BSD-2-Clause"
},
"node_modules/websocket": {
"version": "1.0.35",
"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz",
"integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==",
"license": "Apache-2.0",
"dependencies": {
"bufferutil": "^4.0.1",
"debug": "^2.2.0",
"es5-ext": "^0.10.63",
"typedarray-to-buffer": "^3.1.5",
"utf-8-validate": "^5.0.2",
"yaeti": "^0.0.6"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"license": "MIT",
@ -1602,6 +2300,16 @@
"node": ">=10"
}
},
"node_modules/yaeti": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
"integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
"license": "MIT",
"engines": {
"node": ">=0.10.32"
}
},
"node_modules/yallist": {
"version": "4.0.0",
"license": "ISC"

View file

@ -3,6 +3,7 @@
"version": "0.0.1",
"license": "GPL-3.0",
"dependencies": {
"@polkadot/api": "^6.6.1",
"octokit": "^1.0.6",
"ts-node": "^8.10.1",
"typescript": "^4.4.3",
@ -10,5 +11,9 @@
},
"devDependencies": {
"@types/yargs": "^15.0.12"
},
"scripts": {
"print-client-release-issue": "ts-node github/print-client-release-issue.ts",
"print-runtime-release-issue": "ts-node github/print-runtime-release-issue.ts"
}
}