From 6fe03a1cffcbf315cdb63643b44cdcd1d0194ebf Mon Sep 17 00:00:00 2001 From: Ilyar Date: Thu, 4 Dec 2025 06:23:32 +0100 Subject: [PATCH 1/7] chore: update dependencies --- .github/workflows/qa.yml | 8 +- CHANGELOG.md | 6 + package-lock.json | 3674 ++++++++++++++++++++++---------------- package.json | 15 +- test/main.spec.ts | 2 - test/tlbgen.spec.ts | 1 - 6 files changed, 2163 insertions(+), 1543 deletions(-) diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index a8ed1c1..e43e175 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -22,8 +22,8 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 with: node-version: 22 cache: 'npm' @@ -49,9 +49,9 @@ jobs: - x64 name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ matrix.node_version }} architecture: ${{ matrix.architecture }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bca440..fcf6941 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Chore + +- Upgrade develop dependencies + ## [2.0.0-beta.3] – 2025-08-25 - Remove node dependency form exports diff --git a/package-lock.json b/package-lock.json index ddedb90..8d0870f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,42 +1,28 @@ { "name": "@ton-community/tlb-codegen", - "version": "2.0.0-beta.2", + "version": "2.0.0-beta.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@ton-community/tlb-codegen", - "version": "2.0.0-beta.2", - "license": "ISC", + "version": "2.0.0-beta.3", + "license": "MIT", "dependencies": { "@ton-community/tlb-parser": "^0.1.5", - "@ton/core": "^0.61.0", + "@ton/core": "^0.62.0", "meow": "^9.0.0" }, "bin": { - "tlb": "build/main.js" + "tlb": "build/cli.js" }, "devDependencies": { - "@jest/globals": "^29.7.0", - "@ton/toolchain": "github:the-ton-tech/toolchain#v1.4.0", + "@ton/toolchain": "github:the-ton-tech/toolchain#v1", "@types/jest": "^30.0.0", - "jest": "^29.7.0", - "ts-jest": "^29.4.1", + "jest": "^30.2.0", + "ts-jest": "^29.4.6", "ts-node": "^10.9.2", - "typescript": "^5.3.3" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "typescript": "^5.9.3" } }, "node_modules/@babel/code-frame": { @@ -54,30 +40,33 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -93,39 +82,43 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -133,63 +126,40 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -199,34 +169,11 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -242,45 +189,46 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", - "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.27.2", - "@babel/types": "^7.28.2" + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", - "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@babel/types": "^7.28.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -294,6 +242,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -306,6 +255,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -318,6 +268,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -325,11 +276,44 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -342,6 +326,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -350,12 +335,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -369,6 +355,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -381,6 +368,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -393,6 +381,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -405,6 +394,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -417,6 +407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -429,6 +420,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -436,11 +428,28 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -452,12 +461,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -482,35 +492,33 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", - "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -520,7 +528,8 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", @@ -534,6 +543,40 @@ "node": ">=12" } }, + "node_modules/@emnapi/core": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", + "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", @@ -656,9 +699,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -784,11 +827,30 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -810,59 +872,61 @@ } }, "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz", + "integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", + "@jest/types": "30.2.0", "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", + "chalk": "^4.1.2", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz", + "integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/console": "30.2.0", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.2.0", + "jest-config": "30.2.0", + "jest-haste-map": "30.2.0", + "jest-message-util": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-resolve-dependencies": "30.2.0", + "jest-runner": "30.2.0", + "jest-runtime": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "jest-watcher": "30.2.0", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", + "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -884,66 +948,70 @@ } }, "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz", + "integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "jest-mock": "^29.7.0" + "jest-mock": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz", + "integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==", "dev": true, + "license": "MIT", "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" + "expect": "30.2.0", + "jest-snapshot": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz", + "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==", "dev": true, + "license": "MIT", "dependencies": { - "jest-get-type": "^29.6.3" + "@jest/get-type": "30.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz", + "integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", + "@jest/types": "30.2.0", + "@sinonjs/fake-timers": "^13.0.0", "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/get-type": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz", - "integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==", + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", "dev": true, "license": "MIT", "engines": { @@ -951,18 +1019,19 @@ } }, "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz", + "integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" + "@jest/environment": "30.2.0", + "@jest/expect": "30.2.0", + "@jest/types": "30.2.0", + "jest-mock": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/pattern": { @@ -979,49 +1048,39 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/pattern/node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz", + "integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", + "@jest/console": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@jridgewell/trace-mapping": "^0.3.25", "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", + "istanbul-lib-source-maps": "^5.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "jest-worker": "30.2.0", "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", + "string-length": "^4.0.2", "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -1033,171 +1092,219 @@ } }, "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz", + "integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz", + "integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@jest/console": "30.2.0", + "@jest/types": "30.2.0", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz", + "integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", + "@jest/test-result": "30.2.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz", + "integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", + "@babel/core": "^7.27.4", + "@jest/types": "30.2.0", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.1", + "chalk": "^4.1.2", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-util": "30.2.0", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "write-file-atomic": "^5.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz", + "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, - "engines": { - "node": ">=6.0.0" + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", @@ -1209,42 +1316,28 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "node": ">=14" } }, "node_modules/@pkgr/core": { @@ -1268,27 +1361,30 @@ "license": "MIT" }, "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "version": "0.34.41", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.41.tgz", + "integrity": "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==", + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@sinonjs/commons": "^3.0.1" } }, "node_modules/@ton-community/tlb-parser": { @@ -1304,9 +1400,9 @@ } }, "node_modules/@ton/core": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@ton/core/-/core-0.61.0.tgz", - "integrity": "sha512-0qyVfP2dDue2bq80ydXggo2MlufcmzuFk6G94qRrZxvyQ3NSe4UeBTeRf1gQmN7tywgTsX2gS61e4yvJrlUu4Q==", + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@ton/core/-/core-0.62.0.tgz", + "integrity": "sha512-GCYlzzx11rSESKkiHvNy9tL8zWth+ZtUbvV29WH478FvBp8xTw24AyoigwXWNV+OLCAcnwlGhZpTpxjD3wzCwA==", "license": "MIT", "dependencies": { "symbol.inspect": "1.0.1" @@ -1330,14 +1426,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@ton/crypto-primitives/-/crypto-primitives-2.0.0.tgz", "integrity": "sha512-wttiNClmGbI6Dfy/8oyNnsIV0b/qYkCJz4Gn4eP62lJZzMtVQ94Ko7nikDX1EfYHkLI1xpOitWpW+8ZuG6XtDg==", - "peer": true, "dependencies": { "jssha": "3.2.0" } }, "node_modules/@ton/toolchain": { - "version": "1.4.0", - "resolved": "git+ssh://git@github.com/the-ton-tech/toolchain.git#92e94ac22143ab46ed811e43e31c0987eb604f3d", + "version": "1.6.0", + "resolved": "git+ssh://git@github.com/the-ton-tech/toolchain.git#31fce5f6deb3eecaad505598f218e219351eb208", "dev": true, "license": "MIT", "dependencies": { @@ -1389,11 +1484,23 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1403,10 +1510,11 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -1416,18 +1524,20 @@ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", - "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.28.2" } }, "node_modules/@types/estree": { @@ -1437,15 +1547,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -1481,219 +1582,6 @@ "pretty-format": "^30.0.0" } }, - "node_modules/@types/jest/node_modules/@jest/expect-utils": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz", - "integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.34.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/@jest/types": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", - "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", - "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/@sinclair/typebox": { - "version": "0.34.40", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.40.tgz", - "integrity": "sha512-gwBNIP8ZAYev/ORDWW0QvxdwPXwxBtLsdsJgSc7eDIRt8ubP+rxUBzPsrwnu16fgEF8Bx4lh/+mvQvJzcTM6Kw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/ci-info": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", - "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/jest/node_modules/expect": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz", - "integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "30.0.5", - "@jest/get-type": "30.0.1", - "jest-matcher-utils": "30.0.5", - "jest-message-util": "30.0.5", - "jest-mock": "30.0.5", - "jest-util": "30.0.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz", - "integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/diff-sequences": "30.0.1", - "@jest/get-type": "30.0.1", - "chalk": "^4.1.2", - "pretty-format": "30.0.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-matcher-utils": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz", - "integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.0.1", - "chalk": "^4.1.2", - "jest-diff": "30.0.5", - "pretty-format": "30.0.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-message-util": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", - "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.0.5", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "micromatch": "^4.0.8", - "pretty-format": "30.0.5", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-mock": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", - "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.0.5", - "@types/node": "*", - "jest-util": "30.0.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-util": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", - "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.0.5", - "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@types/jest/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", - "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -1718,6 +1606,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", "dev": true, + "peer": true, "dependencies": { "undici-types": "~5.26.4" } @@ -1731,7 +1620,8 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.33", @@ -1750,17 +1640,18 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz", - "integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.1.tgz", + "integrity": "sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.33.1", - "@typescript-eslint/type-utils": "8.33.1", - "@typescript-eslint/utils": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1", + "@typescript-eslint/scope-manager": "8.48.1", + "@typescript-eslint/type-utils": "8.48.1", + "@typescript-eslint/utils": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -1774,22 +1665,23 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.33.1", + "@typescript-eslint/parser": "^8.48.1", "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz", - "integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.1.tgz", + "integrity": "sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.33.1", - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/typescript-estree": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1", + "@typescript-eslint/scope-manager": "8.48.1", + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/typescript-estree": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1", "debug": "^4.3.4" }, "engines": { @@ -1801,18 +1693,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz", - "integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.1.tgz", + "integrity": "sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.33.1", - "@typescript-eslint/types": "^8.33.1", + "@typescript-eslint/tsconfig-utils": "^8.48.1", + "@typescript-eslint/types": "^8.48.1", "debug": "^4.3.4" }, "engines": { @@ -1823,18 +1715,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz", - "integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz", + "integrity": "sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1" + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1845,9 +1737,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz", - "integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.1.tgz", + "integrity": "sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==", "dev": true, "license": "MIT", "engines": { @@ -1858,18 +1750,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz", - "integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.1.tgz", + "integrity": "sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.33.1", - "@typescript-eslint/utils": "8.33.1", + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/typescript-estree": "8.48.1", + "@typescript-eslint/utils": "8.48.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -1882,145 +1775,420 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz", - "integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz", + "integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz", + "integrity": "sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.48.1", + "@typescript-eslint/tsconfig-utils": "8.48.1", + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.1.tgz", + "integrity": "sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.48.1", + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/typescript-estree": "8.48.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz", + "integrity": "sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.48.1", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz", - "integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==", + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.33.1", - "@typescript-eslint/tsconfig-utils": "8.33.1", - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz", - "integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==", + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.33.1", - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/typescript-estree": "8.33.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz", - "integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==", + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.33.1", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/acorn": { "version": "8.14.1", @@ -2028,6 +2196,7 @@ "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2076,6 +2245,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -2087,12 +2257,16 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { @@ -2134,6 +2308,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -2295,110 +2470,102 @@ } }, "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", + "integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", + "@jest/transform": "30.2.0", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "@babel/core": "^7.11.0 || ^8.0.0-0" } }, "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", + "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", "dev": true, + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", "test-exclude": "^6.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz", + "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "@types/babel__core": "^7.20.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0 || ^8.0.0-0" } }, "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz", + "integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==", "dev": true, + "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "babel-plugin-jest-hoist": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" } }, "node_modules/balanced-match": { @@ -2407,6 +2574,16 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.0.tgz", + "integrity": "sha512-Mh++g+2LPfzZToywfE1BUzvZbfOY52Nil0rn9H1CPC5DJ7fX+Vir7nToBeoiSbB1zTNeGYbELEvJESujgGrzXw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -2432,9 +2609,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -2450,11 +2627,14 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", + "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -2489,7 +2669,8 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/call-bind": { "version": "1.0.8", @@ -2575,9 +2756,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001572", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz", - "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==", + "version": "1.0.30001759", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz", + "integrity": "sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==", "dev": true, "funding": [ { @@ -2592,7 +2773,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", @@ -2615,14 +2797,15 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", "dev": true, "funding": [ { @@ -2630,21 +2813,24 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.1.tgz", + "integrity": "sha512-+CmxIZ/L2vNcEfvNtLdU0ZQ6mbq3FZnwAP2PPTiKP+1QOoKwlKlPgb8UKV0Dds7QVaMnHm+FwSft2VB0s/SLjQ==", + "dev": true, + "license": "MIT" }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2654,21 +2840,86 @@ "node": ">=12" } }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" } }, "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "dev": true, + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", @@ -2697,29 +2948,8 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/create-require": { "version": "1.1.1", @@ -2845,10 +3075,11 @@ } }, "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", + "integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -2870,6 +3101,7 @@ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2915,6 +3147,7 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -2928,15 +3161,6 @@ "node": ">=0.3.1" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2965,17 +3189,26 @@ "node": ">= 0.4" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "node_modules/electron-to-chromium": { - "version": "1.4.616", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", - "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", - "dev": true + "version": "1.5.264", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.264.tgz", + "integrity": "sha512-1tEf0nLgltC3iy9wtlYDlQDc5Rg9lEKVjEmIHJ21rI9OcqkvD45K1oyNIRA4rR1z3LgJ7KeGzEBojVcV6m4qjA==", + "dev": true, + "license": "ISC" }, "node_modules/emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2984,10 +3217,11 @@ } }, "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" }, "node_modules/error-ex": { "version": "1.3.2", @@ -3147,10 +3381,11 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3160,6 +3395,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3170,6 +3406,7 @@ "integrity": "sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -3320,9 +3557,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.12.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.12.0.tgz", - "integrity": "sha512-J6zmDp8WiQ9tyvYXE+3RFy7/+l4hraWLzmsabYXyehkmmDd36qV4VQFc7XzcsD8C1PTNt646MSx25bO1mdd9Yw==", + "version": "28.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.14.0.tgz", + "integrity": "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3527,6 +3764,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3586,6 +3824,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -3604,29 +3843,32 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz", + "integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/fast-deep-equal": { @@ -3643,36 +3885,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -3686,16 +3898,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -3780,11 +3982,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -3853,6 +4086,7 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -3887,6 +4121,7 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -3910,6 +4145,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3936,20 +4172,21 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3968,13 +4205,30 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=4" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/globalthis": { @@ -4173,13 +4427,15 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -4222,10 +4478,11 @@ } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -4261,7 +4518,9 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -4271,7 +4530,8 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/internal-slot": { "version": "1.1.0", @@ -4458,6 +4718,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4467,6 +4728,7 @@ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4617,6 +4879,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -4744,14 +5007,15 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" }, @@ -4759,26 +5023,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4786,17 +5036,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -4807,24 +5052,37 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "istanbul-lib-coverage": "^3.0.0" }, "engines": { "node": ">=10" } }, + "node_modules/istanbul-lib-source-maps/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -4833,22 +5091,40 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.2.0.tgz", + "integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" + "@jest/core": "30.2.0", + "@jest/types": "30.2.0", + "import-local": "^3.2.0", + "jest-cli": "30.2.0" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -4860,73 +5136,75 @@ } }, "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.2.0.tgz", + "integrity": "sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==", "dev": true, + "license": "MIT", "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", + "execa": "^5.1.1", + "jest-util": "30.2.0", "p-limit": "^3.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.2.0.tgz", + "integrity": "sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/environment": "30.2.0", + "@jest/expect": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "chalk": "^4.0.0", + "chalk": "^4.1.2", "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.2.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-runtime": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", + "pretty-format": "30.2.0", + "pure-rand": "^7.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "stack-utils": "^2.0.6" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.2.0.tgz", + "integrity": "sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" + "@jest/core": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "yargs": "^17.7.2" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -4938,204 +5216,211 @@ } }, "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.2.0.tgz", + "integrity": "sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", + "@babel/core": "^7.27.4", + "@jest/get-type": "30.1.0", + "@jest/pattern": "30.0.1", + "@jest/test-sequencer": "30.2.0", + "@jest/types": "30.2.0", + "babel-jest": "30.2.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-circus": "30.2.0", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-runner": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "micromatch": "^4.0.8", "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", + "pretty-format": "30.2.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { "@types/node": "*", + "esbuild-register": ">=3.4.0", "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "esbuild-register": { + "optional": true + }, "ts-node": { "optional": true } } }, "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz", + "integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz", + "integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==", "dev": true, + "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "detect-newline": "^3.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.2.0.tgz", + "integrity": "sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" + "@jest/get-type": "30.1.0", + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "jest-util": "30.2.0", + "pretty-format": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.2.0.tgz", + "integrity": "sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "jest-mock": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz", + "integrity": "sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", + "@jest/types": "30.2.0", "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.2.0", + "jest-worker": "30.2.0", + "micromatch": "^4.0.8", "walker": "^1.0.8" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "optionalDependencies": { - "fsevents": "^2.3.2" + "fsevents": "^2.3.3" } }, "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.2.0.tgz", + "integrity": "sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==", "dev": true, + "license": "MIT", "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "@jest/get-type": "30.1.0", + "pretty-format": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz", + "integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.2.0", + "pretty-format": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz", + "integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.2.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "stack-utils": "^2.0.6" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz", + "integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", + "@jest/types": "30.2.0", "@types/node": "*", - "jest-util": "^29.7.0" + "jest-util": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -5143,6 +5428,7 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -5156,163 +5442,156 @@ } }, "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", "dev": true, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.2.0.tgz", + "integrity": "sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.2.0.tgz", + "integrity": "sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==", "dev": true, + "license": "MIT", "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.2.0.tgz", + "integrity": "sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/console": "30.2.0", + "@jest/environment": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "chalk": "^4.0.0", + "chalk": "^4.1.2", "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.2.0", + "jest-haste-map": "30.2.0", + "jest-leak-detector": "30.2.0", + "jest-message-util": "30.2.0", + "jest-resolve": "30.2.0", + "jest-runtime": "30.2.0", + "jest-util": "30.2.0", + "jest-watcher": "30.2.0", + "jest-worker": "30.2.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.2.0.tgz", + "integrity": "sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/globals": "30.2.0", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.2.0.tgz", + "integrity": "sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.2.0", + "graceful-fs": "^4.2.11", + "jest-diff": "30.2.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "pretty-format": "30.2.0", + "semver": "^7.7.2", + "synckit": "^0.11.8" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -5320,44 +5599,53 @@ "node": ">=10" } }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz", + "integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", + "@jest/types": "30.2.0", "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.2.0.tgz", + "integrity": "sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", + "@jest/get-type": "30.1.0", + "@jest/types": "30.2.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "pretty-format": "30.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-validate/node_modules/camelcase": { @@ -5365,6 +5653,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5373,37 +5662,40 @@ } }, "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.2.0.tgz", + "integrity": "sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" + "jest-util": "30.2.0", + "string-length": "^4.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz", + "integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", - "jest-util": "^29.7.0", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.2.0", "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "supports-color": "^8.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-worker/node_modules/supports-color": { @@ -5411,6 +5703,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5428,10 +5721,11 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5441,15 +5735,16 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -5494,7 +5789,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz", "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==", - "peer": true, "engines": { "node": "*" } @@ -5517,20 +5811,12 @@ "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5584,6 +5870,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -5593,6 +5880,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -5603,26 +5891,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-dir/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -5630,12 +5904,6 @@ "node": ">=10" } }, - "node_modules/make-dir/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -5722,16 +5990,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -5751,6 +6009,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5798,12 +6057,38 @@ "node": ">= 6" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -5824,10 +6109,11 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-package-data": { "version": "3.0.3", @@ -5887,6 +6173,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -5995,6 +6282,7 @@ "version": "16.6.0", "resolved": "https://registry.npmjs.org/ohm-js/-/ohm-js-16.6.0.tgz", "integrity": "sha512-X9P4koSGa7swgVQ0gt71UCYtkAQGOjciJPJAz74kDxWt8nXbH5HrDOQG6qBDH7SR40ktNv4x61BwpTDE9q4lRA==", + "license": "MIT", "engines": { "node": ">=0.12.1" } @@ -6004,6 +6292,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -6013,6 +6302,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -6107,6 +6397,13 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6150,6 +6447,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6168,6 +6466,30 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -6187,10 +6509,11 @@ } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -6200,6 +6523,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -6233,6 +6557,7 @@ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -6257,17 +6582,18 @@ } }, "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -6275,6 +6601,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -6282,19 +6609,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -6306,9 +6620,9 @@ } }, "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", "dev": true, "funding": [ { @@ -6319,26 +6633,6 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } ], "license": "MIT" }, @@ -6488,6 +6782,7 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6513,6 +6808,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -6529,50 +6825,6 @@ "node": ">=8" } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -6789,12 +7041,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -6818,6 +7064,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -6855,13 +7102,15 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -6888,6 +7137,7 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -6896,11 +7146,54 @@ "node": ">=10" } }, - "node_modules/string-width": { + "node_modules/string-length/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6910,6 +7203,36 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", @@ -6970,10 +7293,28 @@ } }, "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6981,11 +7322,22 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6995,6 +7347,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -7071,6 +7424,7 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -7080,6 +7434,77 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -7121,9 +7546,9 @@ } }, "node_modules/ts-jest": { - "version": "29.4.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.1.tgz", - "integrity": "sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==", + "version": "29.4.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.6.tgz", + "integrity": "sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA==", "dev": true, "license": "MIT", "dependencies": { @@ -7133,7 +7558,7 @@ "json5": "^2.2.3", "lodash.memoize": "^4.1.2", "make-error": "^1.3.6", - "semver": "^7.7.2", + "semver": "^7.7.3", "type-fest": "^4.41.0", "yargs-parser": "^21.1.1" }, @@ -7174,9 +7599,9 @@ } }, "node_modules/ts-jest/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", "bin": { @@ -7204,6 +7629,7 @@ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, + "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -7278,11 +7704,18 @@ "node": ">=4" } }, + "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==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/tweetnacl": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "peer": true + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" }, "node_modules/type-check": { "version": "0.4.0", @@ -7302,6 +7735,7 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -7311,6 +7745,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -7397,10 +7832,12 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, + "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7448,10 +7885,45 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.1.tgz", + "integrity": "sha512-R9NcHbbZ45RoWfTdhn1J9SS7zxNvlddv4YRrHTUaFdtjbmfncfedB45EC9IaqJQ97iAR1GZgOfyRQO+ExIF6EQ==", "dev": true, "funding": [ { @@ -7467,9 +7939,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -7495,10 +7968,11 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -7509,10 +7983,11 @@ } }, "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -7658,10 +8133,30 @@ "license": "MIT" }, "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -7674,23 +8169,96 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/y18n": { @@ -7698,6 +8266,7 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -7706,13 +8275,15 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -7735,6 +8306,51 @@ "node": ">=12" } }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index d9a4017..8062d39 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ }, "typesVersions": { "*": { - "*": ["*"] + "*": [ + "*" + ] } }, "bin": { @@ -50,17 +52,16 @@ "author": "TON Tech", "license": "MIT", "devDependencies": { - "@jest/globals": "^29.7.0", - "@ton/toolchain": "github:the-ton-tech/toolchain#v1.4.0", + "@ton/toolchain": "github:the-ton-tech/toolchain#v1", "@types/jest": "^30.0.0", - "jest": "^29.7.0", - "ts-jest": "^29.4.1", + "jest": "^30.2.0", + "ts-jest": "^29.4.6", "ts-node": "^10.9.2", - "typescript": "^5.3.3" + "typescript": "^5.9.3" }, "dependencies": { "@ton-community/tlb-parser": "^0.1.5", - "@ton/core": "^0.61.0", + "@ton/core": "^0.62.0", "meow": "^9.0.0" } } diff --git a/test/main.spec.ts b/test/main.spec.ts index 41007ac..dbda5b1 100644 --- a/test/main.spec.ts +++ b/test/main.spec.ts @@ -1,5 +1,3 @@ -import { describe, expect, test } from '@jest/globals'; - import { generateCode, getTLBCode } from '../src'; describe('main', () => { diff --git a/test/tlbgen.spec.ts b/test/tlbgen.spec.ts index 489c066..8ca8088 100644 --- a/test/tlbgen.spec.ts +++ b/test/tlbgen.spec.ts @@ -1,5 +1,4 @@ import { Address, BitString, Cell, Dictionary, ExternalAddress, Slice, beginCell } from '@ton/core'; -import { describe, expect, test } from '@jest/globals'; import { loadBlock, storeBlock } from './generated_files/generated_block'; import { From cecb8f9bb84093ce1baebbc4749445080a0747b0 Mon Sep 17 00:00:00 2001 From: Ilyar Date: Thu, 4 Dec 2025 06:27:21 +0100 Subject: [PATCH 2/7] fix: generate code for cell as ref #59 --- CHANGELOG.md | 4 + src/astbuilder/handle_type.ts | 13 + src/generators/CodeBuilder.ts | 12 +- src/generators/typescript/generator.ts | 72 +- src/generators/typescript/tsgen.ts | 2 +- test/__snapshots__/main.spec.ts.snap | 112 +- test/generated_files/generated_block.ts | 3423 +++++++++-------------- test/generated_files/generated_test.ts | 1017 +++---- test/main.spec.ts | 4 + 9 files changed, 1795 insertions(+), 2864 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcf6941..1c5fe1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Fixed + +- Fix generate code for cell as ref [issues #59](https://github.com/ton-community/tlb-codegen/issues/59) + ### Chore - Upgrade develop dependencies diff --git a/src/astbuilder/handle_type.ts b/src/astbuilder/handle_type.ts index d4d1768..c7564e1 100644 --- a/src/astbuilder/handle_type.ts +++ b/src/astbuilder/handle_type.ts @@ -260,6 +260,19 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild } else if (expr instanceof MathExpr) { if (fieldTypeName == '') { if (expr.op == '*') { + // Handle (x * ^Cell) case - if right is CellRefExpr, treat it as array of Cell references + if (expr.right instanceof CellRefExpr) { + // For (x * ^Cell), we want TLBMultipleType with TLBCellType + // Check if the inner expression is Cell or Any + let innerExpr = expr.right.expr; + if (innerExpr instanceof NameExpr && (innerExpr.name == 'Cell' || innerExpr.name == 'Any')) { + return { + kind: 'TLBMultipleType', + times: getCalculatedExpression(convertToMathExpr(expr.left), constructor), + value: { kind: 'TLBCellType' }, + }; + } + } let subExprInfo = getType(expr.right, constructor, fieldTypeName); return { kind: 'TLBMultipleType', diff --git a/src/generators/CodeBuilder.ts b/src/generators/CodeBuilder.ts index 688a506..acb3df9 100644 --- a/src/generators/CodeBuilder.ts +++ b/src/generators/CodeBuilder.ts @@ -37,13 +37,23 @@ export class CodeBuilder { addMultiline(text: string, inline = false) { let lines = text.split('\n'); let i = 0; + let endsWithNewline = text.endsWith('\n'); for (let line of lines) { if (line === '\n' && lines.indexOf(line) === lines.length - 1) { continue; } if (inline && i === 0) { - this.code += line + '\n'; + this.code += line; + // Only add newline if this is not the last line or if text doesn't end with newline + if (i < lines.length - 1 || !endsWithNewline) { + this.code += '\n'; + } } else { + // For the last line, don't add newline if text already ends with newline + if (i === lines.length - 1 && endsWithNewline && line === '') { + // Skip empty last line that was created by split('\n') + continue; + } this.add(line); } i++; diff --git a/src/generators/typescript/generator.ts b/src/generators/typescript/generator.ts index 8bf1206..798de2e 100644 --- a/src/generators/typescript/generator.ts +++ b/src/generators/typescript/generator.ts @@ -64,6 +64,7 @@ import { TypeParametersExpression, TypedIdentifier, id, + tArrowFunctionExpression, tBinaryExpression, tCodeAsIs, tComment, @@ -778,7 +779,28 @@ export function loadBoolTrue(slice: Slice): Bool { let currentParamOutside = storeParametersOutside[0]; let currentParamInside = storeParametersInside[0]; if (subExprInfo.loadExpr) { - result.loadExpr = loadTupleExpr(arrayLength, subExprInfo.loadExpr); + // Special handling for arrays of Cell references - use loadRef() instead of asCell() + if (fieldType.value.kind == 'TLBCellType') { + result.loadExpr = tFunctionCall( + tMemberExpression( + tFunctionCall(tMemberExpression(id('Array'), id('from')), [ + tFunctionCall( + tMemberExpression(tFunctionCall(id('Array'), [arrayLength]), id('keys')), + [], + ), + ]), + id('map'), + ), + [ + tArrowFunctionExpression( + [], + [tReturnStatement(tFunctionCall(tMemberExpression(id(theSlice), id('loadRef')), []))], + ), + ], + ); + } else { + result.loadExpr = loadTupleExpr(arrayLength, subExprInfo.loadExpr); + } } if ( currentParamOutside && @@ -787,16 +809,44 @@ export function loadBoolTrue(slice: Slice): Bool { subExprInfo.storeStmtOutside ) { if (subExprInfo.storeFunctionExpr && subExprInfo.storeStmtInside) { - result.storeStmtOutside = storeTupleStmt( - currentParamOutside, - subExprInfo.storeStmtInside, - subExprInfo.typeParamExpr, - ); - result.storeStmtInside = storeTupleStmt( - currentParamInside, - subExprInfo.storeStmtInside, - subExprInfo.typeParamExpr, - ); + // Special handling for arrays of Cell references - use storeRef() instead of storeSlice() + if (fieldType.value.kind == 'TLBCellType') { + result.storeStmtOutside = tExpressionStatement( + tFunctionCall(tMemberExpression(currentParamOutside, id('forEach')), [ + tArrowFunctionExpression( + [tTypedIdentifier(id('arg'), id('Cell'))], + [ + tExpressionStatement( + tFunctionCall(tMemberExpression(id(theCell), id('storeRef')), [id('arg')]), + ), + ], + ), + ]), + ); + result.storeStmtInside = tExpressionStatement( + tFunctionCall(tMemberExpression(currentParamInside, id('forEach')), [ + tArrowFunctionExpression( + [tTypedIdentifier(id('arg'), id('Cell'))], + [ + tExpressionStatement( + tFunctionCall(tMemberExpression(id(theCell), id('storeRef')), [id('arg')]), + ), + ], + ), + ]), + ); + } else { + result.storeStmtOutside = storeTupleStmt( + currentParamOutside, + subExprInfo.storeStmtInside, + subExprInfo.typeParamExpr, + ); + result.storeStmtInside = storeTupleStmt( + currentParamInside, + subExprInfo.storeStmtInside, + subExprInfo.typeParamExpr, + ); + } } } if (subExprInfo.typeParamExpr) { diff --git a/src/generators/typescript/tsgen.ts b/src/generators/typescript/tsgen.ts index c2fcc08..bc50593 100644 --- a/src/generators/typescript/tsgen.ts +++ b/src/generators/typescript/tsgen.ts @@ -487,7 +487,7 @@ export function toCode(node: TheNode, code: CodeBuilder = new CodeBuilder()): Co if (node.type == 'DeclareVariable') { code.add( - `let ${toCode(node.name).render()}${node.typeName ? ': ' + toCode(node.typeName).render() : ''}`, + `const ${toCode(node.name).render()}${node.typeName ? ': ' + toCode(node.typeName).render() : ''}`, false, ); if (node.init) { diff --git a/test/__snapshots__/main.spec.ts.snap b/test/__snapshots__/main.spec.ts.snap index 0a472ce..b7e8258 100644 --- a/test/__snapshots__/main.spec.ts.snap +++ b/test/__snapshots__/main.spec.ts.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing exports[`main generateCode 1`] = ` "import { Builder } from '@ton/core' @@ -84,19 +84,125 @@ export interface Foo { // _ x:# = Foo; export function loadFoo(slice: Slice): Foo { - let x: number = slice.loadUint(32); + const x: number = slice.loadUint(32); return { kind: 'Foo', x: x, } - } export function storeFoo(foo: Foo): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(foo.x, 32); }) +} + +" +`; + +exports[`main generateCode for cell as ref 1`] = ` +"import { Builder } from '@ton/core' +import { Slice } from '@ton/core' +import { beginCell } from '@ton/core' +import { BitString } from '@ton/core' +import { Cell } from '@ton/core' +import { Address } from '@ton/core' +import { ExternalAddress } from '@ton/core' +import { Dictionary } from '@ton/core' +import { DictionaryValue } from '@ton/core' +import { TupleItem } from '@ton/core' +import { parseTuple } from '@ton/core' +import { serializeTuple } from '@ton/core' +export function bitLen(n: number) { + return n.toString(2).length; +} + +export interface Bool { + readonly kind: 'Bool'; + readonly value: boolean; +} + +export function loadBool(slice: Slice): Bool { + if (slice.remainingBits >= 1) { + let value = slice.loadUint(1); + return { + kind: 'Bool', + value: value == 1 + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function storeBool(bool: Bool): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(bool.value ? 1: 0, 1); + }) + +} + + + +export function loadBoolFalse(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: false + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function loadBoolTrue(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: true + } + + } + throw new Error('Expected one of "BoolTrue" in loading "BoolTrue", but data does not satisfy any constructor'); +} + +export function copyCellToBuilder(from: Cell, to: Builder): void { + let slice = from.beginParse(); + to.storeBits(slice.loadBits(slice.remainingBits)); + while (slice.remainingRefs) { + to.storeRef(slice.loadRef()); + } +} +// _ n:(## 3) c:(n * ^Cell) = T; + +export interface T { + readonly kind: 'T'; + readonly n: number; + readonly c: Array; +} + +// _ n:(## 3) c:(n * ^Cell) = T; +export function loadT(slice: Slice): T { + const n: number = slice.loadUint(3); + const c: Array = Array.from(Array(n).keys()).map((() => { + return slice.loadRef() + })); + return { + kind: 'T', + n: n, + c: c, + } +} + +export function storeT(t: T): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(t.n, 3); + t.c.forEach(((arg: Cell) => { + builder.storeRef(arg); + })); + }) } " diff --git a/test/generated_files/generated_block.ts b/test/generated_files/generated_block.ts index 2ad6d2c..d4a089e 100644 --- a/test/generated_files/generated_block.ts +++ b/test/generated_files/generated_block.ts @@ -3801,13 +3801,11 @@ export function loadUnit(slice: Slice): Unit { return { kind: 'Unit', } - } export function storeUnit(unit: Unit): (builder: Builder) => void { return ((builder: Builder) => { }) - } // true$_ = True; @@ -3816,13 +3814,11 @@ export function loadTrue(slice: Slice): True { return { kind: 'True', } - } export function storeTrue(true0: True): (builder: Builder) => void { return ((builder: Builder) => { }) - } // nothing$0 {X:Type} = Maybe X; @@ -3835,16 +3831,14 @@ export function loadMaybe(slice: Slice, loadX: (slice: Slice) => X): Maybe return { kind: 'Maybe_nothing', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'Maybe_just', value: value, } - } throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); } @@ -3854,14 +3848,12 @@ export function storeMaybe(maybe: Maybe, storeX: (x: X) => (builder: Build return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((maybe.kind == 'Maybe_just')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeX(maybe.value)(builder); }) - } throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); } @@ -3873,21 +3865,19 @@ export function storeMaybe(maybe: Maybe, storeX: (x: X) => (builder: Build export function loadEither(slice: Slice, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): Either { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'Either_left', value: value, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let value: Y = loadY(slice); + const value: Y = loadY(slice); return { kind: 'Either_right', value: value, } - } throw new Error('Expected one of "Either_left", "Either_right" in loading "Either", but data does not satisfy any constructor'); } @@ -3898,14 +3888,12 @@ export function storeEither(either: Either, storeX: (x: X) => (build builder.storeUint(0b0, 1); storeX(either.value)(builder); }) - } if ((either.kind == 'Either_right')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeY(either.value)(builder); }) - } throw new Error('Expected one of "Either_left", "Either_right" in loading "Either", but data does not satisfy any constructor'); } @@ -3913,14 +3901,13 @@ export function storeEither(either: Either, storeX: (x: X) => (build // pair$_ {X:Type} {Y:Type} first:X second:Y = Both X Y; export function loadBoth(slice: Slice, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): Both { - let first: X = loadX(slice); - let second: Y = loadY(slice); + const first: X = loadX(slice); + const second: Y = loadY(slice); return { kind: 'Both', first: first, second: second, } - } export function storeBoth(both: Both, storeX: (x: X) => (builder: Builder) => void, storeY: (y: Y) => (builder: Builder) => void): (builder: Builder) => void { @@ -3928,24 +3915,20 @@ export function storeBoth(both: Both, storeX: (x: X) => (builder: Bu storeX(both.first)(builder); storeY(both.second)(builder); }) - } export function hashmap_get_l(label: HmLabel): number { if ((label.kind == 'HmLabel_hml_short')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_long')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_same')) { - let n = label.n; + const n = label.n; return n - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); } @@ -3956,9 +3939,9 @@ hm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) */ export function loadHashmap(slice: Slice, n: number, loadX: (slice: Slice) => X): Hashmap { - let label: HmLabel = loadHmLabel(slice, n); - let l = hashmap_get_l(label); - let node: HashmapNode = loadHashmapNode(slice, (n - l), loadX); + const label: HmLabel = loadHmLabel(slice, n); + const l = hashmap_get_l(label); + const node: HashmapNode = loadHashmapNode(slice, (n - l), loadX); return { kind: 'Hashmap', n: n, @@ -3967,7 +3950,6 @@ export function loadHashmap(slice: Slice, n: number, loadX: (slice: Slice) => l: l, node: node, } - } export function storeHashmap(hashmap: Hashmap, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -3975,7 +3957,6 @@ export function storeHashmap(hashmap: Hashmap, storeX: (x: X) => (builder: storeHmLabel(hashmap.label)(builder); storeHashmapNode(hashmap.node, storeX)(builder); }) - } // hmn_leaf#_ {X:Type} value:X = HashmapNode 0 X; @@ -3987,25 +3968,23 @@ hmn_fork#_ {n:#} {X:Type} left:^(Hashmap n X) export function loadHashmapNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X): HashmapNode { if ((arg0 == 0)) { - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'HashmapNode_hmn_leaf', value: value, } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let left: Hashmap = loadHashmap(slice1, (arg0 - 1), loadX); - let slice2 = slice.loadRef().beginParse(true); - let right: Hashmap = loadHashmap(slice2, (arg0 - 1), loadX); + const slice1 = slice.loadRef().beginParse(true); + const left: Hashmap = loadHashmap(slice1, (arg0 - 1), loadX); + const slice2 = slice.loadRef().beginParse(true); + const right: Hashmap = loadHashmap(slice2, (arg0 - 1), loadX); return { kind: 'HashmapNode_hmn_fork', n: (arg0 - 1), left: left, right: right, } - } throw new Error('Expected one of "HashmapNode_hmn_leaf", "HashmapNode_hmn_fork" in loading "HashmapNode", but data does not satisfy any constructor'); } @@ -4015,18 +3994,16 @@ export function storeHashmapNode(hashmapNode: HashmapNode, storeX: (x: X) return ((builder: Builder) => { storeX(hashmapNode.value)(builder); }) - } if ((hashmapNode.kind == 'HashmapNode_hmn_fork')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeHashmap(hashmapNode.left, storeX)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeHashmap(hashmapNode.right, storeX)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "HashmapNode_hmn_leaf", "HashmapNode_hmn_fork" in loading "HashmapNode", but data does not satisfy any constructor'); } @@ -4034,12 +4011,10 @@ export function storeHashmapNode(hashmapNode: HashmapNode, storeX: (x: X) export function hmLabel_hml_short_get_n(len: Unary): number { if ((len.kind == 'Unary_unary_zero')) { return 0 - } if ((len.kind == 'Unary_unary_succ')) { - let n = len.n; + const n = len.n; return (n + 1) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "len", but data does not satisfy any constructor'); } @@ -4053,11 +4028,10 @@ export function hmLabel_hml_short_get_n(len: Unary): number { export function loadHmLabel(slice: Slice, m: number): HmLabel { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let len: Unary = loadUnary(slice); - let n = hmLabel_hml_short_get_n(len); - let s: Array = Array.from(Array(n).keys()).map(((arg: number) => { + const len: Unary = loadUnary(slice); + const n = hmLabel_hml_short_get_n(len); + const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { return slice.loadBit() - })); if ((!(n <= m))) { throw new Error('Condition (n <= m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -4069,14 +4043,12 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { n: n, s: s, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); - let n: number = slice.loadUint(bitLen(m)); - let s: Array = Array.from(Array(n).keys()).map(((arg: number) => { + const n: number = slice.loadUint(bitLen(m)); + const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { return slice.loadBit() - })); return { kind: 'HmLabel_hml_long', @@ -4084,19 +4056,17 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { n: n, s: s, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); - let v: boolean = slice.loadBit(); - let n: number = slice.loadUint(bitLen(m)); + const v: boolean = slice.loadBit(); + const n: number = slice.loadUint(bitLen(m)); return { kind: 'HmLabel_hml_same', m: m, v: v, n: n, } - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" in loading "HmLabel", but data does not satisfy any constructor'); } @@ -4113,7 +4083,6 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { throw new Error('Condition (hmLabel.n <= hmLabel.m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); } }) - } if ((hmLabel.kind == 'HmLabel_hml_long')) { return ((builder: Builder) => { @@ -4123,7 +4092,6 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { builder.storeBit(arg); })); }) - } if ((hmLabel.kind == 'HmLabel_hml_same')) { return ((builder: Builder) => { @@ -4131,7 +4099,6 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { builder.storeBit(hmLabel.v); builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); }) - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" in loading "HmLabel", but data does not satisfy any constructor'); } @@ -4141,12 +4108,10 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { export function unary_unary_succ_get_n(x: Unary): number { if ((x.kind == 'Unary_unary_zero')) { return 0 - } if ((x.kind == 'Unary_unary_succ')) { - let n = x.n; + const n = x.n; return (n + 1) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "x", but data does not satisfy any constructor'); } @@ -4159,18 +4124,16 @@ export function loadUnary(slice: Slice): Unary { return { kind: 'Unary_unary_zero', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let x: Unary = loadUnary(slice); - let n = unary_unary_succ_get_n(x); + const x: Unary = loadUnary(slice); + const n = unary_unary_succ_get_n(x); return { kind: 'Unary_unary_succ', x: x, n: n, } - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" in loading "Unary", but data does not satisfy any constructor'); } @@ -4180,14 +4143,12 @@ export function storeUnary(unary: Unary): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((unary.kind == 'Unary_unary_succ')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeUnary(unary.x)(builder); }) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" in loading "Unary", but data does not satisfy any constructor'); } @@ -4195,7 +4156,7 @@ export function storeUnary(unary: Unary): (builder: Builder) => void { // _ {n:#} _:(Hashmap n True) = BitstringSet n; export function loadBitstringSet(slice: Slice, n: number): BitstringSet { - let _: Dictionary = Dictionary.loadDirect(Dictionary.Keys.BigUint(n), { + const _: Dictionary = Dictionary.loadDirect(Dictionary.Keys.BigUint(n), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); @@ -4204,7 +4165,6 @@ export function loadBitstringSet(slice: Slice, n: number): BitstringSet { n: n, _: _, } - } export function storeBitstringSet(bitstringSet: BitstringSet): (builder: Builder) => void { @@ -4216,24 +4176,20 @@ export function storeBitstringSet(bitstringSet: BitstringSet): (builder: Builder parse: () => { throw new Error('Not implemented') }, }); }) - } export function hashmapAug_get_l(label: HmLabel): number { if ((label.kind == 'HmLabel_hml_short')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_long')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_same')) { - let n = label.n; + const n = label.n; return n - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); } @@ -4245,9 +4201,9 @@ ahm_edge#_ {n:#} {X:Type} {Y:Type} {l:#} {m:#} */ export function loadHashmapAug(slice: Slice, n: number, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): HashmapAug { - let label: HmLabel = loadHmLabel(slice, n); - let l = hashmapAug_get_l(label); - let node: HashmapAugNode = loadHashmapAugNode(slice, (n - l), loadX, loadY); + const label: HmLabel = loadHmLabel(slice, n); + const l = hashmapAug_get_l(label); + const node: HashmapAugNode = loadHashmapAugNode(slice, (n - l), loadX, loadY); return { kind: 'HashmapAug', n: n, @@ -4256,7 +4212,6 @@ export function loadHashmapAug(slice: Slice, n: number, loadX: (slice: Sli l: l, node: node, } - } export function storeHashmapAug(hashmapAug: HashmapAug, storeX: (x: X) => (builder: Builder) => void, storeY: (y: Y) => (builder: Builder) => void): (builder: Builder) => void { @@ -4264,7 +4219,6 @@ export function storeHashmapAug(hashmapAug: HashmapAug, storeX: (x: storeHmLabel(hashmapAug.label)(builder); storeHashmapAugNode(hashmapAug.node, storeX, storeY)(builder); }) - } // ahmn_leaf#_ {X:Type} {Y:Type} extra:Y value:X = HashmapAugNode 0 X Y; @@ -4276,21 +4230,20 @@ ahmn_fork#_ {n:#} {X:Type} {Y:Type} left:^(HashmapAug n X Y) export function loadHashmapAugNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): HashmapAugNode { if ((arg0 == 0)) { - let extra: Y = loadY(slice); - let value: X = loadX(slice); + const extra: Y = loadY(slice); + const value: X = loadX(slice); return { kind: 'HashmapAugNode_ahmn_leaf', extra: extra, value: value, } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let left: HashmapAug = loadHashmapAug(slice1, (arg0 - 1), loadX, loadY); - let slice2 = slice.loadRef().beginParse(true); - let right: HashmapAug = loadHashmapAug(slice2, (arg0 - 1), loadX, loadY); - let extra: Y = loadY(slice); + const slice1 = slice.loadRef().beginParse(true); + const left: HashmapAug = loadHashmapAug(slice1, (arg0 - 1), loadX, loadY); + const slice2 = slice.loadRef().beginParse(true); + const right: HashmapAug = loadHashmapAug(slice2, (arg0 - 1), loadX, loadY); + const extra: Y = loadY(slice); return { kind: 'HashmapAugNode_ahmn_fork', n: (arg0 - 1), @@ -4298,7 +4251,6 @@ export function loadHashmapAugNode(slice: Slice, arg0: number, loadX: (sli right: right, extra: extra, } - } throw new Error('Expected one of "HashmapAugNode_ahmn_leaf", "HashmapAugNode_ahmn_fork" in loading "HashmapAugNode", but data does not satisfy any constructor'); } @@ -4309,38 +4261,33 @@ export function storeHashmapAugNode(hashmapAugNode: HashmapAugNode, storeY(hashmapAugNode.extra)(builder); storeX(hashmapAugNode.value)(builder); }) - } if ((hashmapAugNode.kind == 'HashmapAugNode_ahmn_fork')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeHashmapAug(hashmapAugNode.left, storeX, storeY)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeHashmapAug(hashmapAugNode.right, storeX, storeY)(cell2); builder.storeRef(cell2); storeY(hashmapAugNode.extra)(builder); }) - } throw new Error('Expected one of "HashmapAugNode_ahmn_leaf", "HashmapAugNode_ahmn_fork" in loading "HashmapAugNode", but data does not satisfy any constructor'); } export function varHashmap_get_l(label: HmLabel): number { if ((label.kind == 'HmLabel_hml_short')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_long')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_same')) { - let n = label.n; + const n = label.n; return n - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); } @@ -4352,9 +4299,9 @@ vhm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) */ export function loadVarHashmap(slice: Slice, n: number, loadX: (slice: Slice) => X): VarHashmap { - let label: HmLabel = loadHmLabel(slice, n); - let l = varHashmap_get_l(label); - let node: VarHashmapNode = loadVarHashmapNode(slice, (n - l), loadX); + const label: HmLabel = loadHmLabel(slice, n); + const l = varHashmap_get_l(label); + const node: VarHashmapNode = loadVarHashmapNode(slice, (n - l), loadX); return { kind: 'VarHashmap', n: n, @@ -4363,7 +4310,6 @@ export function loadVarHashmap(slice: Slice, n: number, loadX: (slice: Slice) l: l, node: node, } - } export function storeVarHashmap(varHashmap: VarHashmap, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -4371,7 +4317,6 @@ export function storeVarHashmap(varHashmap: VarHashmap, storeX: (x: X) => storeHmLabel(varHashmap.label)(builder); storeVarHashmapNode(varHashmap.node, storeX)(builder); }) - } // vhmn_leaf$00 {n:#} {X:Type} value:X = VarHashmapNode n X; @@ -4390,21 +4335,20 @@ vhmn_cont$1 {n:#} {X:Type} branch:Bit child:^(VarHashmap n X) export function loadVarHashmapNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X): VarHashmapNode { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b00))) { slice.loadUint(2); - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'VarHashmapNode_vhmn_leaf', n: arg0, value: value, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); - let slice1 = slice.loadRef().beginParse(true); - let left: VarHashmap = loadVarHashmap(slice1, (arg0 - 1), loadX); - let slice2 = slice.loadRef().beginParse(true); - let right: VarHashmap = loadVarHashmap(slice2, (arg0 - 1), loadX); - let value: Maybe = loadMaybe(slice, loadX); + const slice1 = slice.loadRef().beginParse(true); + const left: VarHashmap = loadVarHashmap(slice1, (arg0 - 1), loadX); + const slice2 = slice.loadRef().beginParse(true); + const right: VarHashmap = loadVarHashmap(slice2, (arg0 - 1), loadX); + const value: Maybe = loadMaybe(slice, loadX); return { kind: 'VarHashmapNode_vhmn_fork', n: (arg0 - 1), @@ -4412,14 +4356,13 @@ export function loadVarHashmapNode(slice: Slice, arg0: number, loadX: (slice: right: right, value: value, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let branch: boolean = slice.loadBit(); - let slice1 = slice.loadRef().beginParse(true); - let child: VarHashmap = loadVarHashmap(slice1, (arg0 - 1), loadX); - let value: X = loadX(slice); + const branch: boolean = slice.loadBit(); + const slice1 = slice.loadRef().beginParse(true); + const child: VarHashmap = loadVarHashmap(slice1, (arg0 - 1), loadX); + const value: X = loadX(slice); return { kind: 'VarHashmapNode_vhmn_cont', n: (arg0 - 1), @@ -4427,7 +4370,6 @@ export function loadVarHashmapNode(slice: Slice, arg0: number, loadX: (slice: child: child, value: value, } - } throw new Error('Expected one of "VarHashmapNode_vhmn_leaf", "VarHashmapNode_vhmn_fork", "VarHashmapNode_vhmn_cont" in loading "VarHashmapNode", but data does not satisfy any constructor'); } @@ -4438,31 +4380,28 @@ export function storeVarHashmapNode(varHashmapNode: VarHashmapNode, storeX builder.storeUint(0b00, 2); storeX(varHashmapNode.value)(builder); }) - } if ((varHashmapNode.kind == 'VarHashmapNode_vhmn_fork')) { return ((builder: Builder) => { builder.storeUint(0b01, 2); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVarHashmap(varHashmapNode.left, storeX)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVarHashmap(varHashmapNode.right, storeX)(cell2); builder.storeRef(cell2); storeMaybe(varHashmapNode.value, storeX)(builder); }) - } if ((varHashmapNode.kind == 'VarHashmapNode_vhmn_cont')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); builder.storeBit(varHashmapNode.branch); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVarHashmap(varHashmapNode.child, storeX)(cell1); builder.storeRef(cell1); storeX(varHashmapNode.value)(builder); }) - } throw new Error('Expected one of "VarHashmapNode_vhmn_leaf", "VarHashmapNode_vhmn_fork", "VarHashmapNode_vhmn_cont" in loading "VarHashmapNode", but data does not satisfy any constructor'); } @@ -4481,18 +4420,16 @@ export function loadVarHashmapE(slice: Slice, n: number, loadX: (slice: Slice kind: 'VarHashmapE_vhme_empty', n: n, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let slice1 = slice.loadRef().beginParse(true); - let root: VarHashmap = loadVarHashmap(slice1, n, loadX); + const slice1 = slice.loadRef().beginParse(true); + const root: VarHashmap = loadVarHashmap(slice1, n, loadX); return { kind: 'VarHashmapE_vhme_root', n: n, root: root, } - } throw new Error('Expected one of "VarHashmapE_vhme_empty", "VarHashmapE_vhme_root" in loading "VarHashmapE", but data does not satisfy any constructor'); } @@ -4502,35 +4439,30 @@ export function storeVarHashmapE(varHashmapE: VarHashmapE, storeX: (x: X) return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((varHashmapE.kind == 'VarHashmapE_vhme_root')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVarHashmap(varHashmapE.root, storeX)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VarHashmapE_vhme_empty", "VarHashmapE_vhme_root" in loading "VarHashmapE", but data does not satisfy any constructor'); } export function pfxHashmap_get_l(label: HmLabel): number { if ((label.kind == 'HmLabel_hml_short')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_long')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_same')) { - let n = label.n; + const n = label.n; return n - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); } @@ -4542,9 +4474,9 @@ phm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) */ export function loadPfxHashmap(slice: Slice, n: number, loadX: (slice: Slice) => X): PfxHashmap { - let label: HmLabel = loadHmLabel(slice, n); - let l = pfxHashmap_get_l(label); - let node: PfxHashmapNode = loadPfxHashmapNode(slice, (n - l), loadX); + const label: HmLabel = loadHmLabel(slice, n); + const l = pfxHashmap_get_l(label); + const node: PfxHashmapNode = loadPfxHashmapNode(slice, (n - l), loadX); return { kind: 'PfxHashmap', n: n, @@ -4553,7 +4485,6 @@ export function loadPfxHashmap(slice: Slice, n: number, loadX: (slice: Slice) l: l, node: node, } - } export function storePfxHashmap(pfxHashmap: PfxHashmap, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -4561,7 +4492,6 @@ export function storePfxHashmap(pfxHashmap: PfxHashmap, storeX: (x: X) => storeHmLabel(pfxHashmap.label)(builder); storePfxHashmapNode(pfxHashmap.node, storeX)(builder); }) - } // phmn_leaf$0 {n:#} {X:Type} value:X = PfxHashmapNode n X; @@ -4574,27 +4504,25 @@ phmn_fork$1 {n:#} {X:Type} left:^(PfxHashmap n X) export function loadPfxHashmapNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X): PfxHashmapNode { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'PfxHashmapNode_phmn_leaf', n: arg0, value: value, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let slice1 = slice.loadRef().beginParse(true); - let left: PfxHashmap = loadPfxHashmap(slice1, (arg0 - 1), loadX); - let slice2 = slice.loadRef().beginParse(true); - let right: PfxHashmap = loadPfxHashmap(slice2, (arg0 - 1), loadX); + const slice1 = slice.loadRef().beginParse(true); + const left: PfxHashmap = loadPfxHashmap(slice1, (arg0 - 1), loadX); + const slice2 = slice.loadRef().beginParse(true); + const right: PfxHashmap = loadPfxHashmap(slice2, (arg0 - 1), loadX); return { kind: 'PfxHashmapNode_phmn_fork', n: (arg0 - 1), left: left, right: right, } - } throw new Error('Expected one of "PfxHashmapNode_phmn_leaf", "PfxHashmapNode_phmn_fork" in loading "PfxHashmapNode", but data does not satisfy any constructor'); } @@ -4605,19 +4533,17 @@ export function storePfxHashmapNode(pfxHashmapNode: PfxHashmapNode, storeX builder.storeUint(0b0, 1); storeX(pfxHashmapNode.value)(builder); }) - } if ((pfxHashmapNode.kind == 'PfxHashmapNode_phmn_fork')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); - let cell1 = beginCell(); + const cell1 = beginCell(); storePfxHashmap(pfxHashmapNode.left, storeX)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storePfxHashmap(pfxHashmapNode.right, storeX)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "PfxHashmapNode_phmn_leaf", "PfxHashmapNode_phmn_fork" in loading "PfxHashmapNode", but data does not satisfy any constructor'); } @@ -4636,18 +4562,16 @@ export function loadPfxHashmapE(slice: Slice, n: number, loadX: (slice: Slice kind: 'PfxHashmapE_phme_empty', n: n, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let slice1 = slice.loadRef().beginParse(true); - let root: PfxHashmap = loadPfxHashmap(slice1, n, loadX); + const slice1 = slice.loadRef().beginParse(true); + const root: PfxHashmap = loadPfxHashmap(slice1, n, loadX); return { kind: 'PfxHashmapE_phme_root', n: n, root: root, } - } throw new Error('Expected one of "PfxHashmapE_phme_empty", "PfxHashmapE_phme_root" in loading "PfxHashmapE", but data does not satisfy any constructor'); } @@ -4657,16 +4581,14 @@ export function storePfxHashmapE(pfxHashmapE: PfxHashmapE, storeX: (x: X) return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((pfxHashmapE.kind == 'PfxHashmapE_phme_root')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); - let cell1 = beginCell(); + const cell1 = beginCell(); storePfxHashmap(pfxHashmapE.root, storeX)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "PfxHashmapE_phme_empty", "PfxHashmapE_phme_root" in loading "PfxHashmapE", but data does not satisfy any constructor'); } @@ -4677,8 +4599,8 @@ anycast_info$_ depth:(#<= 30) { depth >= 1 } */ export function loadAnycast(slice: Slice): Anycast { - let depth: number = slice.loadUint(bitLen(30)); - let rewrite_pfx: BitString = slice.loadBits(depth); + const depth: number = slice.loadUint(bitLen(30)); + const rewrite_pfx: BitString = slice.loadBits(depth); if ((!(depth >= 1))) { throw new Error('Condition (depth >= 1) is not satisfied while loading "Anycast" for type "Anycast"'); } @@ -4687,7 +4609,6 @@ export function loadAnycast(slice: Slice): Anycast { depth: depth, rewrite_pfx: rewrite_pfx, } - } export function storeAnycast(anycast: Anycast): (builder: Builder) => void { @@ -4698,25 +4619,22 @@ export function storeAnycast(anycast: Anycast): (builder: Builder) => void { throw new Error('Condition (anycast.depth >= 1) is not satisfied while loading "Anycast" for type "Anycast"'); } }) - } // _ grams:Grams = Coins; export function loadCoins(slice: Slice): Coins { - let grams: bigint = slice.loadCoins(); + const grams: bigint = slice.loadCoins(); return { kind: 'Coins', grams: grams, } - } export function storeCoins(coins: Coins): (builder: Builder) => void { return ((builder: Builder) => { builder.storeCoins(coins.grams); }) - } /* @@ -4725,18 +4643,16 @@ extra_currencies$_ dict:(HashmapE 32 (VarUInteger 32)) */ export function loadExtraCurrencyCollection(slice: Slice): ExtraCurrencyCollection { - let dict: Dictionary = Dictionary.load(Dictionary.Keys.Uint(32), { + const dict: Dictionary = Dictionary.load(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadVarUintBig(bitLen((32 - 1))) - }), }, slice); return { kind: 'ExtraCurrencyCollection', dict: dict, } - } export function storeExtraCurrencyCollection(extraCurrencyCollection: ExtraCurrencyCollection): (builder: Builder) => void { @@ -4747,13 +4663,11 @@ export function storeExtraCurrencyCollection(extraCurrencyCollection: ExtraCurre return ((builder: Builder) => { builder.storeVarUint(arg, bitLen((32 - 1))); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -4762,14 +4676,13 @@ currencies$_ grams:Grams other:ExtraCurrencyCollection */ export function loadCurrencyCollection(slice: Slice): CurrencyCollection { - let grams: bigint = slice.loadCoins(); - let other: ExtraCurrencyCollection = loadExtraCurrencyCollection(slice); + const grams: bigint = slice.loadCoins(); + const other: ExtraCurrencyCollection = loadExtraCurrencyCollection(slice); return { kind: 'CurrencyCollection', grams: grams, other: other, } - } export function storeCurrencyCollection(currencyCollection: CurrencyCollection): (builder: Builder) => void { @@ -4777,7 +4690,6 @@ export function storeCurrencyCollection(currencyCollection: CurrencyCollection): builder.storeCoins(currencyCollection.grams); storeExtraCurrencyCollection(currencyCollection.other)(builder); }) - } /* @@ -4800,16 +4712,16 @@ ext_out_msg_info$11 src:MsgAddressInt dest:MsgAddressExt export function loadCommonMsgInfo(slice: Slice): CommonMsgInfo { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let ihr_disabled: Bool = loadBool(slice); - let bounce: Bool = loadBool(slice); - let bounced: Bool = loadBool(slice); - let src: Address = slice.loadAddress(); - let dest: Address = slice.loadAddress(); - let value: CurrencyCollection = loadCurrencyCollection(slice); - let ihr_fee: bigint = slice.loadCoins(); - let fwd_fee: bigint = slice.loadCoins(); - let created_lt: bigint = slice.loadUintBig(64); - let created_at: number = slice.loadUint(32); + const ihr_disabled: Bool = loadBool(slice); + const bounce: Bool = loadBool(slice); + const bounced: Bool = loadBool(slice); + const src: Address = slice.loadAddress(); + const dest: Address = slice.loadAddress(); + const value: CurrencyCollection = loadCurrencyCollection(slice); + const ihr_fee: bigint = slice.loadCoins(); + const fwd_fee: bigint = slice.loadCoins(); + const created_lt: bigint = slice.loadUintBig(64); + const created_at: number = slice.loadUint(32); return { kind: 'CommonMsgInfo_int_msg_info', ihr_disabled: ihr_disabled, @@ -4823,27 +4735,25 @@ export function loadCommonMsgInfo(slice: Slice): CommonMsgInfo { created_lt: created_lt, created_at: created_at, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); - let src: ExternalAddress | null = slice.loadMaybeExternalAddress(); - let dest: Address = slice.loadAddress(); - let import_fee: bigint = slice.loadCoins(); + const src: ExternalAddress | null = slice.loadMaybeExternalAddress(); + const dest: Address = slice.loadAddress(); + const import_fee: bigint = slice.loadCoins(); return { kind: 'CommonMsgInfo_ext_in_msg_info', src: src, dest: dest, import_fee: import_fee, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); - let src: Address = slice.loadAddress(); - let dest: ExternalAddress | null = slice.loadMaybeExternalAddress(); - let created_lt: bigint = slice.loadUintBig(64); - let created_at: number = slice.loadUint(32); + const src: Address = slice.loadAddress(); + const dest: ExternalAddress | null = slice.loadMaybeExternalAddress(); + const created_lt: bigint = slice.loadUintBig(64); + const created_at: number = slice.loadUint(32); return { kind: 'CommonMsgInfo_ext_out_msg_info', src: src, @@ -4851,7 +4761,6 @@ export function loadCommonMsgInfo(slice: Slice): CommonMsgInfo { created_lt: created_lt, created_at: created_at, } - } throw new Error('Expected one of "CommonMsgInfo_int_msg_info", "CommonMsgInfo_ext_in_msg_info", "CommonMsgInfo_ext_out_msg_info" in loading "CommonMsgInfo", but data does not satisfy any constructor'); } @@ -4871,7 +4780,6 @@ export function storeCommonMsgInfo(commonMsgInfo: CommonMsgInfo): (builder: Buil builder.storeUint(commonMsgInfo.created_lt, 64); builder.storeUint(commonMsgInfo.created_at, 32); }) - } if ((commonMsgInfo.kind == 'CommonMsgInfo_ext_in_msg_info')) { return ((builder: Builder) => { @@ -4880,7 +4788,6 @@ export function storeCommonMsgInfo(commonMsgInfo: CommonMsgInfo): (builder: Buil builder.storeAddress(commonMsgInfo.dest); builder.storeCoins(commonMsgInfo.import_fee); }) - } if ((commonMsgInfo.kind == 'CommonMsgInfo_ext_out_msg_info')) { return ((builder: Builder) => { @@ -4890,7 +4797,6 @@ export function storeCommonMsgInfo(commonMsgInfo: CommonMsgInfo): (builder: Buil builder.storeUint(commonMsgInfo.created_lt, 64); builder.storeUint(commonMsgInfo.created_at, 32); }) - } throw new Error('Expected one of "CommonMsgInfo_int_msg_info", "CommonMsgInfo_ext_in_msg_info", "CommonMsgInfo_ext_out_msg_info" in loading "CommonMsgInfo", but data does not satisfy any constructor'); } @@ -4910,16 +4816,16 @@ ext_out_msg_info$11 src:MsgAddress dest:MsgAddressExt export function loadCommonMsgInfoRelaxed(slice: Slice): CommonMsgInfoRelaxed { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let ihr_disabled: Bool = loadBool(slice); - let bounce: Bool = loadBool(slice); - let bounced: Bool = loadBool(slice); - let src: Address | ExternalAddress | null = slice.loadAddressAny(); - let dest: Address = slice.loadAddress(); - let value: CurrencyCollection = loadCurrencyCollection(slice); - let ihr_fee: bigint = slice.loadCoins(); - let fwd_fee: bigint = slice.loadCoins(); - let created_lt: bigint = slice.loadUintBig(64); - let created_at: number = slice.loadUint(32); + const ihr_disabled: Bool = loadBool(slice); + const bounce: Bool = loadBool(slice); + const bounced: Bool = loadBool(slice); + const src: Address | ExternalAddress | null = slice.loadAddressAny(); + const dest: Address = slice.loadAddress(); + const value: CurrencyCollection = loadCurrencyCollection(slice); + const ihr_fee: bigint = slice.loadCoins(); + const fwd_fee: bigint = slice.loadCoins(); + const created_lt: bigint = slice.loadUintBig(64); + const created_at: number = slice.loadUint(32); return { kind: 'CommonMsgInfoRelaxed_int_msg_info', ihr_disabled: ihr_disabled, @@ -4933,14 +4839,13 @@ export function loadCommonMsgInfoRelaxed(slice: Slice): CommonMsgInfoRelaxed { created_lt: created_lt, created_at: created_at, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); - let src: Address | ExternalAddress | null = slice.loadAddressAny(); - let dest: ExternalAddress | null = slice.loadMaybeExternalAddress(); - let created_lt: bigint = slice.loadUintBig(64); - let created_at: number = slice.loadUint(32); + const src: Address | ExternalAddress | null = slice.loadAddressAny(); + const dest: ExternalAddress | null = slice.loadMaybeExternalAddress(); + const created_lt: bigint = slice.loadUintBig(64); + const created_at: number = slice.loadUint(32); return { kind: 'CommonMsgInfoRelaxed_ext_out_msg_info', src: src, @@ -4948,7 +4853,6 @@ export function loadCommonMsgInfoRelaxed(slice: Slice): CommonMsgInfoRelaxed { created_lt: created_lt, created_at: created_at, } - } throw new Error('Expected one of "CommonMsgInfoRelaxed_int_msg_info", "CommonMsgInfoRelaxed_ext_out_msg_info" in loading "CommonMsgInfoRelaxed", but data does not satisfy any constructor'); } @@ -4968,7 +4872,6 @@ export function storeCommonMsgInfoRelaxed(commonMsgInfoRelaxed: CommonMsgInfoRel builder.storeUint(commonMsgInfoRelaxed.created_lt, 64); builder.storeUint(commonMsgInfoRelaxed.created_at, 32); }) - } if ((commonMsgInfoRelaxed.kind == 'CommonMsgInfoRelaxed_ext_out_msg_info')) { return ((builder: Builder) => { @@ -4978,7 +4881,6 @@ export function storeCommonMsgInfoRelaxed(commonMsgInfoRelaxed: CommonMsgInfoRel builder.storeUint(commonMsgInfoRelaxed.created_lt, 64); builder.storeUint(commonMsgInfoRelaxed.created_at, 32); }) - } throw new Error('Expected one of "CommonMsgInfoRelaxed_int_msg_info", "CommonMsgInfoRelaxed_ext_out_msg_info" in loading "CommonMsgInfoRelaxed", but data does not satisfy any constructor'); } @@ -4986,14 +4888,13 @@ export function storeCommonMsgInfoRelaxed(commonMsgInfoRelaxed: CommonMsgInfoRel // tick_tock$_ tick:Bool tock:Bool = TickTock; export function loadTickTock(slice: Slice): TickTock { - let tick: Bool = loadBool(slice); - let tock: Bool = loadBool(slice); + const tick: Bool = loadBool(slice); + const tock: Bool = loadBool(slice); return { kind: 'TickTock', tick: tick, tock: tock, } - } export function storeTickTock(tickTock: TickTock): (builder: Builder) => void { @@ -5001,7 +4902,6 @@ export function storeTickTock(tickTock: TickTock): (builder: Builder) => void { storeBool(tickTock.tick)(builder); storeBool(tickTock.tock)(builder); }) - } /* @@ -5011,25 +4911,21 @@ _ split_depth:(Maybe (## 5)) special:(Maybe TickTock) */ export function loadStateInit(slice: Slice): StateInit { - let split_depth: Maybe = loadMaybe(slice, ((slice: Slice) => { + const split_depth: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadUint(5) - })); - let special: Maybe = loadMaybe(slice, loadTickTock); - let code: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const special: Maybe = loadMaybe(slice, loadTickTock); + const code: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - })); - let data: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const data: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - })); - let library: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const library: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - })); return { kind: 'StateInit', @@ -5039,7 +4935,6 @@ export function loadStateInit(slice: Slice): StateInit { data: data, library: library, } - } export function storeStateInit(stateInit: StateInit): (builder: Builder) => void { @@ -5048,38 +4943,30 @@ export function storeStateInit(stateInit: StateInit): (builder: Builder) => void return ((builder: Builder) => { builder.storeUint(arg, 5); }) - }))(builder); storeMaybe(stateInit.special, storeTickTock)(builder); storeMaybe(stateInit.code, ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - }))(builder); storeMaybe(stateInit.data, ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - }))(builder); storeMaybe(stateInit.library, ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - }))(builder); }) - } /* @@ -5089,22 +4976,19 @@ _ split_depth:(Maybe (## 5)) special:(Maybe TickTock) */ export function loadStateInitWithLibs(slice: Slice): StateInitWithLibs { - let split_depth: Maybe = loadMaybe(slice, ((slice: Slice) => { + const split_depth: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadUint(5) - })); - let special: Maybe = loadMaybe(slice, loadTickTock); - let code: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const special: Maybe = loadMaybe(slice, loadTickTock); + const code: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - })); - let data: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const data: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - })); - let library: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const library: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: loadSimpleLib, }, slice); @@ -5116,7 +5000,6 @@ export function loadStateInitWithLibs(slice: Slice): StateInitWithLibs { data: data, library: library, } - } export function storeStateInitWithLibs(stateInitWithLibs: StateInitWithLibs): (builder: Builder) => void { @@ -5125,26 +5008,21 @@ export function storeStateInitWithLibs(stateInitWithLibs: StateInitWithLibs): (b return ((builder: Builder) => { builder.storeUint(arg, 5); }) - }))(builder); storeMaybe(stateInitWithLibs.special, storeTickTock)(builder); storeMaybe(stateInitWithLibs.code, ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - }))(builder); storeMaybe(stateInitWithLibs.data, ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - }))(builder); builder.storeDict(stateInitWithLibs.library, Dictionary.Keys.BigUint(256), { serialize: ((arg: SimpleLib, builder: Builder) => { @@ -5153,31 +5031,28 @@ export function storeStateInitWithLibs(stateInitWithLibs: StateInitWithLibs): (b parse: () => { throw new Error('Not implemented') }, }); }) - } // simple_lib$_ public:Bool root:^Cell = SimpleLib; export function loadSimpleLib(slice: Slice): SimpleLib { - let public0: Bool = loadBool(slice); - let slice1 = slice.loadRef().beginParse(true); - let root: Cell = slice1.asCell(); + const public0: Bool = loadBool(slice); + const slice1 = slice.loadRef().beginParse(true); + const root: Cell = slice1.asCell(); return { kind: 'SimpleLib', public0: public0, root: root, } - } export function storeSimpleLib(simpleLib: SimpleLib): (builder: Builder) => void { return ((builder: Builder) => { storeBool(simpleLib.public0)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(simpleLib.root.beginParse(true)); builder.storeRef(cell1); }) - } /* @@ -5187,19 +5062,16 @@ message$_ {X:Type} info:CommonMsgInfo */ export function loadMessage(slice: Slice, loadX: (slice: Slice) => X): Message { - let info: CommonMsgInfo = loadCommonMsgInfo(slice); - let init: Maybe> = loadMaybe>(slice, ((slice: Slice) => { + const info: CommonMsgInfo = loadCommonMsgInfo(slice); + const init: Maybe> = loadMaybe>(slice, ((slice: Slice) => { return loadEither(slice, loadStateInit, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadStateInit(slice1) - })) - })); - let body: Either = loadEither(slice, loadX, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const body: Either = loadEither(slice, loadX, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadX(slice1) - })); return { kind: 'Message', @@ -5207,7 +5079,6 @@ export function loadMessage(slice: Slice, loadX: (slice: Slice) => X): Messag init: init, body: body, } - } export function storeMessage(message: Message, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -5217,27 +5088,21 @@ export function storeMessage(message: Message, storeX: (x: X) => (builder: return ((builder: Builder) => { storeEither(arg, storeStateInit, ((arg: StateInit) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeStateInit(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - }))(builder); storeEither(message.body, storeX, ((arg: X) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } /* @@ -5247,19 +5112,16 @@ message$_ {X:Type} info:CommonMsgInfoRelaxed */ export function loadMessageRelaxed(slice: Slice, loadX: (slice: Slice) => X): MessageRelaxed { - let info: CommonMsgInfoRelaxed = loadCommonMsgInfoRelaxed(slice); - let init: Maybe> = loadMaybe>(slice, ((slice: Slice) => { + const info: CommonMsgInfoRelaxed = loadCommonMsgInfoRelaxed(slice); + const init: Maybe> = loadMaybe>(slice, ((slice: Slice) => { return loadEither(slice, loadStateInit, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadStateInit(slice1) - })) - })); - let body: Either = loadEither(slice, loadX, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const body: Either = loadEither(slice, loadX, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadX(slice1) - })); return { kind: 'MessageRelaxed', @@ -5267,7 +5129,6 @@ export function loadMessageRelaxed(slice: Slice, loadX: (slice: Slice) => X): init: init, body: body, } - } export function storeMessageRelaxed(messageRelaxed: MessageRelaxed, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -5277,41 +5138,33 @@ export function storeMessageRelaxed(messageRelaxed: MessageRelaxed, storeX return ((builder: Builder) => { storeEither(arg, storeStateInit, ((arg: StateInit) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeStateInit(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - }))(builder); storeEither(messageRelaxed.body, storeX, ((arg: X) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } // _ (Message Any) = MessageAny; export function loadMessageAny(slice: Slice): MessageAny { - let anon0: Message = loadMessage(slice, ((slice: Slice) => { + const anon0: Message = loadMessage(slice, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'MessageAny', anon0: anon0, } - } export function storeMessageAny(messageAny: MessageAny): (builder: Builder) => void { @@ -5320,10 +5173,8 @@ export function storeMessageAny(messageAny: MessageAny): (builder: Builder) => v return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(builder); }) - } /* @@ -5344,34 +5195,31 @@ interm_addr_ext$11 workchain_id:int32 addr_pfx:uint64 export function loadIntermediateAddress(slice: Slice): IntermediateAddress { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let use_dest_bits: number = slice.loadUint(bitLen(96)); + const use_dest_bits: number = slice.loadUint(bitLen(96)); return { kind: 'IntermediateAddress_interm_addr_regular', use_dest_bits: use_dest_bits, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); - let workchain_id: number = slice.loadInt(8); - let addr_pfx: bigint = slice.loadUintBig(64); + const workchain_id: number = slice.loadInt(8); + const addr_pfx: bigint = slice.loadUintBig(64); return { kind: 'IntermediateAddress_interm_addr_simple', workchain_id: workchain_id, addr_pfx: addr_pfx, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); - let workchain_id: number = slice.loadInt(32); - let addr_pfx: bigint = slice.loadUintBig(64); + const workchain_id: number = slice.loadInt(32); + const addr_pfx: bigint = slice.loadUintBig(64); return { kind: 'IntermediateAddress_interm_addr_ext', workchain_id: workchain_id, addr_pfx: addr_pfx, } - } throw new Error('Expected one of "IntermediateAddress_interm_addr_regular", "IntermediateAddress_interm_addr_simple", "IntermediateAddress_interm_addr_ext" in loading "IntermediateAddress", but data does not satisfy any constructor'); } @@ -5382,7 +5230,6 @@ export function storeIntermediateAddress(intermediateAddress: IntermediateAddres builder.storeUint(0b0, 1); builder.storeUint(intermediateAddress.use_dest_bits, bitLen(96)); }) - } if ((intermediateAddress.kind == 'IntermediateAddress_interm_addr_simple')) { return ((builder: Builder) => { @@ -5390,7 +5237,6 @@ export function storeIntermediateAddress(intermediateAddress: IntermediateAddres builder.storeInt(intermediateAddress.workchain_id, 8); builder.storeUint(intermediateAddress.addr_pfx, 64); }) - } if ((intermediateAddress.kind == 'IntermediateAddress_interm_addr_ext')) { return ((builder: Builder) => { @@ -5398,7 +5244,6 @@ export function storeIntermediateAddress(intermediateAddress: IntermediateAddres builder.storeInt(intermediateAddress.workchain_id, 32); builder.storeUint(intermediateAddress.addr_pfx, 64); }) - } throw new Error('Expected one of "IntermediateAddress_interm_addr_regular", "IntermediateAddress_interm_addr_simple", "IntermediateAddress_interm_addr_ext" in loading "IntermediateAddress", but data does not satisfy any constructor'); } @@ -5412,13 +5257,12 @@ msg_envelope#4 cur_addr:IntermediateAddress export function loadMsgEnvelope(slice: Slice): MsgEnvelope { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x4))) { slice.loadUint(4); - let cur_addr: IntermediateAddress = loadIntermediateAddress(slice); - let next_addr: IntermediateAddress = loadIntermediateAddress(slice); - let fwd_fee_remaining: bigint = slice.loadCoins(); - let slice1 = slice.loadRef().beginParse(true); - let msg: Message = loadMessage(slice1, ((slice: Slice) => { + const cur_addr: IntermediateAddress = loadIntermediateAddress(slice); + const next_addr: IntermediateAddress = loadIntermediateAddress(slice); + const fwd_fee_remaining: bigint = slice.loadCoins(); + const slice1 = slice.loadRef().beginParse(true); + const msg: Message = loadMessage(slice1, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'MsgEnvelope', @@ -5427,7 +5271,6 @@ export function loadMsgEnvelope(slice: Slice): MsgEnvelope { fwd_fee_remaining: fwd_fee_remaining, msg: msg, } - } throw new Error('Expected one of "MsgEnvelope" in loading "MsgEnvelope", but data does not satisfy any constructor'); } @@ -5438,16 +5281,14 @@ export function storeMsgEnvelope(msgEnvelope: MsgEnvelope): (builder: Builder) = storeIntermediateAddress(msgEnvelope.cur_addr)(builder); storeIntermediateAddress(msgEnvelope.next_addr)(builder); builder.storeCoins(msgEnvelope.fwd_fee_remaining); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessage(msgEnvelope.msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); }) - } /* @@ -5488,32 +5329,29 @@ msg_discard_tr$111 in_msg:^MsgEnvelope transaction_id:uint64 export function loadInMsg(slice: Slice): InMsg { if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b000))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let msg: Message = loadMessage(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + const msg: Message = loadMessage(slice1, ((slice: Slice) => { return slice.asCell() - })); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); return { kind: 'InMsg_msg_import_ext', msg: msg, transaction: transaction, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b010))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let msg: Message = loadMessage(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + const msg: Message = loadMessage(slice1, ((slice: Slice) => { return slice.asCell() - })); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); - let ihr_fee: bigint = slice.loadCoins(); - let slice3 = slice.loadRef().beginParse(true); - let proof_created: Cell = slice3.asCell(); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); + const ihr_fee: bigint = slice.loadCoins(); + const slice3 = slice.loadRef().beginParse(true); + const proof_created: Cell = slice3.asCell(); return { kind: 'InMsg_msg_import_ihr', msg: msg, @@ -5521,75 +5359,70 @@ export function loadInMsg(slice: Slice): InMsg { ihr_fee: ihr_fee, proof_created: proof_created, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b011))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let in_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); - let fwd_fee: bigint = slice.loadCoins(); + const slice1 = slice.loadRef().beginParse(true); + const in_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); + const fwd_fee: bigint = slice.loadCoins(); return { kind: 'InMsg_msg_import_imm', in_msg: in_msg, transaction: transaction, fwd_fee: fwd_fee, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b100))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let in_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); - let fwd_fee: bigint = slice.loadCoins(); + const slice1 = slice.loadRef().beginParse(true); + const in_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); + const fwd_fee: bigint = slice.loadCoins(); return { kind: 'InMsg_msg_import_fin', in_msg: in_msg, transaction: transaction, fwd_fee: fwd_fee, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b101))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let in_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice2); - let transit_fee: bigint = slice.loadCoins(); + const slice1 = slice.loadRef().beginParse(true); + const in_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice2); + const transit_fee: bigint = slice.loadCoins(); return { kind: 'InMsg_msg_import_tr', in_msg: in_msg, out_msg: out_msg, transit_fee: transit_fee, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b110))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let in_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let transaction_id: bigint = slice.loadUintBig(64); - let fwd_fee: bigint = slice.loadCoins(); + const slice1 = slice.loadRef().beginParse(true); + const in_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const transaction_id: bigint = slice.loadUintBig(64); + const fwd_fee: bigint = slice.loadCoins(); return { kind: 'InMsg_msg_discard_fin', in_msg: in_msg, transaction_id: transaction_id, fwd_fee: fwd_fee, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b111))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let in_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let transaction_id: bigint = slice.loadUintBig(64); - let fwd_fee: bigint = slice.loadCoins(); - let slice2 = slice.loadRef().beginParse(true); - let proof_delivered: Cell = slice2.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const in_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const transaction_id: bigint = slice.loadUintBig(64); + const fwd_fee: bigint = slice.loadCoins(); + const slice2 = slice.loadRef().beginParse(true); + const proof_delivered: Cell = slice2.asCell(); return { kind: 'InMsg_msg_discard_tr', in_msg: in_msg, @@ -5597,7 +5430,6 @@ export function loadInMsg(slice: Slice): InMsg { fwd_fee: fwd_fee, proof_delivered: proof_delivered, } - } throw new Error('Expected one of "InMsg_msg_import_ext", "InMsg_msg_import_ihr", "InMsg_msg_import_imm", "InMsg_msg_import_fin", "InMsg_msg_import_tr", "InMsg_msg_discard_fin", "InMsg_msg_discard_tr" in loading "InMsg", but data does not satisfy any constructor'); } @@ -5606,104 +5438,95 @@ export function storeInMsg(inMsg: InMsg): (builder: Builder) => void { if ((inMsg.kind == 'InMsg_msg_import_ext')) { return ((builder: Builder) => { builder.storeUint(0b000, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessage(inMsg.msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(inMsg.transaction)(cell2); builder.storeRef(cell2); }) - } if ((inMsg.kind == 'InMsg_msg_import_ihr')) { return ((builder: Builder) => { builder.storeUint(0b010, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessage(inMsg.msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(inMsg.transaction)(cell2); builder.storeRef(cell2); builder.storeCoins(inMsg.ihr_fee); - let cell3 = beginCell(); + const cell3 = beginCell(); cell3.storeSlice(inMsg.proof_created.beginParse(true)); builder.storeRef(cell3); }) - } if ((inMsg.kind == 'InMsg_msg_import_imm')) { return ((builder: Builder) => { builder.storeUint(0b011, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(inMsg.in_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(inMsg.transaction)(cell2); builder.storeRef(cell2); builder.storeCoins(inMsg.fwd_fee); }) - } if ((inMsg.kind == 'InMsg_msg_import_fin')) { return ((builder: Builder) => { builder.storeUint(0b100, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(inMsg.in_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(inMsg.transaction)(cell2); builder.storeRef(cell2); builder.storeCoins(inMsg.fwd_fee); }) - } if ((inMsg.kind == 'InMsg_msg_import_tr')) { return ((builder: Builder) => { builder.storeUint(0b101, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(inMsg.in_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeMsgEnvelope(inMsg.out_msg)(cell2); builder.storeRef(cell2); builder.storeCoins(inMsg.transit_fee); }) - } if ((inMsg.kind == 'InMsg_msg_discard_fin')) { return ((builder: Builder) => { builder.storeUint(0b110, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(inMsg.in_msg)(cell1); builder.storeRef(cell1); builder.storeUint(inMsg.transaction_id, 64); builder.storeCoins(inMsg.fwd_fee); }) - } if ((inMsg.kind == 'InMsg_msg_discard_tr')) { return ((builder: Builder) => { builder.storeUint(0b111, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(inMsg.in_msg)(cell1); builder.storeRef(cell1); builder.storeUint(inMsg.transaction_id, 64); builder.storeCoins(inMsg.fwd_fee); - let cell2 = beginCell(); + const cell2 = beginCell(); cell2.storeSlice(inMsg.proof_delivered.beginParse(true)); builder.storeRef(cell2); }) - } throw new Error('Expected one of "InMsg_msg_import_ext", "InMsg_msg_import_ihr", "InMsg_msg_import_imm", "InMsg_msg_import_fin", "InMsg_msg_import_tr", "InMsg_msg_discard_fin", "InMsg_msg_discard_tr" in loading "InMsg", but data does not satisfy any constructor'); } @@ -5714,14 +5537,13 @@ import_fees$_ fees_collected:Grams */ export function loadImportFees(slice: Slice): ImportFees { - let fees_collected: bigint = slice.loadCoins(); - let value_imported: CurrencyCollection = loadCurrencyCollection(slice); + const fees_collected: bigint = slice.loadCoins(); + const value_imported: CurrencyCollection = loadCurrencyCollection(slice); return { kind: 'ImportFees', fees_collected: fees_collected, value_imported: value_imported, } - } export function storeImportFees(importFees: ImportFees): (builder: Builder) => void { @@ -5729,27 +5551,24 @@ export function storeImportFees(importFees: ImportFees): (builder: Builder) => v builder.storeCoins(importFees.fees_collected); storeCurrencyCollection(importFees.value_imported)(builder); }) - } // _ (HashmapAugE 256 InMsg ImportFees) = InMsgDescr; export function loadInMsgDescr(slice: Slice): InMsgDescr { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadImportFees(slice), value: loadInMsg(slice), } - }), }, slice); return { kind: 'InMsgDescr', anon0: anon0, } - } export function storeInMsgDescr(inMsgDescr: InMsgDescr): (builder: Builder) => void { @@ -5760,19 +5579,16 @@ export function storeInMsgDescr(inMsgDescr: InMsgDescr): (builder: Builder) => v return ((builder: Builder) => { storeImportFees(arg)(builder); }) - })(arg.extra)(builder); ((arg: InMsg) => { return ((builder: Builder) => { storeInMsg(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -5819,80 +5635,74 @@ msg_export_deq_imm$100 out_msg:^MsgEnvelope export function loadOutMsg(slice: Slice): OutMsg { if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b000))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let msg: Message = loadMessage(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + const msg: Message = loadMessage(slice1, ((slice: Slice) => { return slice.asCell() - })); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); return { kind: 'OutMsg_msg_export_ext', msg: msg, transaction: transaction, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b010))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); - let slice3 = slice.loadRef().beginParse(true); - let reimport: InMsg = loadInMsg(slice3); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); + const slice3 = slice.loadRef().beginParse(true); + const reimport: InMsg = loadInMsg(slice3); return { kind: 'OutMsg_msg_export_imm', out_msg: out_msg, transaction: transaction, reimport: reimport, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b001))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let transaction: Transaction = loadTransaction(slice2); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const transaction: Transaction = loadTransaction(slice2); return { kind: 'OutMsg_msg_export_new', out_msg: out_msg, transaction: transaction, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b011))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let imported: InMsg = loadInMsg(slice2); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const imported: InMsg = loadInMsg(slice2); return { kind: 'OutMsg_msg_export_tr', out_msg: out_msg, imported: imported, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1100))) { slice.loadUint(4); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let import_block_lt: bigint = slice.loadUintBig(63); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const import_block_lt: bigint = slice.loadUintBig(63); return { kind: 'OutMsg_msg_export_deq', out_msg: out_msg, import_block_lt: import_block_lt, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1101))) { slice.loadUint(4); - let msg_env_hash: Buffer = slice.loadBuffer((256 / 8)); - let next_workchain: number = slice.loadInt(32); - let next_addr_pfx: bigint = slice.loadUintBig(64); - let import_block_lt: bigint = slice.loadUintBig(64); + const msg_env_hash: Buffer = slice.loadBuffer((256 / 8)); + const next_workchain: number = slice.loadInt(32); + const next_addr_pfx: bigint = slice.loadUintBig(64); + const import_block_lt: bigint = slice.loadUintBig(64); return { kind: 'OutMsg_msg_export_deq_short', msg_env_hash: msg_env_hash, @@ -5900,33 +5710,30 @@ export function loadOutMsg(slice: Slice): OutMsg { next_addr_pfx: next_addr_pfx, import_block_lt: import_block_lt, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b111))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let imported: InMsg = loadInMsg(slice2); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const imported: InMsg = loadInMsg(slice2); return { kind: 'OutMsg_msg_export_tr_req', out_msg: out_msg, imported: imported, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b100))) { slice.loadUint(3); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); - let slice2 = slice.loadRef().beginParse(true); - let reimport: InMsg = loadInMsg(slice2); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const slice2 = slice.loadRef().beginParse(true); + const reimport: InMsg = loadInMsg(slice2); return { kind: 'OutMsg_msg_export_deq_imm', out_msg: out_msg, reimport: reimport, } - } throw new Error('Expected one of "OutMsg_msg_export_ext", "OutMsg_msg_export_imm", "OutMsg_msg_export_new", "OutMsg_msg_export_tr", "OutMsg_msg_export_deq", "OutMsg_msg_export_deq_short", "OutMsg_msg_export_tr_req", "OutMsg_msg_export_deq_imm" in loading "OutMsg", but data does not satisfy any constructor'); } @@ -5935,68 +5742,62 @@ export function storeOutMsg(outMsg: OutMsg): (builder: Builder) => void { if ((outMsg.kind == 'OutMsg_msg_export_ext')) { return ((builder: Builder) => { builder.storeUint(0b000, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessage(outMsg.msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(outMsg.transaction)(cell2); builder.storeRef(cell2); }) - } if ((outMsg.kind == 'OutMsg_msg_export_imm')) { return ((builder: Builder) => { builder.storeUint(0b010, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(outMsg.out_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(outMsg.transaction)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeInMsg(outMsg.reimport)(cell3); builder.storeRef(cell3); }) - } if ((outMsg.kind == 'OutMsg_msg_export_new')) { return ((builder: Builder) => { builder.storeUint(0b001, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(outMsg.out_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeTransaction(outMsg.transaction)(cell2); builder.storeRef(cell2); }) - } if ((outMsg.kind == 'OutMsg_msg_export_tr')) { return ((builder: Builder) => { builder.storeUint(0b011, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(outMsg.out_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeInMsg(outMsg.imported)(cell2); builder.storeRef(cell2); }) - } if ((outMsg.kind == 'OutMsg_msg_export_deq')) { return ((builder: Builder) => { builder.storeUint(0b1100, 4); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(outMsg.out_msg)(cell1); builder.storeRef(cell1); builder.storeUint(outMsg.import_block_lt, 63); }) - } if ((outMsg.kind == 'OutMsg_msg_export_deq_short')) { return ((builder: Builder) => { @@ -6006,31 +5807,28 @@ export function storeOutMsg(outMsg: OutMsg): (builder: Builder) => void { builder.storeUint(outMsg.next_addr_pfx, 64); builder.storeUint(outMsg.import_block_lt, 64); }) - } if ((outMsg.kind == 'OutMsg_msg_export_tr_req')) { return ((builder: Builder) => { builder.storeUint(0b111, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(outMsg.out_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeInMsg(outMsg.imported)(cell2); builder.storeRef(cell2); }) - } if ((outMsg.kind == 'OutMsg_msg_export_deq_imm')) { return ((builder: Builder) => { builder.storeUint(0b100, 3); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(outMsg.out_msg)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeInMsg(outMsg.reimport)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "OutMsg_msg_export_ext", "OutMsg_msg_export_imm", "OutMsg_msg_export_new", "OutMsg_msg_export_tr", "OutMsg_msg_export_deq", "OutMsg_msg_export_deq_short", "OutMsg_msg_export_tr_req", "OutMsg_msg_export_deq_imm" in loading "OutMsg", but data does not satisfy any constructor'); } @@ -6038,45 +5836,41 @@ export function storeOutMsg(outMsg: OutMsg): (builder: Builder) => void { // _ enqueued_lt:uint64 out_msg:^MsgEnvelope = EnqueuedMsg; export function loadEnqueuedMsg(slice: Slice): EnqueuedMsg { - let enqueued_lt: bigint = slice.loadUintBig(64); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MsgEnvelope = loadMsgEnvelope(slice1); + const enqueued_lt: bigint = slice.loadUintBig(64); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MsgEnvelope = loadMsgEnvelope(slice1); return { kind: 'EnqueuedMsg', enqueued_lt: enqueued_lt, out_msg: out_msg, } - } export function storeEnqueuedMsg(enqueuedMsg: EnqueuedMsg): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(enqueuedMsg.enqueued_lt, 64); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMsgEnvelope(enqueuedMsg.out_msg)(cell1); builder.storeRef(cell1); }) - } // _ (HashmapAugE 256 OutMsg CurrencyCollection) = OutMsgDescr; export function loadOutMsgDescr(slice: Slice): OutMsgDescr { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadCurrencyCollection(slice), value: loadOutMsg(slice), } - }), }, slice); return { kind: 'OutMsgDescr', anon0: anon0, } - } export function storeOutMsgDescr(outMsgDescr: OutMsgDescr): (builder: Builder) => void { @@ -6087,39 +5881,34 @@ export function storeOutMsgDescr(outMsgDescr: OutMsgDescr): (builder: Builder) = return ((builder: Builder) => { storeCurrencyCollection(arg)(builder); }) - })(arg.extra)(builder); ((arg: OutMsg) => { return ((builder: Builder) => { storeOutMsg(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // _ (HashmapAugE 352 EnqueuedMsg uint64) = OutMsgQueue; export function loadOutMsgQueue(slice: Slice): OutMsgQueue { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(352), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(352), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: slice.loadUintBig(64), value: loadEnqueuedMsg(slice), } - }), }, slice); return { kind: 'OutMsgQueue', anon0: anon0, } - } export function storeOutMsgQueue(outMsgQueue: OutMsgQueue): (builder: Builder) => void { @@ -6130,32 +5919,28 @@ export function storeOutMsgQueue(outMsgQueue: OutMsgQueue): (builder: Builder) = return ((builder: Builder) => { builder.storeUint(arg, 64); }) - })(arg.extra)(builder); ((arg: EnqueuedMsg) => { return ((builder: Builder) => { storeEnqueuedMsg(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // processed_upto$_ last_msg_lt:uint64 last_msg_hash:bits256 = ProcessedUpto; export function loadProcessedUpto(slice: Slice): ProcessedUpto { - let last_msg_lt: bigint = slice.loadUintBig(64); - let last_msg_hash: Buffer = slice.loadBuffer((256 / 8)); + const last_msg_lt: bigint = slice.loadUintBig(64); + const last_msg_hash: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ProcessedUpto', last_msg_lt: last_msg_lt, last_msg_hash: last_msg_hash, } - } export function storeProcessedUpto(processedUpto: ProcessedUpto): (builder: Builder) => void { @@ -6163,13 +5948,12 @@ export function storeProcessedUpto(processedUpto: ProcessedUpto): (builder: Buil builder.storeUint(processedUpto.last_msg_lt, 64); builder.storeBuffer(processedUpto.last_msg_hash, (256 / 8)); }) - } // _ (HashmapE 96 ProcessedUpto) = ProcessedInfo; export function loadProcessedInfo(slice: Slice): ProcessedInfo { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(96), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(96), { serialize: () => { throw new Error('Not implemented') }, parse: loadProcessedUpto, }, slice); @@ -6177,7 +5961,6 @@ export function loadProcessedInfo(slice: Slice): ProcessedInfo { kind: 'ProcessedInfo', anon0: anon0, } - } export function storeProcessedInfo(processedInfo: ProcessedInfo): (builder: Builder) => void { @@ -6189,31 +5972,28 @@ export function storeProcessedInfo(processedInfo: ProcessedInfo): (builder: Buil parse: () => { throw new Error('Not implemented') }, }); }) - } // ihr_pending$_ import_lt:uint64 = IhrPendingSince; export function loadIhrPendingSince(slice: Slice): IhrPendingSince { - let import_lt: bigint = slice.loadUintBig(64); + const import_lt: bigint = slice.loadUintBig(64); return { kind: 'IhrPendingSince', import_lt: import_lt, } - } export function storeIhrPendingSince(ihrPendingSince: IhrPendingSince): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(ihrPendingSince.import_lt, 64); }) - } // _ (HashmapE 320 IhrPendingSince) = IhrPendingInfo; export function loadIhrPendingInfo(slice: Slice): IhrPendingInfo { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(320), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(320), { serialize: () => { throw new Error('Not implemented') }, parse: loadIhrPendingSince, }, slice); @@ -6221,7 +6001,6 @@ export function loadIhrPendingInfo(slice: Slice): IhrPendingInfo { kind: 'IhrPendingInfo', anon0: anon0, } - } export function storeIhrPendingInfo(ihrPendingInfo: IhrPendingInfo): (builder: Builder) => void { @@ -6233,7 +6012,6 @@ export function storeIhrPendingInfo(ihrPendingInfo: IhrPendingInfo): (builder: B parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -6242,16 +6020,15 @@ _ out_queue:OutMsgQueue proc_info:ProcessedInfo */ export function loadOutMsgQueueInfo(slice: Slice): OutMsgQueueInfo { - let out_queue: OutMsgQueue = loadOutMsgQueue(slice); - let proc_info: ProcessedInfo = loadProcessedInfo(slice); - let ihr_pending: IhrPendingInfo = loadIhrPendingInfo(slice); + const out_queue: OutMsgQueue = loadOutMsgQueue(slice); + const proc_info: ProcessedInfo = loadProcessedInfo(slice); + const ihr_pending: IhrPendingInfo = loadIhrPendingInfo(slice); return { kind: 'OutMsgQueueInfo', out_queue: out_queue, proc_info: proc_info, ihr_pending: ihr_pending, } - } export function storeOutMsgQueueInfo(outMsgQueueInfo: OutMsgQueueInfo): (builder: Builder) => void { @@ -6260,7 +6037,6 @@ export function storeOutMsgQueueInfo(outMsgQueueInfo: OutMsgQueueInfo): (builder storeProcessedInfo(outMsgQueueInfo.proc_info)(builder); storeIhrPendingInfo(outMsgQueueInfo.ihr_pending)(builder); }) - } /* @@ -6269,16 +6045,15 @@ storage_used$_ cells:(VarUInteger 7) bits:(VarUInteger 7) */ export function loadStorageUsed(slice: Slice): StorageUsed { - let _cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); - let bits: bigint = slice.loadVarUintBig(bitLen((7 - 1))); - let public_cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const _cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const bits: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const public_cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); return { kind: 'StorageUsed', _cells: _cells, bits: bits, public_cells: public_cells, } - } export function storeStorageUsed(storageUsed: StorageUsed): (builder: Builder) => void { @@ -6287,7 +6062,6 @@ export function storeStorageUsed(storageUsed: StorageUsed): (builder: Builder) = builder.storeVarUint(storageUsed.bits, bitLen((7 - 1))); builder.storeVarUint(storageUsed.public_cells, bitLen((7 - 1))); }) - } /* @@ -6296,14 +6070,13 @@ storage_used_short$_ cells:(VarUInteger 7) */ export function loadStorageUsedShort(slice: Slice): StorageUsedShort { - let _cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); - let bits: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const _cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const bits: bigint = slice.loadVarUintBig(bitLen((7 - 1))); return { kind: 'StorageUsedShort', _cells: _cells, bits: bits, } - } export function storeStorageUsedShort(storageUsedShort: StorageUsedShort): (builder: Builder) => void { @@ -6311,7 +6084,6 @@ export function storeStorageUsedShort(storageUsedShort: StorageUsedShort): (buil builder.storeVarUint(storageUsedShort._cells, bitLen((7 - 1))); builder.storeVarUint(storageUsedShort.bits, bitLen((7 - 1))); }) - } /* @@ -6320,11 +6092,10 @@ storage_info$_ used:StorageUsed last_paid:uint32 */ export function loadStorageInfo(slice: Slice): StorageInfo { - let used: StorageUsed = loadStorageUsed(slice); - let last_paid: number = slice.loadUint(32); - let due_payment: Maybe = loadMaybe(slice, ((slice: Slice) => { + const used: StorageUsed = loadStorageUsed(slice); + const last_paid: number = slice.loadUint(32); + const due_payment: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadCoins() - })); return { kind: 'StorageInfo', @@ -6332,7 +6103,6 @@ export function loadStorageInfo(slice: Slice): StorageInfo { last_paid: last_paid, due_payment: due_payment, } - } export function storeStorageInfo(storageInfo: StorageInfo): (builder: Builder) => void { @@ -6343,10 +6113,8 @@ export function storeStorageInfo(storageInfo: StorageInfo): (builder: Builder) = return ((builder: Builder) => { builder.storeCoins(arg); }) - }))(builder); }) - } // account_none$0 = Account; @@ -6362,20 +6130,18 @@ export function loadAccount(slice: Slice): Account { return { kind: 'Account_account_none', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let addr: Address = slice.loadAddress(); - let storage_stat: StorageInfo = loadStorageInfo(slice); - let storage: AccountStorage = loadAccountStorage(slice); + const addr: Address = slice.loadAddress(); + const storage_stat: StorageInfo = loadStorageInfo(slice); + const storage: AccountStorage = loadAccountStorage(slice); return { kind: 'Account_account', addr: addr, storage_stat: storage_stat, storage: storage, } - } throw new Error('Expected one of "Account_account_none", "Account_account" in loading "Account", but data does not satisfy any constructor'); } @@ -6385,7 +6151,6 @@ export function storeAccount(account: Account): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((account.kind == 'Account_account')) { return ((builder: Builder) => { @@ -6394,7 +6159,6 @@ export function storeAccount(account: Account): (builder: Builder) => void { storeStorageInfo(account.storage_stat)(builder); storeAccountStorage(account.storage)(builder); }) - } throw new Error('Expected one of "Account_account_none", "Account_account" in loading "Account", but data does not satisfy any constructor'); } @@ -6406,16 +6170,15 @@ account_storage$_ last_trans_lt:uint64 */ export function loadAccountStorage(slice: Slice): AccountStorage { - let last_trans_lt: bigint = slice.loadUintBig(64); - let balance: CurrencyCollection = loadCurrencyCollection(slice); - let state: AccountState = loadAccountState(slice); + const last_trans_lt: bigint = slice.loadUintBig(64); + const balance: CurrencyCollection = loadCurrencyCollection(slice); + const state: AccountState = loadAccountState(slice); return { kind: 'AccountStorage', last_trans_lt: last_trans_lt, balance: balance, state: state, } - } export function storeAccountStorage(accountStorage: AccountStorage): (builder: Builder) => void { @@ -6424,7 +6187,6 @@ export function storeAccountStorage(accountStorage: AccountStorage): (builder: B storeCurrencyCollection(accountStorage.balance)(builder); storeAccountState(accountStorage.state)(builder); }) - } // account_uninit$00 = AccountState; @@ -6439,25 +6201,22 @@ export function loadAccountState(slice: Slice): AccountState { return { kind: 'AccountState_account_uninit', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let _: StateInit = loadStateInit(slice); + const _: StateInit = loadStateInit(slice); return { kind: 'AccountState_account_active', _: _, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); - let state_hash: Buffer = slice.loadBuffer((256 / 8)); + const state_hash: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'AccountState_account_frozen', state_hash: state_hash, } - } throw new Error('Expected one of "AccountState_account_uninit", "AccountState_account_active", "AccountState_account_frozen" in loading "AccountState", but data does not satisfy any constructor'); } @@ -6467,21 +6226,18 @@ export function storeAccountState(accountState: AccountState): (builder: Builder return ((builder: Builder) => { builder.storeUint(0b00, 2); }) - } if ((accountState.kind == 'AccountState_account_active')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeStateInit(accountState._)(builder); }) - } if ((accountState.kind == 'AccountState_account_frozen')) { return ((builder: Builder) => { builder.storeUint(0b01, 2); builder.storeBuffer(accountState.state_hash, (256 / 8)); }) - } throw new Error('Expected one of "AccountState_account_uninit", "AccountState_account_active", "AccountState_account_frozen" in loading "AccountState", but data does not satisfy any constructor'); } @@ -6500,28 +6256,24 @@ export function loadAccountStatus(slice: Slice): AccountStatus { return { kind: 'AccountStatus_acc_state_uninit', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); return { kind: 'AccountStatus_acc_state_frozen', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); return { kind: 'AccountStatus_acc_state_active', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); return { kind: 'AccountStatus_acc_state_nonexist', } - } throw new Error('Expected one of "AccountStatus_acc_state_uninit", "AccountStatus_acc_state_frozen", "AccountStatus_acc_state_active", "AccountStatus_acc_state_nonexist" in loading "AccountStatus", but data does not satisfy any constructor'); } @@ -6531,25 +6283,21 @@ export function storeAccountStatus(accountStatus: AccountStatus): (builder: Buil return ((builder: Builder) => { builder.storeUint(0b00, 2); }) - } if ((accountStatus.kind == 'AccountStatus_acc_state_frozen')) { return ((builder: Builder) => { builder.storeUint(0b01, 2); }) - } if ((accountStatus.kind == 'AccountStatus_acc_state_active')) { return ((builder: Builder) => { builder.storeUint(0b10, 2); }) - } if ((accountStatus.kind == 'AccountStatus_acc_state_nonexist')) { return ((builder: Builder) => { builder.storeUint(0b11, 2); }) - } throw new Error('Expected one of "AccountStatus_acc_state_uninit", "AccountStatus_acc_state_frozen", "AccountStatus_acc_state_active", "AccountStatus_acc_state_nonexist" in loading "AccountStatus", but data does not satisfy any constructor'); } @@ -6560,41 +6308,38 @@ account_descr$_ account:^Account last_trans_hash:bits256 */ export function loadShardAccount(slice: Slice): ShardAccount { - let slice1 = slice.loadRef().beginParse(true); - let account: Account = loadAccount(slice1); - let last_trans_hash: Buffer = slice.loadBuffer((256 / 8)); - let last_trans_lt: bigint = slice.loadUintBig(64); + const slice1 = slice.loadRef().beginParse(true); + const account: Account = loadAccount(slice1); + const last_trans_hash: Buffer = slice.loadBuffer((256 / 8)); + const last_trans_lt: bigint = slice.loadUintBig(64); return { kind: 'ShardAccount', account: account, last_trans_hash: last_trans_hash, last_trans_lt: last_trans_lt, } - } export function storeShardAccount(shardAccount: ShardAccount): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeAccount(shardAccount.account)(cell1); builder.storeRef(cell1); builder.storeBuffer(shardAccount.last_trans_hash, (256 / 8)); builder.storeUint(shardAccount.last_trans_lt, 64); }) - } // depth_balance$_ split_depth:(#<= 30) balance:CurrencyCollection = DepthBalanceInfo; export function loadDepthBalanceInfo(slice: Slice): DepthBalanceInfo { - let split_depth: number = slice.loadUint(bitLen(30)); - let balance: CurrencyCollection = loadCurrencyCollection(slice); + const split_depth: number = slice.loadUint(bitLen(30)); + const balance: CurrencyCollection = loadCurrencyCollection(slice); return { kind: 'DepthBalanceInfo', split_depth: split_depth, balance: balance, } - } export function storeDepthBalanceInfo(depthBalanceInfo: DepthBalanceInfo): (builder: Builder) => void { @@ -6602,27 +6347,24 @@ export function storeDepthBalanceInfo(depthBalanceInfo: DepthBalanceInfo): (buil builder.storeUint(depthBalanceInfo.split_depth, bitLen(30)); storeCurrencyCollection(depthBalanceInfo.balance)(builder); }) - } // _ (HashmapAugE 256 ShardAccount DepthBalanceInfo) = ShardAccounts; export function loadShardAccounts(slice: Slice): ShardAccounts { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadDepthBalanceInfo(slice), value: loadShardAccount(slice), } - }), }, slice); return { kind: 'ShardAccounts', anon0: anon0, } - } export function storeShardAccounts(shardAccounts: ShardAccounts): (builder: Builder) => void { @@ -6633,19 +6375,16 @@ export function storeShardAccounts(shardAccounts: ShardAccounts): (builder: Buil return ((builder: Builder) => { storeDepthBalanceInfo(arg)(builder); }) - })(arg.extra)(builder); ((arg: ShardAccount) => { return ((builder: Builder) => { storeShardAccount(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -6661,39 +6400,35 @@ transaction$0111 account_addr:bits256 lt:uint64 export function loadTransaction(slice: Slice): Transaction { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0111))) { slice.loadUint(4); - let account_addr: Buffer = slice.loadBuffer((256 / 8)); - let lt: bigint = slice.loadUintBig(64); - let prev_trans_hash: Buffer = slice.loadBuffer((256 / 8)); - let prev_trans_lt: bigint = slice.loadUintBig(64); - let now: number = slice.loadUint(32); - let outmsg_cnt: number = slice.loadUint(15); - let orig_status: AccountStatus = loadAccountStatus(slice); - let end_status: AccountStatus = loadAccountStatus(slice); - let slice1 = slice.loadRef().beginParse(true); - let in_msg: Maybe> = loadMaybe>(slice1, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const account_addr: Buffer = slice.loadBuffer((256 / 8)); + const lt: bigint = slice.loadUintBig(64); + const prev_trans_hash: Buffer = slice.loadBuffer((256 / 8)); + const prev_trans_lt: bigint = slice.loadUintBig(64); + const now: number = slice.loadUint(32); + const outmsg_cnt: number = slice.loadUint(15); + const orig_status: AccountStatus = loadAccountStatus(slice); + const end_status: AccountStatus = loadAccountStatus(slice); + const slice1 = slice.loadRef().beginParse(true); + const in_msg: Maybe> = loadMaybe>(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadMessage(slice1, ((slice: Slice) => { return slice.asCell() - })) - })); - let out_msgs: Dictionary> = Dictionary.load(Dictionary.Keys.Uint(15), { + const out_msgs: Dictionary> = Dictionary.load(Dictionary.Keys.Uint(15), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadMessage(slice1, ((slice: Slice) => { return slice.asCell() - })) - }), }, slice1); - let total_fees: CurrencyCollection = loadCurrencyCollection(slice); - let slice2 = slice.loadRef().beginParse(true); - let state_update: HASH_UPDATE = loadHASH_UPDATE(slice2, loadAccount); - let slice3 = slice.loadRef().beginParse(true); - let description: TransactionDescr = loadTransactionDescr(slice3); + const total_fees: CurrencyCollection = loadCurrencyCollection(slice); + const slice2 = slice.loadRef().beginParse(true); + const state_update: HASH_UPDATE = loadHASH_UPDATE(slice2, loadAccount); + const slice3 = slice.loadRef().beginParse(true); + const description: TransactionDescr = loadTransactionDescr(slice3); return { kind: 'Transaction', account_addr: account_addr, @@ -6710,7 +6445,6 @@ export function loadTransaction(slice: Slice): Transaction { state_update: state_update, description: description, } - } throw new Error('Expected one of "Transaction" in loading "Transaction", but data does not satisfy any constructor'); } @@ -6726,50 +6460,43 @@ export function storeTransaction(transaction: Transaction): (builder: Builder) = builder.storeUint(transaction.outmsg_cnt, 15); storeAccountStatus(transaction.orig_status)(builder); storeAccountStatus(transaction.end_status)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMaybe>(transaction.in_msg, ((arg: Message) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessage(arg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); - }) - }))(cell1); cell1.storeDict(transaction.out_msgs, Dictionary.Keys.Uint(15), { serialize: ((arg: Message, builder: Builder) => { ((arg: Message) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessage(arg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); builder.storeRef(cell1); storeCurrencyCollection(transaction.total_fees)(builder); - let cell2 = beginCell(); + const cell2 = beginCell(); storeHASH_UPDATE(transaction.state_update, storeAccount)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeTransactionDescr(transaction.description)(cell3); builder.storeRef(cell3); }) - } /* @@ -6780,12 +6507,12 @@ export function storeTransaction(transaction: Transaction): (builder: Builder) = export function loadMERKLE_UPDATE(slice: Slice, loadX: (slice: Slice) => X): MERKLE_UPDATE { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x02))) { slice.loadUint(8); - let old_hash: Buffer = slice.loadBuffer((256 / 8)); - let new_hash: Buffer = slice.loadBuffer((256 / 8)); - let slice1 = slice.loadRef().beginParse(true); - let old: X = loadX(slice1); - let slice2 = slice.loadRef().beginParse(true); - let new0: X = loadX(slice2); + const old_hash: Buffer = slice.loadBuffer((256 / 8)); + const new_hash: Buffer = slice.loadBuffer((256 / 8)); + const slice1 = slice.loadRef().beginParse(true); + const old: X = loadX(slice1); + const slice2 = slice.loadRef().beginParse(true); + const new0: X = loadX(slice2); return { kind: 'MERKLE_UPDATE', old_hash: old_hash, @@ -6793,7 +6520,6 @@ export function loadMERKLE_UPDATE(slice: Slice, loadX: (slice: Slice) => X): old: old, new0: new0, } - } throw new Error('Expected one of "MERKLE_UPDATE" in loading "MERKLE_UPDATE", but data does not satisfy any constructor'); } @@ -6803,14 +6529,13 @@ export function storeMERKLE_UPDATE(mERKLE_UPDATE: MERKLE_UPDATE, storeX: ( builder.storeUint(0x02, 8); builder.storeBuffer(mERKLE_UPDATE.old_hash, (256 / 8)); builder.storeBuffer(mERKLE_UPDATE.new_hash, (256 / 8)); - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(mERKLE_UPDATE.old)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeX(mERKLE_UPDATE.new0)(cell2); builder.storeRef(cell2); }) - } /* @@ -6821,14 +6546,13 @@ update_hashes#72 {X:Type} old_hash:bits256 new_hash:bits256 export function loadHASH_UPDATE(slice: Slice, loadX: (slice: Slice) => X): HASH_UPDATE { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x72))) { slice.loadUint(8); - let old_hash: Buffer = slice.loadBuffer((256 / 8)); - let new_hash: Buffer = slice.loadBuffer((256 / 8)); + const old_hash: Buffer = slice.loadBuffer((256 / 8)); + const new_hash: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'HASH_UPDATE', old_hash: old_hash, new_hash: new_hash, } - } throw new Error('Expected one of "HASH_UPDATE" in loading "HASH_UPDATE", but data does not satisfy any constructor'); } @@ -6839,7 +6563,6 @@ export function storeHASH_UPDATE(hASH_UPDATE: HASH_UPDATE, storeX: (x: X) builder.storeBuffer(hASH_UPDATE.old_hash, (256 / 8)); builder.storeBuffer(hASH_UPDATE.new_hash, (256 / 8)); }) - } // !merkle_proof#03 {X:Type} virtual_hash:bits256 depth:uint16 virtual_root:^X = MERKLE_PROOF X; @@ -6847,17 +6570,16 @@ export function storeHASH_UPDATE(hASH_UPDATE: HASH_UPDATE, storeX: (x: X) export function loadMERKLE_PROOF(slice: Slice, loadX: (slice: Slice) => X): MERKLE_PROOF { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x03))) { slice.loadUint(8); - let virtual_hash: Buffer = slice.loadBuffer((256 / 8)); - let depth: number = slice.loadUint(16); - let slice1 = slice.loadRef().beginParse(true); - let virtual_root: X = loadX(slice1); + const virtual_hash: Buffer = slice.loadBuffer((256 / 8)); + const depth: number = slice.loadUint(16); + const slice1 = slice.loadRef().beginParse(true); + const virtual_root: X = loadX(slice1); return { kind: 'MERKLE_PROOF', virtual_hash: virtual_hash, depth: depth, virtual_root: virtual_root, } - } throw new Error('Expected one of "MERKLE_PROOF" in loading "MERKLE_PROOF", but data does not satisfy any constructor'); } @@ -6867,11 +6589,10 @@ export function storeMERKLE_PROOF(mERKLE_PROOF: MERKLE_PROOF, storeX: (x: builder.storeUint(0x03, 8); builder.storeBuffer(mERKLE_PROOF.virtual_hash, (256 / 8)); builder.storeUint(mERKLE_PROOF.depth, 16); - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(mERKLE_PROOF.virtual_root)(cell1); builder.storeRef(cell1); }) - } /* @@ -6884,21 +6605,19 @@ acc_trans#5 account_addr:bits256 export function loadAccountBlock(slice: Slice): AccountBlock { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x5))) { slice.loadUint(4); - let account_addr: Buffer = slice.loadBuffer((256 / 8)); - let transactions: HashmapAug = loadHashmapAug(slice, 64, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const account_addr: Buffer = slice.loadBuffer((256 / 8)); + const transactions: HashmapAug = loadHashmapAug(slice, 64, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadTransaction(slice1) - }), loadCurrencyCollection); - let slice1 = slice.loadRef().beginParse(true); - let state_update: HASH_UPDATE = loadHASH_UPDATE(slice1, loadAccount); + const slice1 = slice.loadRef().beginParse(true); + const state_update: HASH_UPDATE = loadHASH_UPDATE(slice1, loadAccount); return { kind: 'AccountBlock', account_addr: account_addr, transactions: transactions, state_update: state_update, } - } throw new Error('Expected one of "AccountBlock" in loading "AccountBlock", but data does not satisfy any constructor'); } @@ -6909,38 +6628,33 @@ export function storeAccountBlock(accountBlock: AccountBlock): (builder: Builder builder.storeBuffer(accountBlock.account_addr, (256 / 8)); storeHashmapAug(accountBlock.transactions, ((arg: Transaction) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTransaction(arg)(cell1); builder.storeRef(cell1); - }) - }), storeCurrencyCollection)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeHASH_UPDATE(accountBlock.state_update, storeAccount)(cell1); builder.storeRef(cell1); }) - } // _ (HashmapAugE 256 AccountBlock CurrencyCollection) = ShardAccountBlocks; export function loadShardAccountBlocks(slice: Slice): ShardAccountBlocks { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadCurrencyCollection(slice), value: loadAccountBlock(slice), } - }), }, slice); return { kind: 'ShardAccountBlocks', anon0: anon0, } - } export function storeShardAccountBlocks(shardAccountBlocks: ShardAccountBlocks): (builder: Builder) => void { @@ -6951,19 +6665,16 @@ export function storeShardAccountBlocks(shardAccountBlocks: ShardAccountBlocks): return ((builder: Builder) => { storeCurrencyCollection(arg)(builder); }) - })(arg.extra)(builder); ((arg: AccountBlock) => { return ((builder: Builder) => { storeAccountBlock(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -6974,19 +6685,17 @@ tr_phase_storage$_ storage_fees_collected:Grams */ export function loadTrStoragePhase(slice: Slice): TrStoragePhase { - let storage_fees_collected: bigint = slice.loadCoins(); - let storage_fees_due: Maybe = loadMaybe(slice, ((slice: Slice) => { + const storage_fees_collected: bigint = slice.loadCoins(); + const storage_fees_due: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadCoins() - })); - let status_change: AccStatusChange = loadAccStatusChange(slice); + const status_change: AccStatusChange = loadAccStatusChange(slice); return { kind: 'TrStoragePhase', storage_fees_collected: storage_fees_collected, storage_fees_due: storage_fees_due, status_change: status_change, } - } export function storeTrStoragePhase(trStoragePhase: TrStoragePhase): (builder: Builder) => void { @@ -6996,11 +6705,9 @@ export function storeTrStoragePhase(trStoragePhase: TrStoragePhase): (builder: B return ((builder: Builder) => { builder.storeCoins(arg); }) - }))(builder); storeAccStatusChange(trStoragePhase.status_change)(builder); }) - } // acst_unchanged$0 = AccStatusChange; @@ -7015,21 +6722,18 @@ export function loadAccStatusChange(slice: Slice): AccStatusChange { return { kind: 'AccStatusChange_acst_unchanged', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); return { kind: 'AccStatusChange_acst_frozen', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); return { kind: 'AccStatusChange_acst_deleted', } - } throw new Error('Expected one of "AccStatusChange_acst_unchanged", "AccStatusChange_acst_frozen", "AccStatusChange_acst_deleted" in loading "AccStatusChange", but data does not satisfy any constructor'); } @@ -7039,19 +6743,16 @@ export function storeAccStatusChange(accStatusChange: AccStatusChange): (builder return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((accStatusChange.kind == 'AccStatusChange_acst_frozen')) { return ((builder: Builder) => { builder.storeUint(0b10, 2); }) - } if ((accStatusChange.kind == 'AccStatusChange_acst_deleted')) { return ((builder: Builder) => { builder.storeUint(0b11, 2); }) - } throw new Error('Expected one of "AccStatusChange_acst_unchanged", "AccStatusChange_acst_frozen", "AccStatusChange_acst_deleted" in loading "AccStatusChange", but data does not satisfy any constructor'); } @@ -7062,17 +6763,15 @@ tr_phase_credit$_ due_fees_collected:(Maybe Grams) */ export function loadTrCreditPhase(slice: Slice): TrCreditPhase { - let due_fees_collected: Maybe = loadMaybe(slice, ((slice: Slice) => { + const due_fees_collected: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadCoins() - })); - let credit: CurrencyCollection = loadCurrencyCollection(slice); + const credit: CurrencyCollection = loadCurrencyCollection(slice); return { kind: 'TrCreditPhase', due_fees_collected: due_fees_collected, credit: credit, } - } export function storeTrCreditPhase(trCreditPhase: TrCreditPhase): (builder: Builder) => void { @@ -7081,11 +6780,9 @@ export function storeTrCreditPhase(trCreditPhase: TrCreditPhase): (builder: Buil return ((builder: Builder) => { builder.storeCoins(arg); }) - }))(builder); storeCurrencyCollection(trCreditPhase.credit)(builder); }) - } /* @@ -7107,35 +6804,32 @@ tr_phase_compute_vm$1 success:Bool msg_state_used:Bool export function loadTrComputePhase(slice: Slice): TrComputePhase { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let reason: ComputeSkipReason = loadComputeSkipReason(slice); + const reason: ComputeSkipReason = loadComputeSkipReason(slice); return { kind: 'TrComputePhase_tr_phase_compute_skipped', reason: reason, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let success: Bool = loadBool(slice); - let msg_state_used: Bool = loadBool(slice); - let account_activated: Bool = loadBool(slice); - let gas_fees: bigint = slice.loadCoins(); - let slice1 = slice.loadRef().beginParse(true); - let gas_used: bigint = slice1.loadVarUintBig(bitLen((7 - 1))); - let gas_limit: bigint = slice1.loadVarUintBig(bitLen((7 - 1))); - let gas_credit: Maybe = loadMaybe(slice1, ((slice: Slice) => { + const success: Bool = loadBool(slice); + const msg_state_used: Bool = loadBool(slice); + const account_activated: Bool = loadBool(slice); + const gas_fees: bigint = slice.loadCoins(); + const slice1 = slice.loadRef().beginParse(true); + const gas_used: bigint = slice1.loadVarUintBig(bitLen((7 - 1))); + const gas_limit: bigint = slice1.loadVarUintBig(bitLen((7 - 1))); + const gas_credit: Maybe = loadMaybe(slice1, ((slice: Slice) => { return slice1.loadVarUintBig(bitLen((3 - 1))) - })); - let mode: number = slice1.loadInt(8); - let exit_code: number = slice1.loadInt(32); - let exit_arg: Maybe = loadMaybe(slice1, ((slice: Slice) => { + const mode: number = slice1.loadInt(8); + const exit_code: number = slice1.loadInt(32); + const exit_arg: Maybe = loadMaybe(slice1, ((slice: Slice) => { return slice1.loadInt(32) - })); - let vm_steps: number = slice1.loadUint(32); - let vm_init_state_hash: Buffer = slice1.loadBuffer((256 / 8)); - let vm_final_state_hash: Buffer = slice1.loadBuffer((256 / 8)); + const vm_steps: number = slice1.loadUint(32); + const vm_init_state_hash: Buffer = slice1.loadBuffer((256 / 8)); + const vm_final_state_hash: Buffer = slice1.loadBuffer((256 / 8)); return { kind: 'TrComputePhase_tr_phase_compute_vm', success: success, @@ -7152,7 +6846,6 @@ export function loadTrComputePhase(slice: Slice): TrComputePhase { vm_init_state_hash: vm_init_state_hash, vm_final_state_hash: vm_final_state_hash, } - } throw new Error('Expected one of "TrComputePhase_tr_phase_compute_skipped", "TrComputePhase_tr_phase_compute_vm" in loading "TrComputePhase", but data does not satisfy any constructor'); } @@ -7163,7 +6856,6 @@ export function storeTrComputePhase(trComputePhase: TrComputePhase): (builder: B builder.storeUint(0b0, 1); storeComputeSkipReason(trComputePhase.reason)(builder); }) - } if ((trComputePhase.kind == 'TrComputePhase_tr_phase_compute_vm')) { return ((builder: Builder) => { @@ -7172,14 +6864,13 @@ export function storeTrComputePhase(trComputePhase: TrComputePhase): (builder: B storeBool(trComputePhase.msg_state_used)(builder); storeBool(trComputePhase.account_activated)(builder); builder.storeCoins(trComputePhase.gas_fees); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeVarUint(trComputePhase.gas_used, bitLen((7 - 1))); cell1.storeVarUint(trComputePhase.gas_limit, bitLen((7 - 1))); storeMaybe(trComputePhase.gas_credit, ((arg: bigint) => { return ((builder: Builder) => { builder.storeVarUint(arg, bitLen((3 - 1))); }) - }))(cell1); cell1.storeInt(trComputePhase.mode, 8); cell1.storeInt(trComputePhase.exit_code, 32); @@ -7187,14 +6878,12 @@ export function storeTrComputePhase(trComputePhase: TrComputePhase): (builder: B return ((builder: Builder) => { builder.storeInt(arg, 32); }) - }))(cell1); cell1.storeUint(trComputePhase.vm_steps, 32); cell1.storeBuffer(trComputePhase.vm_init_state_hash, (256 / 8)); cell1.storeBuffer(trComputePhase.vm_final_state_hash, (256 / 8)); builder.storeRef(cell1); }) - } throw new Error('Expected one of "TrComputePhase_tr_phase_compute_skipped", "TrComputePhase_tr_phase_compute_vm" in loading "TrComputePhase", but data does not satisfy any constructor'); } @@ -7213,28 +6902,24 @@ export function loadComputeSkipReason(slice: Slice): ComputeSkipReason { return { kind: 'ComputeSkipReason_cskip_no_state', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); return { kind: 'ComputeSkipReason_cskip_bad_state', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); return { kind: 'ComputeSkipReason_cskip_no_gas', } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b110))) { slice.loadUint(3); return { kind: 'ComputeSkipReason_cskip_suspended', } - } throw new Error('Expected one of "ComputeSkipReason_cskip_no_state", "ComputeSkipReason_cskip_bad_state", "ComputeSkipReason_cskip_no_gas", "ComputeSkipReason_cskip_suspended" in loading "ComputeSkipReason", but data does not satisfy any constructor'); } @@ -7244,25 +6929,21 @@ export function storeComputeSkipReason(computeSkipReason: ComputeSkipReason): (b return ((builder: Builder) => { builder.storeUint(0b00, 2); }) - } if ((computeSkipReason.kind == 'ComputeSkipReason_cskip_bad_state')) { return ((builder: Builder) => { builder.storeUint(0b01, 2); }) - } if ((computeSkipReason.kind == 'ComputeSkipReason_cskip_no_gas')) { return ((builder: Builder) => { builder.storeUint(0b10, 2); }) - } if ((computeSkipReason.kind == 'ComputeSkipReason_cskip_suspended')) { return ((builder: Builder) => { builder.storeUint(0b110, 3); }) - } throw new Error('Expected one of "ComputeSkipReason_cskip_no_state", "ComputeSkipReason_cskip_bad_state", "ComputeSkipReason_cskip_no_gas", "ComputeSkipReason_cskip_suspended" in loading "ComputeSkipReason", but data does not satisfy any constructor'); } @@ -7278,29 +6959,26 @@ tr_phase_action$_ success:Bool valid:Bool no_funds:Bool */ export function loadTrActionPhase(slice: Slice): TrActionPhase { - let success: Bool = loadBool(slice); - let valid: Bool = loadBool(slice); - let no_funds: Bool = loadBool(slice); - let status_change: AccStatusChange = loadAccStatusChange(slice); - let total_fwd_fees: Maybe = loadMaybe(slice, ((slice: Slice) => { + const success: Bool = loadBool(slice); + const valid: Bool = loadBool(slice); + const no_funds: Bool = loadBool(slice); + const status_change: AccStatusChange = loadAccStatusChange(slice); + const total_fwd_fees: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadCoins() - })); - let total_action_fees: Maybe = loadMaybe(slice, ((slice: Slice) => { + const total_action_fees: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadCoins() - })); - let result_code: number = slice.loadInt(32); - let result_arg: Maybe = loadMaybe(slice, ((slice: Slice) => { + const result_code: number = slice.loadInt(32); + const result_arg: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadInt(32) - })); - let tot_actions: number = slice.loadUint(16); - let spec_actions: number = slice.loadUint(16); - let skipped_actions: number = slice.loadUint(16); - let msgs_created: number = slice.loadUint(16); - let action_list_hash: Buffer = slice.loadBuffer((256 / 8)); - let tot_msg_size: StorageUsedShort = loadStorageUsedShort(slice); + const tot_actions: number = slice.loadUint(16); + const spec_actions: number = slice.loadUint(16); + const skipped_actions: number = slice.loadUint(16); + const msgs_created: number = slice.loadUint(16); + const action_list_hash: Buffer = slice.loadBuffer((256 / 8)); + const tot_msg_size: StorageUsedShort = loadStorageUsedShort(slice); return { kind: 'TrActionPhase', success: success, @@ -7318,7 +6996,6 @@ export function loadTrActionPhase(slice: Slice): TrActionPhase { action_list_hash: action_list_hash, tot_msg_size: tot_msg_size, } - } export function storeTrActionPhase(trActionPhase: TrActionPhase): (builder: Builder) => void { @@ -7331,20 +7008,17 @@ export function storeTrActionPhase(trActionPhase: TrActionPhase): (builder: Buil return ((builder: Builder) => { builder.storeCoins(arg); }) - }))(builder); storeMaybe(trActionPhase.total_action_fees, ((arg: bigint) => { return ((builder: Builder) => { builder.storeCoins(arg); }) - }))(builder); builder.storeInt(trActionPhase.result_code, 32); storeMaybe(trActionPhase.result_arg, ((arg: number) => { return ((builder: Builder) => { builder.storeInt(arg, 32); }) - }))(builder); builder.storeUint(trActionPhase.tot_actions, 16); builder.storeUint(trActionPhase.spec_actions, 16); @@ -7353,7 +7027,6 @@ export function storeTrActionPhase(trActionPhase: TrActionPhase): (builder: Buil builder.storeBuffer(trActionPhase.action_list_hash, (256 / 8)); storeStorageUsedShort(trActionPhase.tot_msg_size)(builder); }) - } // tr_phase_bounce_negfunds$00 = TrBouncePhase; @@ -7374,31 +7047,28 @@ export function loadTrBouncePhase(slice: Slice): TrBouncePhase { return { kind: 'TrBouncePhase_tr_phase_bounce_negfunds', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); - let msg_size: StorageUsedShort = loadStorageUsedShort(slice); - let req_fwd_fees: bigint = slice.loadCoins(); + const msg_size: StorageUsedShort = loadStorageUsedShort(slice); + const req_fwd_fees: bigint = slice.loadCoins(); return { kind: 'TrBouncePhase_tr_phase_bounce_nofunds', msg_size: msg_size, req_fwd_fees: req_fwd_fees, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let msg_size: StorageUsedShort = loadStorageUsedShort(slice); - let msg_fees: bigint = slice.loadCoins(); - let fwd_fees: bigint = slice.loadCoins(); + const msg_size: StorageUsedShort = loadStorageUsedShort(slice); + const msg_fees: bigint = slice.loadCoins(); + const fwd_fees: bigint = slice.loadCoins(); return { kind: 'TrBouncePhase_tr_phase_bounce_ok', msg_size: msg_size, msg_fees: msg_fees, fwd_fees: fwd_fees, } - } throw new Error('Expected one of "TrBouncePhase_tr_phase_bounce_negfunds", "TrBouncePhase_tr_phase_bounce_nofunds", "TrBouncePhase_tr_phase_bounce_ok" in loading "TrBouncePhase", but data does not satisfy any constructor'); } @@ -7408,7 +7078,6 @@ export function storeTrBouncePhase(trBouncePhase: TrBouncePhase): (builder: Buil return ((builder: Builder) => { builder.storeUint(0b00, 2); }) - } if ((trBouncePhase.kind == 'TrBouncePhase_tr_phase_bounce_nofunds')) { return ((builder: Builder) => { @@ -7416,7 +7085,6 @@ export function storeTrBouncePhase(trBouncePhase: TrBouncePhase): (builder: Buil storeStorageUsedShort(trBouncePhase.msg_size)(builder); builder.storeCoins(trBouncePhase.req_fwd_fees); }) - } if ((trBouncePhase.kind == 'TrBouncePhase_tr_phase_bounce_ok')) { return ((builder: Builder) => { @@ -7425,7 +7093,6 @@ export function storeTrBouncePhase(trBouncePhase: TrBouncePhase): (builder: Buil builder.storeCoins(trBouncePhase.msg_fees); builder.storeCoins(trBouncePhase.fwd_fees); }) - } throw new Error('Expected one of "TrBouncePhase_tr_phase_bounce_negfunds", "TrBouncePhase_tr_phase_bounce_nofunds", "TrBouncePhase_tr_phase_bounce_ok" in loading "TrBouncePhase", but data does not satisfy any constructor'); } @@ -7484,18 +7151,17 @@ trans_merge_install$0111 split_info:SplitMergeInfo export function loadTransactionDescr(slice: Slice): TransactionDescr { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0000))) { slice.loadUint(4); - let credit_first: Bool = loadBool(slice); - let storage_ph: Maybe = loadMaybe(slice, loadTrStoragePhase); - let credit_ph: Maybe = loadMaybe(slice, loadTrCreditPhase); - let compute_ph: TrComputePhase = loadTrComputePhase(slice); - let action: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const credit_first: Bool = loadBool(slice); + const storage_ph: Maybe = loadMaybe(slice, loadTrStoragePhase); + const credit_ph: Maybe = loadMaybe(slice, loadTrCreditPhase); + const compute_ph: TrComputePhase = loadTrComputePhase(slice); + const action: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadTrActionPhase(slice1) - })); - let aborted: Bool = loadBool(slice); - let bounce: Maybe = loadMaybe(slice, loadTrBouncePhase); - let destroyed: Bool = loadBool(slice); + const aborted: Bool = loadBool(slice); + const bounce: Maybe = loadMaybe(slice, loadTrBouncePhase); + const destroyed: Bool = loadBool(slice); return { kind: 'TransactionDescr_trans_ord', credit_first: credit_first, @@ -7507,29 +7173,26 @@ export function loadTransactionDescr(slice: Slice): TransactionDescr { bounce: bounce, destroyed: destroyed, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0001))) { slice.loadUint(4); - let storage_ph: TrStoragePhase = loadTrStoragePhase(slice); + const storage_ph: TrStoragePhase = loadTrStoragePhase(slice); return { kind: 'TransactionDescr_trans_storage', storage_ph: storage_ph, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b001))) { slice.loadUint(3); - let is_tock: Bool = loadBool(slice); - let storage_ph: TrStoragePhase = loadTrStoragePhase(slice); - let compute_ph: TrComputePhase = loadTrComputePhase(slice); - let action: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const is_tock: Bool = loadBool(slice); + const storage_ph: TrStoragePhase = loadTrStoragePhase(slice); + const compute_ph: TrComputePhase = loadTrComputePhase(slice); + const action: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadTrActionPhase(slice1) - })); - let aborted: Bool = loadBool(slice); - let destroyed: Bool = loadBool(slice); + const aborted: Bool = loadBool(slice); + const destroyed: Bool = loadBool(slice); return { kind: 'TransactionDescr_trans_tick_tock', is_tock: is_tock, @@ -7539,20 +7202,18 @@ export function loadTransactionDescr(slice: Slice): TransactionDescr { aborted: aborted, destroyed: destroyed, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0100))) { slice.loadUint(4); - let split_info: SplitMergeInfo = loadSplitMergeInfo(slice); - let storage_ph: Maybe = loadMaybe(slice, loadTrStoragePhase); - let compute_ph: TrComputePhase = loadTrComputePhase(slice); - let action: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const split_info: SplitMergeInfo = loadSplitMergeInfo(slice); + const storage_ph: Maybe = loadMaybe(slice, loadTrStoragePhase); + const compute_ph: TrComputePhase = loadTrComputePhase(slice); + const action: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadTrActionPhase(slice1) - })); - let aborted: Bool = loadBool(slice); - let destroyed: Bool = loadBool(slice); + const aborted: Bool = loadBool(slice); + const destroyed: Bool = loadBool(slice); return { kind: 'TransactionDescr_trans_split_prepare', split_info: split_info, @@ -7562,50 +7223,46 @@ export function loadTransactionDescr(slice: Slice): TransactionDescr { aborted: aborted, destroyed: destroyed, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0101))) { slice.loadUint(4); - let split_info: SplitMergeInfo = loadSplitMergeInfo(slice); - let slice1 = slice.loadRef().beginParse(true); - let prepare_transaction: Transaction = loadTransaction(slice1); - let installed: Bool = loadBool(slice); + const split_info: SplitMergeInfo = loadSplitMergeInfo(slice); + const slice1 = slice.loadRef().beginParse(true); + const prepare_transaction: Transaction = loadTransaction(slice1); + const installed: Bool = loadBool(slice); return { kind: 'TransactionDescr_trans_split_install', split_info: split_info, prepare_transaction: prepare_transaction, installed: installed, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0110))) { slice.loadUint(4); - let split_info: SplitMergeInfo = loadSplitMergeInfo(slice); - let storage_ph: TrStoragePhase = loadTrStoragePhase(slice); - let aborted: Bool = loadBool(slice); + const split_info: SplitMergeInfo = loadSplitMergeInfo(slice); + const storage_ph: TrStoragePhase = loadTrStoragePhase(slice); + const aborted: Bool = loadBool(slice); return { kind: 'TransactionDescr_trans_merge_prepare', split_info: split_info, storage_ph: storage_ph, aborted: aborted, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b0111))) { slice.loadUint(4); - let split_info: SplitMergeInfo = loadSplitMergeInfo(slice); - let slice1 = slice.loadRef().beginParse(true); - let prepare_transaction: Transaction = loadTransaction(slice1); - let storage_ph: Maybe = loadMaybe(slice, loadTrStoragePhase); - let credit_ph: Maybe = loadMaybe(slice, loadTrCreditPhase); - let compute_ph: TrComputePhase = loadTrComputePhase(slice); - let action: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const split_info: SplitMergeInfo = loadSplitMergeInfo(slice); + const slice1 = slice.loadRef().beginParse(true); + const prepare_transaction: Transaction = loadTransaction(slice1); + const storage_ph: Maybe = loadMaybe(slice, loadTrStoragePhase); + const credit_ph: Maybe = loadMaybe(slice, loadTrCreditPhase); + const compute_ph: TrComputePhase = loadTrComputePhase(slice); + const action: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadTrActionPhase(slice1) - })); - let aborted: Bool = loadBool(slice); - let destroyed: Bool = loadBool(slice); + const aborted: Bool = loadBool(slice); + const destroyed: Bool = loadBool(slice); return { kind: 'TransactionDescr_trans_merge_install', split_info: split_info, @@ -7617,7 +7274,6 @@ export function loadTransactionDescr(slice: Slice): TransactionDescr { aborted: aborted, destroyed: destroyed, } - } throw new Error('Expected one of "TransactionDescr_trans_ord", "TransactionDescr_trans_storage", "TransactionDescr_trans_tick_tock", "TransactionDescr_trans_split_prepare", "TransactionDescr_trans_split_install", "TransactionDescr_trans_merge_prepare", "TransactionDescr_trans_merge_install" in loading "TransactionDescr", but data does not satisfy any constructor'); } @@ -7632,25 +7288,21 @@ export function storeTransactionDescr(transactionDescr: TransactionDescr): (buil storeTrComputePhase(transactionDescr.compute_ph)(builder); storeMaybe(transactionDescr.action, ((arg: TrActionPhase) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTrActionPhase(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); storeBool(transactionDescr.aborted)(builder); storeMaybe(transactionDescr.bounce, storeTrBouncePhase)(builder); storeBool(transactionDescr.destroyed)(builder); }) - } if ((transactionDescr.kind == 'TransactionDescr_trans_storage')) { return ((builder: Builder) => { builder.storeUint(0b0001, 4); storeTrStoragePhase(transactionDescr.storage_ph)(builder); }) - } if ((transactionDescr.kind == 'TransactionDescr_trans_tick_tock')) { return ((builder: Builder) => { @@ -7660,17 +7312,14 @@ export function storeTransactionDescr(transactionDescr: TransactionDescr): (buil storeTrComputePhase(transactionDescr.compute_ph)(builder); storeMaybe(transactionDescr.action, ((arg: TrActionPhase) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTrActionPhase(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); storeBool(transactionDescr.aborted)(builder); storeBool(transactionDescr.destroyed)(builder); }) - } if ((transactionDescr.kind == 'TransactionDescr_trans_split_prepare')) { return ((builder: Builder) => { @@ -7680,28 +7329,24 @@ export function storeTransactionDescr(transactionDescr: TransactionDescr): (buil storeTrComputePhase(transactionDescr.compute_ph)(builder); storeMaybe(transactionDescr.action, ((arg: TrActionPhase) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTrActionPhase(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); storeBool(transactionDescr.aborted)(builder); storeBool(transactionDescr.destroyed)(builder); }) - } if ((transactionDescr.kind == 'TransactionDescr_trans_split_install')) { return ((builder: Builder) => { builder.storeUint(0b0101, 4); storeSplitMergeInfo(transactionDescr.split_info)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeTransaction(transactionDescr.prepare_transaction)(cell1); builder.storeRef(cell1); storeBool(transactionDescr.installed)(builder); }) - } if ((transactionDescr.kind == 'TransactionDescr_trans_merge_prepare')) { return ((builder: Builder) => { @@ -7710,13 +7355,12 @@ export function storeTransactionDescr(transactionDescr: TransactionDescr): (buil storeTrStoragePhase(transactionDescr.storage_ph)(builder); storeBool(transactionDescr.aborted)(builder); }) - } if ((transactionDescr.kind == 'TransactionDescr_trans_merge_install')) { return ((builder: Builder) => { builder.storeUint(0b0111, 4); storeSplitMergeInfo(transactionDescr.split_info)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeTransaction(transactionDescr.prepare_transaction)(cell1); builder.storeRef(cell1); storeMaybe(transactionDescr.storage_ph, storeTrStoragePhase)(builder); @@ -7724,17 +7368,14 @@ export function storeTransactionDescr(transactionDescr: TransactionDescr): (buil storeTrComputePhase(transactionDescr.compute_ph)(builder); storeMaybe(transactionDescr.action, ((arg: TrActionPhase) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTrActionPhase(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); storeBool(transactionDescr.aborted)(builder); storeBool(transactionDescr.destroyed)(builder); }) - } throw new Error('Expected one of "TransactionDescr_trans_ord", "TransactionDescr_trans_storage", "TransactionDescr_trans_tick_tock", "TransactionDescr_trans_split_prepare", "TransactionDescr_trans_split_install", "TransactionDescr_trans_merge_prepare", "TransactionDescr_trans_merge_install" in loading "TransactionDescr", but data does not satisfy any constructor'); } @@ -7746,10 +7387,10 @@ split_merge_info$_ cur_shard_pfx_len:(## 6) */ export function loadSplitMergeInfo(slice: Slice): SplitMergeInfo { - let cur_shard_pfx_len: number = slice.loadUint(6); - let acc_split_depth: number = slice.loadUint(6); - let this_addr: Buffer = slice.loadBuffer((256 / 8)); - let sibling_addr: Buffer = slice.loadBuffer((256 / 8)); + const cur_shard_pfx_len: number = slice.loadUint(6); + const acc_split_depth: number = slice.loadUint(6); + const this_addr: Buffer = slice.loadBuffer((256 / 8)); + const sibling_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'SplitMergeInfo', cur_shard_pfx_len: cur_shard_pfx_len, @@ -7757,7 +7398,6 @@ export function loadSplitMergeInfo(slice: Slice): SplitMergeInfo { this_addr: this_addr, sibling_addr: sibling_addr, } - } export function storeSplitMergeInfo(splitMergeInfo: SplitMergeInfo): (builder: Builder) => void { @@ -7767,7 +7407,6 @@ export function storeSplitMergeInfo(splitMergeInfo: SplitMergeInfo): (builder: B builder.storeBuffer(splitMergeInfo.this_addr, (256 / 8)); builder.storeBuffer(splitMergeInfo.sibling_addr, (256 / 8)); }) - } /* @@ -7780,17 +7419,16 @@ smc_info#076ef1ea actions:uint16 msgs_sent:uint16 export function loadSmartContractInfo(slice: Slice): SmartContractInfo { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x076ef1ea))) { slice.loadUint(32); - let actions: number = slice.loadUint(16); - let msgs_sent: number = slice.loadUint(16); - let unixtime: number = slice.loadUint(32); - let block_lt: bigint = slice.loadUintBig(64); - let trans_lt: bigint = slice.loadUintBig(64); - let rand_seed: Buffer = slice.loadBuffer((256 / 8)); - let balance_remaining: CurrencyCollection = loadCurrencyCollection(slice); - let myself: Address = slice.loadAddress(); - let global_config: Maybe = loadMaybe(slice, ((slice: Slice) => { + const actions: number = slice.loadUint(16); + const msgs_sent: number = slice.loadUint(16); + const unixtime: number = slice.loadUint(32); + const block_lt: bigint = slice.loadUintBig(64); + const trans_lt: bigint = slice.loadUintBig(64); + const rand_seed: Buffer = slice.loadBuffer((256 / 8)); + const balance_remaining: CurrencyCollection = loadCurrencyCollection(slice); + const myself: Address = slice.loadAddress(); + const global_config: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'SmartContractInfo', @@ -7804,7 +7442,6 @@ export function loadSmartContractInfo(slice: Slice): SmartContractInfo { myself: myself, global_config: global_config, } - } throw new Error('Expected one of "SmartContractInfo" in loading "SmartContractInfo", but data does not satisfy any constructor'); } @@ -7824,10 +7461,8 @@ export function storeSmartContractInfo(smartContractInfo: SmartContractInfo): (b return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(builder); }) - } // out_list_empty$_ = OutList 0; @@ -7842,19 +7477,17 @@ export function loadOutList(slice: Slice, arg0: number): OutList { return { kind: 'OutList_out_list_empty', } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let prev: OutList = loadOutList(slice1, (arg0 - 1)); - let action: OutAction = loadOutAction(slice); + const slice1 = slice.loadRef().beginParse(true); + const prev: OutList = loadOutList(slice1, (arg0 - 1)); + const action: OutAction = loadOutAction(slice); return { kind: 'OutList_out_list', n: (arg0 - 1), prev: prev, action: action, } - } throw new Error('Expected one of "OutList_out_list_empty", "OutList_out_list" in loading "OutList", but data does not satisfy any constructor'); } @@ -7863,16 +7496,14 @@ export function storeOutList(outList: OutList): (builder: Builder) => void { if ((outList.kind == 'OutList_out_list_empty')) { return ((builder: Builder) => { }) - } if ((outList.kind == 'OutList_out_list')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeOutList(outList.prev)(cell1); builder.storeRef(cell1); storeOutAction(outList.action)(builder); }) - } throw new Error('Expected one of "OutList_out_list_empty", "OutList_out_list" in loading "OutList", but data does not satisfy any constructor'); } @@ -7897,50 +7528,45 @@ action_change_library#26fa1dd4 mode:(## 7) export function loadOutAction(slice: Slice): OutAction { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x0ec3c86d))) { slice.loadUint(32); - let mode: number = slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let out_msg: MessageRelaxed = loadMessageRelaxed(slice1, ((slice: Slice) => { + const mode: number = slice.loadUint(8); + const slice1 = slice.loadRef().beginParse(true); + const out_msg: MessageRelaxed = loadMessageRelaxed(slice1, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'OutAction_action_send_msg', mode: mode, out_msg: out_msg, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xad4de08e))) { slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let new_code: Cell = slice1.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const new_code: Cell = slice1.asCell(); return { kind: 'OutAction_action_set_code', new_code: new_code, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x36e6b809))) { slice.loadUint(32); - let mode: number = slice.loadUint(8); - let currency: CurrencyCollection = loadCurrencyCollection(slice); + const mode: number = slice.loadUint(8); + const currency: CurrencyCollection = loadCurrencyCollection(slice); return { kind: 'OutAction_action_reserve_currency', mode: mode, currency: currency, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x26fa1dd4))) { slice.loadUint(32); - let mode: number = slice.loadUint(7); - let libref: LibRef = loadLibRef(slice); + const mode: number = slice.loadUint(7); + const libref: LibRef = loadLibRef(slice); return { kind: 'OutAction_action_change_library', mode: mode, libref: libref, } - } throw new Error('Expected one of "OutAction_action_send_msg", "OutAction_action_set_code", "OutAction_action_reserve_currency", "OutAction_action_change_library" in loading "OutAction", but data does not satisfy any constructor'); } @@ -7950,25 +7576,22 @@ export function storeOutAction(outAction: OutAction): (builder: Builder) => void return ((builder: Builder) => { builder.storeUint(0x0ec3c86d, 32); builder.storeUint(outAction.mode, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMessageRelaxed(outAction.out_msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); }) - } if ((outAction.kind == 'OutAction_action_set_code')) { return ((builder: Builder) => { builder.storeUint(0xad4de08e, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(outAction.new_code.beginParse(true)); builder.storeRef(cell1); }) - } if ((outAction.kind == 'OutAction_action_reserve_currency')) { return ((builder: Builder) => { @@ -7976,7 +7599,6 @@ export function storeOutAction(outAction: OutAction): (builder: Builder) => void builder.storeUint(outAction.mode, 8); storeCurrencyCollection(outAction.currency)(builder); }) - } if ((outAction.kind == 'OutAction_action_change_library')) { return ((builder: Builder) => { @@ -7984,7 +7606,6 @@ export function storeOutAction(outAction: OutAction): (builder: Builder) => void builder.storeUint(outAction.mode, 7); storeLibRef(outAction.libref)(builder); }) - } throw new Error('Expected one of "OutAction_action_send_msg", "OutAction_action_set_code", "OutAction_action_reserve_currency", "OutAction_action_change_library" in loading "OutAction", but data does not satisfy any constructor'); } @@ -7996,22 +7617,20 @@ export function storeOutAction(outAction: OutAction): (builder: Builder) => void export function loadLibRef(slice: Slice): LibRef { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let lib_hash: Buffer = slice.loadBuffer((256 / 8)); + const lib_hash: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'LibRef_libref_hash', lib_hash: lib_hash, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let slice1 = slice.loadRef().beginParse(true); - let library: Cell = slice1.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const library: Cell = slice1.asCell(); return { kind: 'LibRef_libref_ref', library: library, } - } throw new Error('Expected one of "LibRef_libref_hash", "LibRef_libref_ref" in loading "LibRef", but data does not satisfy any constructor'); } @@ -8022,16 +7641,14 @@ export function storeLibRef(libRef: LibRef): (builder: Builder) => void { builder.storeUint(0b0, 1); builder.storeBuffer(libRef.lib_hash, (256 / 8)); }) - } if ((libRef.kind == 'LibRef_libref_ref')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(libRef.library.beginParse(true)); builder.storeRef(cell1); }) - } throw new Error('Expected one of "LibRef_libref_hash", "LibRef_libref_ref" in loading "LibRef", but data does not satisfy any constructor'); } @@ -8039,25 +7656,23 @@ export function storeLibRef(libRef: LibRef): (builder: Builder) => void { // out_list_node$_ prev:^Cell action:OutAction = OutListNode; export function loadOutListNode(slice: Slice): OutListNode { - let slice1 = slice.loadRef().beginParse(true); - let prev: Cell = slice1.asCell(); - let action: OutAction = loadOutAction(slice); + const slice1 = slice.loadRef().beginParse(true); + const prev: Cell = slice1.asCell(); + const action: OutAction = loadOutAction(slice); return { kind: 'OutListNode', prev: prev, action: action, } - } export function storeOutListNode(outListNode: OutListNode): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(outListNode.prev.beginParse(true)); builder.storeRef(cell1); storeOutAction(outListNode.action)(builder); }) - } /* @@ -8068,16 +7683,15 @@ shard_ident$00 shard_pfx_bits:(#<= 60) export function loadShardIdent(slice: Slice): ShardIdent { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b00))) { slice.loadUint(2); - let shard_pfx_bits: number = slice.loadUint(bitLen(60)); - let workchain_id: number = slice.loadInt(32); - let shard_prefix: bigint = slice.loadUintBig(64); + const shard_pfx_bits: number = slice.loadUint(bitLen(60)); + const workchain_id: number = slice.loadInt(32); + const shard_prefix: bigint = slice.loadUintBig(64); return { kind: 'ShardIdent', shard_pfx_bits: shard_pfx_bits, workchain_id: workchain_id, shard_prefix: shard_prefix, } - } throw new Error('Expected one of "ShardIdent" in loading "ShardIdent", but data does not satisfy any constructor'); } @@ -8089,7 +7703,6 @@ export function storeShardIdent(shardIdent: ShardIdent): (builder: Builder) => v builder.storeInt(shardIdent.workchain_id, 32); builder.storeUint(shardIdent.shard_prefix, 64); }) - } /* @@ -8099,10 +7712,10 @@ ext_blk_ref$_ end_lt:uint64 */ export function loadExtBlkRef(slice: Slice): ExtBlkRef { - let end_lt: bigint = slice.loadUintBig(64); - let seq_no: number = slice.loadUint(32); - let root_hash: Buffer = slice.loadBuffer((256 / 8)); - let file_hash: Buffer = slice.loadBuffer((256 / 8)); + const end_lt: bigint = slice.loadUintBig(64); + const seq_no: number = slice.loadUint(32); + const root_hash: Buffer = slice.loadBuffer((256 / 8)); + const file_hash: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ExtBlkRef', end_lt: end_lt, @@ -8110,7 +7723,6 @@ export function loadExtBlkRef(slice: Slice): ExtBlkRef { root_hash: root_hash, file_hash: file_hash, } - } export function storeExtBlkRef(extBlkRef: ExtBlkRef): (builder: Builder) => void { @@ -8120,7 +7732,6 @@ export function storeExtBlkRef(extBlkRef: ExtBlkRef): (builder: Builder) => void builder.storeBuffer(extBlkRef.root_hash, (256 / 8)); builder.storeBuffer(extBlkRef.file_hash, (256 / 8)); }) - } /* @@ -8129,10 +7740,10 @@ block_id_ext$_ shard_id:ShardIdent seq_no:uint32 */ export function loadBlockIdExt(slice: Slice): BlockIdExt { - let shard_id: ShardIdent = loadShardIdent(slice); - let seq_no: number = slice.loadUint(32); - let root_hash: Buffer = slice.loadBuffer((256 / 8)); - let file_hash: Buffer = slice.loadBuffer((256 / 8)); + const shard_id: ShardIdent = loadShardIdent(slice); + const seq_no: number = slice.loadUint(32); + const root_hash: Buffer = slice.loadBuffer((256 / 8)); + const file_hash: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'BlockIdExt', shard_id: shard_id, @@ -8140,7 +7751,6 @@ export function loadBlockIdExt(slice: Slice): BlockIdExt { root_hash: root_hash, file_hash: file_hash, } - } export function storeBlockIdExt(blockIdExt: BlockIdExt): (builder: Builder) => void { @@ -8150,25 +7760,22 @@ export function storeBlockIdExt(blockIdExt: BlockIdExt): (builder: Builder) => v builder.storeBuffer(blockIdExt.root_hash, (256 / 8)); builder.storeBuffer(blockIdExt.file_hash, (256 / 8)); }) - } // master_info$_ master:ExtBlkRef = BlkMasterInfo; export function loadBlkMasterInfo(slice: Slice): BlkMasterInfo { - let master: ExtBlkRef = loadExtBlkRef(slice); + const master: ExtBlkRef = loadExtBlkRef(slice); return { kind: 'BlkMasterInfo', master: master, } - } export function storeBlkMasterInfo(blkMasterInfo: BlkMasterInfo): (builder: Builder) => void { return ((builder: Builder) => { storeExtBlkRef(blkMasterInfo.master)(builder); }) - } /* @@ -8192,32 +7799,31 @@ shard_state#9023afe2 global_id:int32 export function loadShardStateUnsplit(slice: Slice): ShardStateUnsplit { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x9023afe2))) { slice.loadUint(32); - let global_id: number = slice.loadInt(32); - let shard_id: ShardIdent = loadShardIdent(slice); - let seq_no: number = slice.loadUint(32); - let vert_seq_no: number = slice.loadUint(32); - let gen_utime: number = slice.loadUint(32); - let gen_lt: bigint = slice.loadUintBig(64); - let min_ref_mc_seqno: number = slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let out_msg_queue_info: OutMsgQueueInfo = loadOutMsgQueueInfo(slice1); - let before_split: number = slice.loadUint(1); - let slice2 = slice.loadRef().beginParse(true); - let accounts: ShardAccounts = loadShardAccounts(slice2); - let slice3 = slice.loadRef().beginParse(true); - let overload_history: bigint = slice3.loadUintBig(64); - let underload_history: bigint = slice3.loadUintBig(64); - let total_balance: CurrencyCollection = loadCurrencyCollection(slice3); - let total_validator_fees: CurrencyCollection = loadCurrencyCollection(slice3); - let libraries: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const global_id: number = slice.loadInt(32); + const shard_id: ShardIdent = loadShardIdent(slice); + const seq_no: number = slice.loadUint(32); + const vert_seq_no: number = slice.loadUint(32); + const gen_utime: number = slice.loadUint(32); + const gen_lt: bigint = slice.loadUintBig(64); + const min_ref_mc_seqno: number = slice.loadUint(32); + const slice1 = slice.loadRef().beginParse(true); + const out_msg_queue_info: OutMsgQueueInfo = loadOutMsgQueueInfo(slice1); + const before_split: number = slice.loadUint(1); + const slice2 = slice.loadRef().beginParse(true); + const accounts: ShardAccounts = loadShardAccounts(slice2); + const slice3 = slice.loadRef().beginParse(true); + const overload_history: bigint = slice3.loadUintBig(64); + const underload_history: bigint = slice3.loadUintBig(64); + const total_balance: CurrencyCollection = loadCurrencyCollection(slice3); + const total_validator_fees: CurrencyCollection = loadCurrencyCollection(slice3); + const libraries: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: loadLibDescr, }, slice3); - let master_ref: Maybe = loadMaybe(slice3, loadBlkMasterInfo); - let custom: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const master_ref: Maybe = loadMaybe(slice3, loadBlkMasterInfo); + const custom: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadMcStateExtra(slice1) - })); return { kind: 'ShardStateUnsplit', @@ -8239,7 +7845,6 @@ export function loadShardStateUnsplit(slice: Slice): ShardStateUnsplit { master_ref: master_ref, custom: custom, } - } throw new Error('Expected one of "ShardStateUnsplit" in loading "ShardStateUnsplit", but data does not satisfy any constructor'); } @@ -8254,14 +7859,14 @@ export function storeShardStateUnsplit(shardStateUnsplit: ShardStateUnsplit): (b builder.storeUint(shardStateUnsplit.gen_utime, 32); builder.storeUint(shardStateUnsplit.gen_lt, 64); builder.storeUint(shardStateUnsplit.min_ref_mc_seqno, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeOutMsgQueueInfo(shardStateUnsplit.out_msg_queue_info)(cell1); builder.storeRef(cell1); builder.storeUint(shardStateUnsplit.before_split, 1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeShardAccounts(shardStateUnsplit.accounts)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); cell3.storeUint(shardStateUnsplit.overload_history, 64); cell3.storeUint(shardStateUnsplit.underload_history, 64); storeCurrencyCollection(shardStateUnsplit.total_balance)(cell3); @@ -8276,15 +7881,12 @@ export function storeShardStateUnsplit(shardStateUnsplit: ShardStateUnsplit): (b builder.storeRef(cell3); storeMaybe(shardStateUnsplit.custom, ((arg: McStateExtra) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeMcStateExtra(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } // split_state#5f327da5 left:^ShardStateUnsplit right:^ShardStateUnsplit = ShardState; @@ -8294,24 +7896,22 @@ export function storeShardStateUnsplit(shardStateUnsplit: ShardStateUnsplit): (b export function loadShardState(slice: Slice): ShardState { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x5f327da5))) { slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let left: ShardStateUnsplit = loadShardStateUnsplit(slice1); - let slice2 = slice.loadRef().beginParse(true); - let right: ShardStateUnsplit = loadShardStateUnsplit(slice2); + const slice1 = slice.loadRef().beginParse(true); + const left: ShardStateUnsplit = loadShardStateUnsplit(slice1); + const slice2 = slice.loadRef().beginParse(true); + const right: ShardStateUnsplit = loadShardStateUnsplit(slice2); return { kind: 'ShardState_split_state', left: left, right: right, } - } if (true) { - let anon0: ShardStateUnsplit = loadShardStateUnsplit(slice); + const anon0: ShardStateUnsplit = loadShardStateUnsplit(slice); return { kind: 'ShardState__', anon0: anon0, } - } throw new Error('Expected one of "ShardState_split_state", "ShardState__" in loading "ShardState", but data does not satisfy any constructor'); } @@ -8320,20 +7920,18 @@ export function storeShardState(shardState: ShardState): (builder: Builder) => v if ((shardState.kind == 'ShardState_split_state')) { return ((builder: Builder) => { builder.storeUint(0x5f327da5, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeShardStateUnsplit(shardState.left)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeShardStateUnsplit(shardState.right)(cell2); builder.storeRef(cell2); }) - } if ((shardState.kind == 'ShardState__')) { return ((builder: Builder) => { storeShardStateUnsplit(shardState.anon0)(builder); }) - } throw new Error('Expected one of "ShardState_split_state", "ShardState__" in loading "ShardState", but data does not satisfy any constructor'); } @@ -8346,9 +7944,9 @@ shared_lib_descr$00 lib:^Cell publishers:(Hashmap 256 True) export function loadLibDescr(slice: Slice): LibDescr { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b00))) { slice.loadUint(2); - let slice1 = slice.loadRef().beginParse(true); - let lib: Cell = slice1.asCell(); - let publishers: Dictionary = Dictionary.loadDirect(Dictionary.Keys.BigUint(256), { + const slice1 = slice.loadRef().beginParse(true); + const lib: Cell = slice1.asCell(); + const publishers: Dictionary = Dictionary.loadDirect(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); @@ -8357,7 +7955,6 @@ export function loadLibDescr(slice: Slice): LibDescr { lib: lib, publishers: publishers, } - } throw new Error('Expected one of "LibDescr" in loading "LibDescr", but data does not satisfy any constructor'); } @@ -8365,7 +7962,7 @@ export function loadLibDescr(slice: Slice): LibDescr { export function storeLibDescr(libDescr: LibDescr): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b00, 2); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(libDescr.lib.beginParse(true)); builder.storeRef(cell1); builder.storeDictDirect(libDescr.publishers, Dictionary.Keys.BigUint(256), { @@ -8375,7 +7972,6 @@ export function storeLibDescr(libDescr: LibDescr): (builder: Builder) => void { parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -8404,38 +8000,36 @@ block_info#9bc7a987 version:uint32 export function loadBlockInfo(slice: Slice): BlockInfo { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x9bc7a987))) { slice.loadUint(32); - let version: number = slice.loadUint(32); - let not_master: number = slice.loadUint(1); - let after_merge: number = slice.loadUint(1); - let before_split: number = slice.loadUint(1); - let after_split: number = slice.loadUint(1); - let want_split: Bool = loadBool(slice); - let want_merge: Bool = loadBool(slice); - let key_block: Bool = loadBool(slice); - let vert_seqno_incr: number = slice.loadUint(1); - let flags: number = slice.loadUint(8); - let seq_no: number = slice.loadUint(32); - let vert_seq_no: number = slice.loadUint(32); - let shard: ShardIdent = loadShardIdent(slice); - let gen_utime: number = slice.loadUint(32); - let start_lt: bigint = slice.loadUintBig(64); - let end_lt: bigint = slice.loadUintBig(64); - let gen_validator_list_hash_short: number = slice.loadUint(32); - let gen_catchain_seqno: number = slice.loadUint(32); - let min_ref_mc_seqno: number = slice.loadUint(32); - let prev_key_block_seqno: number = slice.loadUint(32); - let gen_software: GlobalVersion | undefined = ((flags & (1 << 0)) ? loadGlobalVersion(slice) : undefined); - let master_ref: BlkMasterInfo | undefined = (not_master ? ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const version: number = slice.loadUint(32); + const not_master: number = slice.loadUint(1); + const after_merge: number = slice.loadUint(1); + const before_split: number = slice.loadUint(1); + const after_split: number = slice.loadUint(1); + const want_split: Bool = loadBool(slice); + const want_merge: Bool = loadBool(slice); + const key_block: Bool = loadBool(slice); + const vert_seqno_incr: number = slice.loadUint(1); + const flags: number = slice.loadUint(8); + const seq_no: number = slice.loadUint(32); + const vert_seq_no: number = slice.loadUint(32); + const shard: ShardIdent = loadShardIdent(slice); + const gen_utime: number = slice.loadUint(32); + const start_lt: bigint = slice.loadUintBig(64); + const end_lt: bigint = slice.loadUintBig(64); + const gen_validator_list_hash_short: number = slice.loadUint(32); + const gen_catchain_seqno: number = slice.loadUint(32); + const min_ref_mc_seqno: number = slice.loadUint(32); + const prev_key_block_seqno: number = slice.loadUint(32); + const gen_software: GlobalVersion | undefined = ((flags & (1 << 0)) ? loadGlobalVersion(slice) : undefined); + const master_ref: BlkMasterInfo | undefined = (not_master ? ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadBlkMasterInfo(slice1) - })(slice) : undefined); - let slice1 = slice.loadRef().beginParse(true); - let prev_ref: BlkPrevInfo = loadBlkPrevInfo(slice1, after_merge); - let prev_vert_ref: BlkPrevInfo | undefined = (vert_seqno_incr ? ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); + const prev_ref: BlkPrevInfo = loadBlkPrevInfo(slice1, after_merge); + const prev_vert_ref: BlkPrevInfo | undefined = (vert_seqno_incr ? ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadBlkPrevInfo(slice1, 0) - })(slice) : undefined); if ((!(flags <= 1))) { throw new Error('Condition (flags <= 1) is not satisfied while loading "BlockInfo" for type "BlockInfo"'); @@ -8471,7 +8065,6 @@ export function loadBlockInfo(slice: Slice): BlockInfo { prev_ref: prev_ref, prev_vert_ref: prev_vert_ref, } - } throw new Error('Expected one of "BlockInfo" in loading "BlockInfo", but data does not satisfy any constructor'); } @@ -8503,19 +8096,17 @@ export function storeBlockInfo(blockInfo: BlockInfo): (builder: Builder) => void storeGlobalVersion(blockInfo.gen_software)(builder); } if ((blockInfo.master_ref != undefined)) { - let cell1 = beginCell(); + const cell1 = beginCell(); storeBlkMasterInfo(blockInfo.master_ref)(cell1); builder.storeRef(cell1); - } - let cell1 = beginCell(); + const cell1 = beginCell(); storeBlkPrevInfo(blockInfo.prev_ref)(cell1); builder.storeRef(cell1); if ((blockInfo.prev_vert_ref != undefined)) { - let cell1 = beginCell(); + const cell1 = beginCell(); storeBlkPrevInfo(blockInfo.prev_vert_ref)(cell1); builder.storeRef(cell1); - } if ((!(blockInfo.flags <= 1))) { throw new Error('Condition (blockInfo.flags <= 1) is not satisfied while loading "BlockInfo" for type "BlockInfo"'); @@ -8524,7 +8115,6 @@ export function storeBlockInfo(blockInfo: BlockInfo): (builder: Builder) => void throw new Error('Condition (blockInfo.vert_seq_no >= blockInfo.vert_seqno_incr) is not satisfied while loading "BlockInfo" for type "BlockInfo"'); } }) - } // prev_blk_info$_ prev:ExtBlkRef = BlkPrevInfo 0; @@ -8533,24 +8123,22 @@ export function storeBlockInfo(blockInfo: BlockInfo): (builder: Builder) => void export function loadBlkPrevInfo(slice: Slice, arg0: number): BlkPrevInfo { if ((arg0 == 0)) { - let prev: ExtBlkRef = loadExtBlkRef(slice); + const prev: ExtBlkRef = loadExtBlkRef(slice); return { kind: 'BlkPrevInfo_prev_blk_info', prev: prev, } - } if ((arg0 == 1)) { - let slice1 = slice.loadRef().beginParse(true); - let prev1: ExtBlkRef = loadExtBlkRef(slice1); - let slice2 = slice.loadRef().beginParse(true); - let prev2: ExtBlkRef = loadExtBlkRef(slice2); + const slice1 = slice.loadRef().beginParse(true); + const prev1: ExtBlkRef = loadExtBlkRef(slice1); + const slice2 = slice.loadRef().beginParse(true); + const prev2: ExtBlkRef = loadExtBlkRef(slice2); return { kind: 'BlkPrevInfo_prev_blks_info', prev1: prev1, prev2: prev2, } - } throw new Error('Expected one of "BlkPrevInfo_prev_blk_info", "BlkPrevInfo_prev_blks_info" in loading "BlkPrevInfo", but data does not satisfy any constructor'); } @@ -8560,18 +8148,16 @@ export function storeBlkPrevInfo(blkPrevInfo: BlkPrevInfo): (builder: Builder) = return ((builder: Builder) => { storeExtBlkRef(blkPrevInfo.prev)(builder); }) - } if ((blkPrevInfo.kind == 'BlkPrevInfo_prev_blks_info')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeExtBlkRef(blkPrevInfo.prev1)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeExtBlkRef(blkPrevInfo.prev2)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "BlkPrevInfo_prev_blk_info", "BlkPrevInfo_prev_blks_info" in loading "BlkPrevInfo", but data does not satisfy any constructor'); } @@ -8586,15 +8172,15 @@ block#11ef55aa global_id:int32 export function loadBlock(slice: Slice): Block { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x11ef55aa))) { slice.loadUint(32); - let global_id: number = slice.loadInt(32); - let slice1 = slice.loadRef().beginParse(true); - let info: BlockInfo = loadBlockInfo(slice1); - let slice2 = slice.loadRef().beginParse(true); - let value_flow: ValueFlow = loadValueFlow(slice2); - let cell3 = slice.loadRef(); - let state_update = cell3; - let slice4 = slice.loadRef().beginParse(true); - let extra: BlockExtra = loadBlockExtra(slice4); + const global_id: number = slice.loadInt(32); + const slice1 = slice.loadRef().beginParse(true); + const info: BlockInfo = loadBlockInfo(slice1); + const slice2 = slice.loadRef().beginParse(true); + const value_flow: ValueFlow = loadValueFlow(slice2); + const cell3 = slice.loadRef(); + const state_update = cell3; + const slice4 = slice.loadRef().beginParse(true); + const extra: BlockExtra = loadBlockExtra(slice4); return { kind: 'Block', global_id: global_id, @@ -8603,7 +8189,6 @@ export function loadBlock(slice: Slice): Block { state_update: state_update, extra: extra, } - } throw new Error('Expected one of "Block" in loading "Block", but data does not satisfy any constructor'); } @@ -8612,18 +8197,17 @@ export function storeBlock(block: Block): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0x11ef55aa, 32); builder.storeInt(block.global_id, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeBlockInfo(block.info)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeValueFlow(block.value_flow)(cell2); builder.storeRef(cell2); builder.storeRef(block.state_update); - let cell4 = beginCell(); + const cell4 = beginCell(); storeBlockExtra(block.extra)(cell4); builder.storeRef(cell4); }) - } /* @@ -8638,18 +8222,17 @@ block_extra in_msg_descr:^InMsgDescr export function loadBlockExtra(slice: Slice): BlockExtra { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x4a33f6fd))) { slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let in_msg_descr: InMsgDescr = loadInMsgDescr(slice1); - let slice2 = slice.loadRef().beginParse(true); - let out_msg_descr: OutMsgDescr = loadOutMsgDescr(slice2); - let slice3 = slice.loadRef().beginParse(true); - let account_blocks: ShardAccountBlocks = loadShardAccountBlocks(slice3); - let rand_seed: Buffer = slice.loadBuffer((256 / 8)); - let created_by: Buffer = slice.loadBuffer((256 / 8)); - let custom: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); + const in_msg_descr: InMsgDescr = loadInMsgDescr(slice1); + const slice2 = slice.loadRef().beginParse(true); + const out_msg_descr: OutMsgDescr = loadOutMsgDescr(slice2); + const slice3 = slice.loadRef().beginParse(true); + const account_blocks: ShardAccountBlocks = loadShardAccountBlocks(slice3); + const rand_seed: Buffer = slice.loadBuffer((256 / 8)); + const created_by: Buffer = slice.loadBuffer((256 / 8)); + const custom: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadMcBlockExtra(slice1) - })); return { kind: 'BlockExtra', @@ -8660,7 +8243,6 @@ export function loadBlockExtra(slice: Slice): BlockExtra { created_by: created_by, custom: custom, } - } throw new Error('Expected one of "BlockExtra" in loading "BlockExtra", but data does not satisfy any constructor'); } @@ -8668,28 +8250,25 @@ export function loadBlockExtra(slice: Slice): BlockExtra { export function storeBlockExtra(blockExtra: BlockExtra): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0x4a33f6fd, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeInMsgDescr(blockExtra.in_msg_descr)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeOutMsgDescr(blockExtra.out_msg_descr)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeShardAccountBlocks(blockExtra.account_blocks)(cell3); builder.storeRef(cell3); builder.storeBuffer(blockExtra.rand_seed, (256 / 8)); builder.storeBuffer(blockExtra.created_by, (256 / 8)); storeMaybe(blockExtra.custom, ((arg: McBlockExtra) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeMcBlockExtra(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } /* @@ -8724,17 +8303,17 @@ value_flow_v2#3ebf98b7 ^[ from_prev_blk:CurrencyCollection export function loadValueFlow(slice: Slice): ValueFlow { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xb8e48dfb))) { slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let from_prev_blk: CurrencyCollection = loadCurrencyCollection(slice1); - let to_next_blk: CurrencyCollection = loadCurrencyCollection(slice1); - let imported: CurrencyCollection = loadCurrencyCollection(slice1); - let exported: CurrencyCollection = loadCurrencyCollection(slice1); - let fees_collected: CurrencyCollection = loadCurrencyCollection(slice); - let slice2 = slice.loadRef().beginParse(true); - let fees_imported: CurrencyCollection = loadCurrencyCollection(slice2); - let recovered: CurrencyCollection = loadCurrencyCollection(slice2); - let created: CurrencyCollection = loadCurrencyCollection(slice2); - let minted: CurrencyCollection = loadCurrencyCollection(slice2); + const slice1 = slice.loadRef().beginParse(true); + const from_prev_blk: CurrencyCollection = loadCurrencyCollection(slice1); + const to_next_blk: CurrencyCollection = loadCurrencyCollection(slice1); + const imported: CurrencyCollection = loadCurrencyCollection(slice1); + const exported: CurrencyCollection = loadCurrencyCollection(slice1); + const fees_collected: CurrencyCollection = loadCurrencyCollection(slice); + const slice2 = slice.loadRef().beginParse(true); + const fees_imported: CurrencyCollection = loadCurrencyCollection(slice2); + const recovered: CurrencyCollection = loadCurrencyCollection(slice2); + const created: CurrencyCollection = loadCurrencyCollection(slice2); + const minted: CurrencyCollection = loadCurrencyCollection(slice2); return { kind: 'ValueFlow_value_flow', from_prev_blk: from_prev_blk, @@ -8747,22 +8326,21 @@ export function loadValueFlow(slice: Slice): ValueFlow { created: created, minted: minted, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x3ebf98b7))) { slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let from_prev_blk: CurrencyCollection = loadCurrencyCollection(slice1); - let to_next_blk: CurrencyCollection = loadCurrencyCollection(slice1); - let imported: CurrencyCollection = loadCurrencyCollection(slice1); - let exported: CurrencyCollection = loadCurrencyCollection(slice1); - let fees_collected: CurrencyCollection = loadCurrencyCollection(slice); - let burned: CurrencyCollection = loadCurrencyCollection(slice); - let slice2 = slice.loadRef().beginParse(true); - let fees_imported: CurrencyCollection = loadCurrencyCollection(slice2); - let recovered: CurrencyCollection = loadCurrencyCollection(slice2); - let created: CurrencyCollection = loadCurrencyCollection(slice2); - let minted: CurrencyCollection = loadCurrencyCollection(slice2); + const slice1 = slice.loadRef().beginParse(true); + const from_prev_blk: CurrencyCollection = loadCurrencyCollection(slice1); + const to_next_blk: CurrencyCollection = loadCurrencyCollection(slice1); + const imported: CurrencyCollection = loadCurrencyCollection(slice1); + const exported: CurrencyCollection = loadCurrencyCollection(slice1); + const fees_collected: CurrencyCollection = loadCurrencyCollection(slice); + const burned: CurrencyCollection = loadCurrencyCollection(slice); + const slice2 = slice.loadRef().beginParse(true); + const fees_imported: CurrencyCollection = loadCurrencyCollection(slice2); + const recovered: CurrencyCollection = loadCurrencyCollection(slice2); + const created: CurrencyCollection = loadCurrencyCollection(slice2); + const minted: CurrencyCollection = loadCurrencyCollection(slice2); return { kind: 'ValueFlow_value_flow_v2', from_prev_blk: from_prev_blk, @@ -8776,7 +8354,6 @@ export function loadValueFlow(slice: Slice): ValueFlow { created: created, minted: minted, } - } throw new Error('Expected one of "ValueFlow_value_flow", "ValueFlow_value_flow_v2" in loading "ValueFlow", but data does not satisfy any constructor'); } @@ -8785,26 +8362,25 @@ export function storeValueFlow(valueFlow: ValueFlow): (builder: Builder) => void if ((valueFlow.kind == 'ValueFlow_value_flow')) { return ((builder: Builder) => { builder.storeUint(0xb8e48dfb, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeCurrencyCollection(valueFlow.from_prev_blk)(cell1); storeCurrencyCollection(valueFlow.to_next_blk)(cell1); storeCurrencyCollection(valueFlow.imported)(cell1); storeCurrencyCollection(valueFlow.exported)(cell1); builder.storeRef(cell1); storeCurrencyCollection(valueFlow.fees_collected)(builder); - let cell2 = beginCell(); + const cell2 = beginCell(); storeCurrencyCollection(valueFlow.fees_imported)(cell2); storeCurrencyCollection(valueFlow.recovered)(cell2); storeCurrencyCollection(valueFlow.created)(cell2); storeCurrencyCollection(valueFlow.minted)(cell2); builder.storeRef(cell2); }) - } if ((valueFlow.kind == 'ValueFlow_value_flow_v2')) { return ((builder: Builder) => { builder.storeUint(0x3ebf98b7, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeCurrencyCollection(valueFlow.from_prev_blk)(cell1); storeCurrencyCollection(valueFlow.to_next_blk)(cell1); storeCurrencyCollection(valueFlow.imported)(cell1); @@ -8812,14 +8388,13 @@ export function storeValueFlow(valueFlow: ValueFlow): (builder: Builder) => void builder.storeRef(cell1); storeCurrencyCollection(valueFlow.fees_collected)(builder); storeCurrencyCollection(valueFlow.burned)(builder); - let cell2 = beginCell(); + const cell2 = beginCell(); storeCurrencyCollection(valueFlow.fees_imported)(cell2); storeCurrencyCollection(valueFlow.recovered)(cell2); storeCurrencyCollection(valueFlow.created)(cell2); storeCurrencyCollection(valueFlow.minted)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "ValueFlow_value_flow", "ValueFlow_value_flow_v2" in loading "ValueFlow", but data does not satisfy any constructor'); } @@ -8834,25 +8409,23 @@ bt_fork$1 {X:Type} left:^(BinTree X) right:^(BinTree X) export function loadBinTree(slice: Slice, loadX: (slice: Slice) => X): BinTree { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let leaf: X = loadX(slice); + const leaf: X = loadX(slice); return { kind: 'BinTree_bt_leaf', leaf: leaf, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let slice1 = slice.loadRef().beginParse(true); - let left: BinTree = loadBinTree(slice1, loadX); - let slice2 = slice.loadRef().beginParse(true); - let right: BinTree = loadBinTree(slice2, loadX); + const slice1 = slice.loadRef().beginParse(true); + const left: BinTree = loadBinTree(slice1, loadX); + const slice2 = slice.loadRef().beginParse(true); + const right: BinTree = loadBinTree(slice2, loadX); return { kind: 'BinTree_bt_fork', left: left, right: right, } - } throw new Error('Expected one of "BinTree_bt_leaf", "BinTree_bt_fork" in loading "BinTree", but data does not satisfy any constructor'); } @@ -8863,19 +8436,17 @@ export function storeBinTree(binTree: BinTree, storeX: (x: X) => (builder: builder.storeUint(0b0, 1); storeX(binTree.leaf)(builder); }) - } if ((binTree.kind == 'BinTree_bt_fork')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); - let cell1 = beginCell(); + const cell1 = beginCell(); storeBinTree(binTree.left, storeX)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeBinTree(binTree.right, storeX)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "BinTree_bt_leaf", "BinTree_bt_fork" in loading "BinTree", but data does not satisfy any constructor'); } @@ -8892,29 +8463,26 @@ export function loadFutureSplitMerge(slice: Slice): FutureSplitMerge { return { kind: 'FutureSplitMerge_fsm_none', } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); - let split_utime: number = slice.loadUint(32); - let interval: number = slice.loadUint(32); + const split_utime: number = slice.loadUint(32); + const interval: number = slice.loadUint(32); return { kind: 'FutureSplitMerge_fsm_split', split_utime: split_utime, interval: interval, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); - let merge_utime: number = slice.loadUint(32); - let interval: number = slice.loadUint(32); + const merge_utime: number = slice.loadUint(32); + const interval: number = slice.loadUint(32); return { kind: 'FutureSplitMerge_fsm_merge', merge_utime: merge_utime, interval: interval, } - } throw new Error('Expected one of "FutureSplitMerge_fsm_none", "FutureSplitMerge_fsm_split", "FutureSplitMerge_fsm_merge" in loading "FutureSplitMerge", but data does not satisfy any constructor'); } @@ -8924,7 +8492,6 @@ export function storeFutureSplitMerge(futureSplitMerge: FutureSplitMerge): (buil return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((futureSplitMerge.kind == 'FutureSplitMerge_fsm_split')) { return ((builder: Builder) => { @@ -8932,7 +8499,6 @@ export function storeFutureSplitMerge(futureSplitMerge: FutureSplitMerge): (buil builder.storeUint(futureSplitMerge.split_utime, 32); builder.storeUint(futureSplitMerge.interval, 32); }) - } if ((futureSplitMerge.kind == 'FutureSplitMerge_fsm_merge')) { return ((builder: Builder) => { @@ -8940,7 +8506,6 @@ export function storeFutureSplitMerge(futureSplitMerge: FutureSplitMerge): (buil builder.storeUint(futureSplitMerge.merge_utime, 32); builder.storeUint(futureSplitMerge.interval, 32); }) - } throw new Error('Expected one of "FutureSplitMerge_fsm_none", "FutureSplitMerge_fsm_split", "FutureSplitMerge_fsm_merge" in loading "FutureSplitMerge", but data does not satisfy any constructor'); } @@ -8976,25 +8541,25 @@ shard_descr_new#a seq_no:uint32 reg_mc_seqno:uint32 export function loadShardDescr(slice: Slice): ShardDescr { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0xb))) { slice.loadUint(4); - let seq_no: number = slice.loadUint(32); - let reg_mc_seqno: number = slice.loadUint(32); - let start_lt: bigint = slice.loadUintBig(64); - let end_lt: bigint = slice.loadUintBig(64); - let root_hash: Buffer = slice.loadBuffer((256 / 8)); - let file_hash: Buffer = slice.loadBuffer((256 / 8)); - let before_split: Bool = loadBool(slice); - let before_merge: Bool = loadBool(slice); - let want_split: Bool = loadBool(slice); - let want_merge: Bool = loadBool(slice); - let nx_cc_updated: Bool = loadBool(slice); - let flags: number = slice.loadUint(3); - let next_catchain_seqno: number = slice.loadUint(32); - let next_validator_shard: bigint = slice.loadUintBig(64); - let min_ref_mc_seqno: number = slice.loadUint(32); - let gen_utime: number = slice.loadUint(32); - let split_merge_at: FutureSplitMerge = loadFutureSplitMerge(slice); - let fees_collected: CurrencyCollection = loadCurrencyCollection(slice); - let funds_created: CurrencyCollection = loadCurrencyCollection(slice); + const seq_no: number = slice.loadUint(32); + const reg_mc_seqno: number = slice.loadUint(32); + const start_lt: bigint = slice.loadUintBig(64); + const end_lt: bigint = slice.loadUintBig(64); + const root_hash: Buffer = slice.loadBuffer((256 / 8)); + const file_hash: Buffer = slice.loadBuffer((256 / 8)); + const before_split: Bool = loadBool(slice); + const before_merge: Bool = loadBool(slice); + const want_split: Bool = loadBool(slice); + const want_merge: Bool = loadBool(slice); + const nx_cc_updated: Bool = loadBool(slice); + const flags: number = slice.loadUint(3); + const next_catchain_seqno: number = slice.loadUint(32); + const next_validator_shard: bigint = slice.loadUintBig(64); + const min_ref_mc_seqno: number = slice.loadUint(32); + const gen_utime: number = slice.loadUint(32); + const split_merge_at: FutureSplitMerge = loadFutureSplitMerge(slice); + const fees_collected: CurrencyCollection = loadCurrencyCollection(slice); + const funds_created: CurrencyCollection = loadCurrencyCollection(slice); if ((!(flags == 0))) { throw new Error('Condition (flags == 0) is not satisfied while loading "ShardDescr_shard_descr" for type "ShardDescr"'); } @@ -9020,30 +8585,29 @@ export function loadShardDescr(slice: Slice): ShardDescr { fees_collected: fees_collected, funds_created: funds_created, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0xa))) { slice.loadUint(4); - let seq_no: number = slice.loadUint(32); - let reg_mc_seqno: number = slice.loadUint(32); - let start_lt: bigint = slice.loadUintBig(64); - let end_lt: bigint = slice.loadUintBig(64); - let root_hash: Buffer = slice.loadBuffer((256 / 8)); - let file_hash: Buffer = slice.loadBuffer((256 / 8)); - let before_split: Bool = loadBool(slice); - let before_merge: Bool = loadBool(slice); - let want_split: Bool = loadBool(slice); - let want_merge: Bool = loadBool(slice); - let nx_cc_updated: Bool = loadBool(slice); - let flags: number = slice.loadUint(3); - let next_catchain_seqno: number = slice.loadUint(32); - let next_validator_shard: bigint = slice.loadUintBig(64); - let min_ref_mc_seqno: number = slice.loadUint(32); - let gen_utime: number = slice.loadUint(32); - let split_merge_at: FutureSplitMerge = loadFutureSplitMerge(slice); - let slice1 = slice.loadRef().beginParse(true); - let fees_collected: CurrencyCollection = loadCurrencyCollection(slice1); - let funds_created: CurrencyCollection = loadCurrencyCollection(slice1); + const seq_no: number = slice.loadUint(32); + const reg_mc_seqno: number = slice.loadUint(32); + const start_lt: bigint = slice.loadUintBig(64); + const end_lt: bigint = slice.loadUintBig(64); + const root_hash: Buffer = slice.loadBuffer((256 / 8)); + const file_hash: Buffer = slice.loadBuffer((256 / 8)); + const before_split: Bool = loadBool(slice); + const before_merge: Bool = loadBool(slice); + const want_split: Bool = loadBool(slice); + const want_merge: Bool = loadBool(slice); + const nx_cc_updated: Bool = loadBool(slice); + const flags: number = slice.loadUint(3); + const next_catchain_seqno: number = slice.loadUint(32); + const next_validator_shard: bigint = slice.loadUintBig(64); + const min_ref_mc_seqno: number = slice.loadUint(32); + const gen_utime: number = slice.loadUint(32); + const split_merge_at: FutureSplitMerge = loadFutureSplitMerge(slice); + const slice1 = slice.loadRef().beginParse(true); + const fees_collected: CurrencyCollection = loadCurrencyCollection(slice1); + const funds_created: CurrencyCollection = loadCurrencyCollection(slice1); if ((!(flags == 0))) { throw new Error('Condition (flags == 0) is not satisfied while loading "ShardDescr_shard_descr_new" for type "ShardDescr"'); } @@ -9069,7 +8633,6 @@ export function loadShardDescr(slice: Slice): ShardDescr { fees_collected: fees_collected, funds_created: funds_created, } - } throw new Error('Expected one of "ShardDescr_shard_descr", "ShardDescr_shard_descr_new" in loading "ShardDescr", but data does not satisfy any constructor'); } @@ -9101,7 +8664,6 @@ export function storeShardDescr(shardDescr: ShardDescr): (builder: Builder) => v throw new Error('Condition (shardDescr.flags == 0) is not satisfied while loading "ShardDescr_shard_descr" for type "ShardDescr"'); } }) - } if ((shardDescr.kind == 'ShardDescr_shard_descr_new')) { return ((builder: Builder) => { @@ -9123,7 +8685,7 @@ export function storeShardDescr(shardDescr: ShardDescr): (builder: Builder) => v builder.storeUint(shardDescr.min_ref_mc_seqno, 32); builder.storeUint(shardDescr.gen_utime, 32); storeFutureSplitMerge(shardDescr.split_merge_at)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeCurrencyCollection(shardDescr.fees_collected)(cell1); storeCurrencyCollection(shardDescr.funds_created)(cell1); builder.storeRef(cell1); @@ -9131,7 +8693,6 @@ export function storeShardDescr(shardDescr: ShardDescr): (builder: Builder) => v throw new Error('Condition (shardDescr.flags == 0) is not satisfied while loading "ShardDescr_shard_descr_new" for type "ShardDescr"'); } }) - } throw new Error('Expected one of "ShardDescr_shard_descr", "ShardDescr_shard_descr_new" in loading "ShardDescr", but data does not satisfy any constructor'); } @@ -9139,19 +8700,17 @@ export function storeShardDescr(shardDescr: ShardDescr): (builder: Builder) => v // _ (HashmapE 32 ^(BinTree ShardDescr)) = ShardHashes; export function loadShardHashes(slice: Slice): ShardHashes { - let anon0: Dictionary> = Dictionary.load(Dictionary.Keys.Uint(32), { + const anon0: Dictionary> = Dictionary.load(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadBinTree(slice1, loadShardDescr) - }), }, slice); return { kind: 'ShardHashes', anon0: anon0, } - } export function storeShardHashes(shardHashes: ShardHashes): (builder: Builder) => void { @@ -9160,18 +8719,15 @@ export function storeShardHashes(shardHashes: ShardHashes): (builder: Builder) = serialize: ((arg: BinTree, builder: Builder) => { ((arg: BinTree) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeBinTree(arg, storeShardDescr)(cell1); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // bta_leaf$0 {X:Type} {Y:Type} extra:Y leaf:X = BinTreeAug X Y; @@ -9184,29 +8740,27 @@ bta_fork$1 {X:Type} {Y:Type} left:^(BinTreeAug X Y) export function loadBinTreeAug(slice: Slice, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): BinTreeAug { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let extra: Y = loadY(slice); - let leaf: X = loadX(slice); + const extra: Y = loadY(slice); + const leaf: X = loadX(slice); return { kind: 'BinTreeAug_bta_leaf', extra: extra, leaf: leaf, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let slice1 = slice.loadRef().beginParse(true); - let left: BinTreeAug = loadBinTreeAug(slice1, loadX, loadY); - let slice2 = slice.loadRef().beginParse(true); - let right: BinTreeAug = loadBinTreeAug(slice2, loadX, loadY); - let extra: Y = loadY(slice); + const slice1 = slice.loadRef().beginParse(true); + const left: BinTreeAug = loadBinTreeAug(slice1, loadX, loadY); + const slice2 = slice.loadRef().beginParse(true); + const right: BinTreeAug = loadBinTreeAug(slice2, loadX, loadY); + const extra: Y = loadY(slice); return { kind: 'BinTreeAug_bta_fork', left: left, right: right, extra: extra, } - } throw new Error('Expected one of "BinTreeAug_bta_leaf", "BinTreeAug_bta_fork" in loading "BinTreeAug", but data does not satisfy any constructor'); } @@ -9218,20 +8772,18 @@ export function storeBinTreeAug(binTreeAug: BinTreeAug, storeX: (x: storeY(binTreeAug.extra)(builder); storeX(binTreeAug.leaf)(builder); }) - } if ((binTreeAug.kind == 'BinTreeAug_bta_fork')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); - let cell1 = beginCell(); + const cell1 = beginCell(); storeBinTreeAug(binTreeAug.left, storeX, storeY)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeBinTreeAug(binTreeAug.right, storeX, storeY)(cell2); builder.storeRef(cell2); storeY(binTreeAug.extra)(builder); }) - } throw new Error('Expected one of "BinTreeAug_bta_leaf", "BinTreeAug_bta_fork" in loading "BinTreeAug", but data does not satisfy any constructor'); } @@ -9239,14 +8791,13 @@ export function storeBinTreeAug(binTreeAug: BinTreeAug, storeX: (x: // _ fees:CurrencyCollection create:CurrencyCollection = ShardFeeCreated; export function loadShardFeeCreated(slice: Slice): ShardFeeCreated { - let fees: CurrencyCollection = loadCurrencyCollection(slice); - let create: CurrencyCollection = loadCurrencyCollection(slice); + const fees: CurrencyCollection = loadCurrencyCollection(slice); + const create: CurrencyCollection = loadCurrencyCollection(slice); return { kind: 'ShardFeeCreated', fees: fees, create: create, } - } export function storeShardFeeCreated(shardFeeCreated: ShardFeeCreated): (builder: Builder) => void { @@ -9254,27 +8805,24 @@ export function storeShardFeeCreated(shardFeeCreated: ShardFeeCreated): (builder storeCurrencyCollection(shardFeeCreated.fees)(builder); storeCurrencyCollection(shardFeeCreated.create)(builder); }) - } // _ (HashmapAugE 96 ShardFeeCreated ShardFeeCreated) = ShardFees; export function loadShardFees(slice: Slice): ShardFees { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(96), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(96), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadShardFeeCreated(slice), value: loadShardFeeCreated(slice), } - }), }, slice); return { kind: 'ShardFees', anon0: anon0, } - } export function storeShardFees(shardFees: ShardFees): (builder: Builder) => void { @@ -9285,19 +8833,16 @@ export function storeShardFees(shardFees: ShardFees): (builder: Builder) => void return ((builder: Builder) => { storeShardFeeCreated(arg)(builder); }) - })(arg.extra)(builder); ((arg: ShardFeeCreated) => { return ((builder: Builder) => { storeShardFeeCreated(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -9306,14 +8851,13 @@ _ config_addr:bits256 config:^(Hashmap 32 ^Cell) */ export function loadConfigParams(slice: Slice): ConfigParams { - let config_addr: Buffer = slice.loadBuffer((256 / 8)); - let slice1 = slice.loadRef().beginParse(true); - let config: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { + const config_addr: Buffer = slice.loadBuffer((256 / 8)); + const slice1 = slice.loadRef().beginParse(true); + const config: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - }), }, slice1); return { @@ -9321,30 +8865,26 @@ export function loadConfigParams(slice: Slice): ConfigParams { config_addr: config_addr, config: config, } - } export function storeConfigParams(configParams: ConfigParams): (builder: Builder) => void { return ((builder: Builder) => { builder.storeBuffer(configParams.config_addr, (256 / 8)); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeDictDirect(configParams.config, Dictionary.Keys.Uint(32), { serialize: ((arg: Cell, builder: Builder) => { ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); builder.storeRef(cell1); }) - } /* @@ -9356,16 +8896,15 @@ validator_info$_ */ export function loadValidatorInfo(slice: Slice): ValidatorInfo { - let validator_list_hash_short: number = slice.loadUint(32); - let catchain_seqno: number = slice.loadUint(32); - let nx_cc_updated: Bool = loadBool(slice); + const validator_list_hash_short: number = slice.loadUint(32); + const catchain_seqno: number = slice.loadUint(32); + const nx_cc_updated: Bool = loadBool(slice); return { kind: 'ValidatorInfo', validator_list_hash_short: validator_list_hash_short, catchain_seqno: catchain_seqno, nx_cc_updated: nx_cc_updated, } - } export function storeValidatorInfo(validatorInfo: ValidatorInfo): (builder: Builder) => void { @@ -9374,7 +8913,6 @@ export function storeValidatorInfo(validatorInfo: ValidatorInfo): (builder: Buil builder.storeUint(validatorInfo.catchain_seqno, 32); storeBool(validatorInfo.nx_cc_updated)(builder); }) - } /* @@ -9385,14 +8923,13 @@ validator_base_info$_ */ export function loadValidatorBaseInfo(slice: Slice): ValidatorBaseInfo { - let validator_list_hash_short: number = slice.loadUint(32); - let catchain_seqno: number = slice.loadUint(32); + const validator_list_hash_short: number = slice.loadUint(32); + const catchain_seqno: number = slice.loadUint(32); return { kind: 'ValidatorBaseInfo', validator_list_hash_short: validator_list_hash_short, catchain_seqno: catchain_seqno, } - } export function storeValidatorBaseInfo(validatorBaseInfo: ValidatorBaseInfo): (builder: Builder) => void { @@ -9400,20 +8937,18 @@ export function storeValidatorBaseInfo(validatorBaseInfo: ValidatorBaseInfo): (b builder.storeUint(validatorBaseInfo.validator_list_hash_short, 32); builder.storeUint(validatorBaseInfo.catchain_seqno, 32); }) - } // _ key:Bool max_end_lt:uint64 = KeyMaxLt; export function loadKeyMaxLt(slice: Slice): KeyMaxLt { - let key: Bool = loadBool(slice); - let max_end_lt: bigint = slice.loadUintBig(64); + const key: Bool = loadBool(slice); + const max_end_lt: bigint = slice.loadUintBig(64); return { kind: 'KeyMaxLt', key: key, max_end_lt: max_end_lt, } - } export function storeKeyMaxLt(keyMaxLt: KeyMaxLt): (builder: Builder) => void { @@ -9421,20 +8956,18 @@ export function storeKeyMaxLt(keyMaxLt: KeyMaxLt): (builder: Builder) => void { storeBool(keyMaxLt.key)(builder); builder.storeUint(keyMaxLt.max_end_lt, 64); }) - } // _ key:Bool blk_ref:ExtBlkRef = KeyExtBlkRef; export function loadKeyExtBlkRef(slice: Slice): KeyExtBlkRef { - let key: Bool = loadBool(slice); - let blk_ref: ExtBlkRef = loadExtBlkRef(slice); + const key: Bool = loadBool(slice); + const blk_ref: ExtBlkRef = loadExtBlkRef(slice); return { kind: 'KeyExtBlkRef', key: key, blk_ref: blk_ref, } - } export function storeKeyExtBlkRef(keyExtBlkRef: KeyExtBlkRef): (builder: Builder) => void { @@ -9442,27 +8975,24 @@ export function storeKeyExtBlkRef(keyExtBlkRef: KeyExtBlkRef): (builder: Builder storeBool(keyExtBlkRef.key)(builder); storeExtBlkRef(keyExtBlkRef.blk_ref)(builder); }) - } // _ (HashmapAugE 32 KeyExtBlkRef KeyMaxLt) = OldMcBlocksInfo; export function loadOldMcBlocksInfo(slice: Slice): OldMcBlocksInfo { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.Uint(32), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadKeyMaxLt(slice), value: loadKeyExtBlkRef(slice), } - }), }, slice); return { kind: 'OldMcBlocksInfo', anon0: anon0, } - } export function storeOldMcBlocksInfo(oldMcBlocksInfo: OldMcBlocksInfo): (builder: Builder) => void { @@ -9473,28 +9003,25 @@ export function storeOldMcBlocksInfo(oldMcBlocksInfo: OldMcBlocksInfo): (builder return ((builder: Builder) => { storeKeyMaxLt(arg)(builder); }) - })(arg.extra)(builder); ((arg: KeyExtBlkRef) => { return ((builder: Builder) => { storeKeyExtBlkRef(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // counters#_ last_updated:uint32 total:uint64 cnt2048:uint64 cnt65536:uint64 = Counters; export function loadCounters(slice: Slice): Counters { - let last_updated: number = slice.loadUint(32); - let total: bigint = slice.loadUintBig(64); - let cnt2048: bigint = slice.loadUintBig(64); - let cnt65536: bigint = slice.loadUintBig(64); + const last_updated: number = slice.loadUint(32); + const total: bigint = slice.loadUintBig(64); + const cnt2048: bigint = slice.loadUintBig(64); + const cnt65536: bigint = slice.loadUintBig(64); return { kind: 'Counters', last_updated: last_updated, @@ -9502,7 +9029,6 @@ export function loadCounters(slice: Slice): Counters { cnt2048: cnt2048, cnt65536: cnt65536, } - } export function storeCounters(counters: Counters): (builder: Builder) => void { @@ -9512,7 +9038,6 @@ export function storeCounters(counters: Counters): (builder: Builder) => void { builder.storeUint(counters.cnt2048, 64); builder.storeUint(counters.cnt65536, 64); }) - } // creator_info#4 mc_blocks:Counters shard_blocks:Counters = CreatorStats; @@ -9520,14 +9045,13 @@ export function storeCounters(counters: Counters): (builder: Builder) => void { export function loadCreatorStats(slice: Slice): CreatorStats { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x4))) { slice.loadUint(4); - let mc_blocks: Counters = loadCounters(slice); - let shard_blocks: Counters = loadCounters(slice); + const mc_blocks: Counters = loadCounters(slice); + const shard_blocks: Counters = loadCounters(slice); return { kind: 'CreatorStats', mc_blocks: mc_blocks, shard_blocks: shard_blocks, } - } throw new Error('Expected one of "CreatorStats" in loading "CreatorStats", but data does not satisfy any constructor'); } @@ -9538,7 +9062,6 @@ export function storeCreatorStats(creatorStats: CreatorStats): (builder: Builder storeCounters(creatorStats.mc_blocks)(builder); storeCounters(creatorStats.shard_blocks)(builder); }) - } // block_create_stats#17 counters:(HashmapE 256 CreatorStats) = BlockCreateStats; @@ -9548,7 +9071,7 @@ export function storeCreatorStats(creatorStats: CreatorStats): (builder: Builder export function loadBlockCreateStats(slice: Slice): BlockCreateStats { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x17))) { slice.loadUint(8); - let counters: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const counters: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: loadCreatorStats, }, slice); @@ -9556,25 +9079,22 @@ export function loadBlockCreateStats(slice: Slice): BlockCreateStats { kind: 'BlockCreateStats_block_create_stats', counters: counters, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x34))) { slice.loadUint(8); - let counters: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const counters: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: slice.loadUint(32), value: loadCreatorStats(slice), } - }), }, slice); return { kind: 'BlockCreateStats_block_create_stats_ext', counters: counters, } - } throw new Error('Expected one of "BlockCreateStats_block_create_stats", "BlockCreateStats_block_create_stats_ext" in loading "BlockCreateStats", but data does not satisfy any constructor'); } @@ -9590,7 +9110,6 @@ export function storeBlockCreateStats(blockCreateStats: BlockCreateStats): (buil parse: () => { throw new Error('Not implemented') }, }); }) - } if ((blockCreateStats.kind == 'BlockCreateStats_block_create_stats_ext')) { return ((builder: Builder) => { @@ -9601,19 +9120,16 @@ export function storeBlockCreateStats(blockCreateStats: BlockCreateStats): (buil return ((builder: Builder) => { builder.storeUint(arg, 32); }) - })(arg.extra)(builder); ((arg: CreatorStats) => { return ((builder: Builder) => { storeCreatorStats(arg)(builder); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } throw new Error('Expected one of "BlockCreateStats_block_create_stats", "BlockCreateStats_block_create_stats_ext" in loading "BlockCreateStats", but data does not satisfy any constructor'); } @@ -9635,16 +9151,16 @@ masterchain_state_extra#cc26 export function loadMcStateExtra(slice: Slice): McStateExtra { if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0xcc26))) { slice.loadUint(16); - let shard_hashes: ShardHashes = loadShardHashes(slice); - let config: ConfigParams = loadConfigParams(slice); - let slice1 = slice.loadRef().beginParse(true); - let flags: number = slice1.loadUint(16); - let validator_info: ValidatorInfo = loadValidatorInfo(slice1); - let prev_blocks: OldMcBlocksInfo = loadOldMcBlocksInfo(slice1); - let after_key_block: Bool = loadBool(slice); - let last_key_block: Maybe = loadMaybe(slice1, loadExtBlkRef); - let block_create_stats: BlockCreateStats | undefined = ((flags & (1 << 0)) ? loadBlockCreateStats(slice1) : undefined); - let global_balance: CurrencyCollection = loadCurrencyCollection(slice); + const shard_hashes: ShardHashes = loadShardHashes(slice); + const config: ConfigParams = loadConfigParams(slice); + const slice1 = slice.loadRef().beginParse(true); + const flags: number = slice1.loadUint(16); + const validator_info: ValidatorInfo = loadValidatorInfo(slice1); + const prev_blocks: OldMcBlocksInfo = loadOldMcBlocksInfo(slice1); + const after_key_block: Bool = loadBool(slice); + const last_key_block: Maybe = loadMaybe(slice1, loadExtBlkRef); + const block_create_stats: BlockCreateStats | undefined = ((flags & (1 << 0)) ? loadBlockCreateStats(slice1) : undefined); + const global_balance: CurrencyCollection = loadCurrencyCollection(slice); return { kind: 'McStateExtra', shard_hashes: shard_hashes, @@ -9657,7 +9173,6 @@ export function loadMcStateExtra(slice: Slice): McStateExtra { block_create_stats: block_create_stats, global_balance: global_balance, } - } throw new Error('Expected one of "McStateExtra" in loading "McStateExtra", but data does not satisfy any constructor'); } @@ -9667,7 +9182,7 @@ export function storeMcStateExtra(mcStateExtra: McStateExtra): (builder: Builder builder.storeUint(0xcc26, 16); storeShardHashes(mcStateExtra.shard_hashes)(builder); storeConfigParams(mcStateExtra.config)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeUint(mcStateExtra.flags, 16); storeValidatorInfo(mcStateExtra.validator_info)(cell1); storeOldMcBlocksInfo(mcStateExtra.prev_blocks)(cell1); @@ -9679,7 +9194,6 @@ export function storeMcStateExtra(mcStateExtra: McStateExtra): (builder: Builder builder.storeRef(cell1); storeCurrencyCollection(mcStateExtra.global_balance)(builder); }) - } // ed25519_pubkey#8e81278a pubkey:bits256 = SigPubKey; @@ -9687,12 +9201,11 @@ export function storeMcStateExtra(mcStateExtra: McStateExtra): (builder: Builder export function loadSigPubKey(slice: Slice): SigPubKey { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x8e81278a))) { slice.loadUint(32); - let pubkey: Buffer = slice.loadBuffer((256 / 8)); + const pubkey: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'SigPubKey', pubkey: pubkey, } - } throw new Error('Expected one of "SigPubKey" in loading "SigPubKey", but data does not satisfy any constructor'); } @@ -9702,7 +9215,6 @@ export function storeSigPubKey(sigPubKey: SigPubKey): (builder: Builder) => void builder.storeUint(0x8e81278a, 32); builder.storeBuffer(sigPubKey.pubkey, (256 / 8)); }) - } // ed25519_signature#5 R:bits256 s:bits256 = CryptoSignatureSimple; @@ -9710,14 +9222,13 @@ export function storeSigPubKey(sigPubKey: SigPubKey): (builder: Builder) => void export function loadCryptoSignatureSimple(slice: Slice): CryptoSignatureSimple { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x5))) { slice.loadUint(4); - let R: Buffer = slice.loadBuffer((256 / 8)); - let s: Buffer = slice.loadBuffer((256 / 8)); + const R: Buffer = slice.loadBuffer((256 / 8)); + const s: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'CryptoSignatureSimple', R: R, s: s, } - } throw new Error('Expected one of "CryptoSignatureSimple" in loading "CryptoSignatureSimple", but data does not satisfy any constructor'); } @@ -9728,7 +9239,6 @@ export function storeCryptoSignatureSimple(cryptoSignatureSimple: CryptoSignatur builder.storeBuffer(cryptoSignatureSimple.R, (256 / 8)); builder.storeBuffer(cryptoSignatureSimple.s, (256 / 8)); }) - } /* @@ -9741,23 +9251,21 @@ chained_signature#f signed_cert:^SignedCertificate temp_key_signature:CryptoSign export function loadCryptoSignature(slice: Slice): CryptoSignature { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0xf))) { slice.loadUint(4); - let slice1 = slice.loadRef().beginParse(true); - let signed_cert: SignedCertificate = loadSignedCertificate(slice1); - let temp_key_signature: CryptoSignatureSimple = loadCryptoSignatureSimple(slice); + const slice1 = slice.loadRef().beginParse(true); + const signed_cert: SignedCertificate = loadSignedCertificate(slice1); + const temp_key_signature: CryptoSignatureSimple = loadCryptoSignatureSimple(slice); return { kind: 'CryptoSignature_chained_signature', signed_cert: signed_cert, temp_key_signature: temp_key_signature, } - } if (true) { - let anon0: CryptoSignatureSimple = loadCryptoSignatureSimple(slice); + const anon0: CryptoSignatureSimple = loadCryptoSignatureSimple(slice); return { kind: 'CryptoSignature__', anon0: anon0, } - } throw new Error('Expected one of "CryptoSignature_chained_signature", "CryptoSignature__" in loading "CryptoSignature", but data does not satisfy any constructor'); } @@ -9766,18 +9274,16 @@ export function storeCryptoSignature(cryptoSignature: CryptoSignature): (builder if ((cryptoSignature.kind == 'CryptoSignature_chained_signature')) { return ((builder: Builder) => { builder.storeUint(0xf, 4); - let cell1 = beginCell(); + const cell1 = beginCell(); storeSignedCertificate(cryptoSignature.signed_cert)(cell1); builder.storeRef(cell1); storeCryptoSignatureSimple(cryptoSignature.temp_key_signature)(builder); }) - } if ((cryptoSignature.kind == 'CryptoSignature__')) { return ((builder: Builder) => { storeCryptoSignatureSimple(cryptoSignature.anon0)(builder); }) - } throw new Error('Expected one of "CryptoSignature_chained_signature", "CryptoSignature__" in loading "CryptoSignature", but data does not satisfy any constructor'); } @@ -9785,14 +9291,13 @@ export function storeCryptoSignature(cryptoSignature: CryptoSignature): (builder // sig_pair$_ node_id_short:bits256 sign:CryptoSignature = CryptoSignaturePair; export function loadCryptoSignaturePair(slice: Slice): CryptoSignaturePair { - let node_id_short: Buffer = slice.loadBuffer((256 / 8)); - let sign: CryptoSignature = loadCryptoSignature(slice); + const node_id_short: Buffer = slice.loadBuffer((256 / 8)); + const sign: CryptoSignature = loadCryptoSignature(slice); return { kind: 'CryptoSignaturePair', node_id_short: node_id_short, sign: sign, } - } export function storeCryptoSignaturePair(cryptoSignaturePair: CryptoSignaturePair): (builder: Builder) => void { @@ -9800,7 +9305,6 @@ export function storeCryptoSignaturePair(cryptoSignaturePair: CryptoSignaturePai builder.storeBuffer(cryptoSignaturePair.node_id_short, (256 / 8)); storeCryptoSignature(cryptoSignaturePair.sign)(builder); }) - } // certificate#4 temp_key:SigPubKey valid_since:uint32 valid_until:uint32 = Certificate; @@ -9808,16 +9312,15 @@ export function storeCryptoSignaturePair(cryptoSignaturePair: CryptoSignaturePai export function loadCertificate(slice: Slice): Certificate { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x4))) { slice.loadUint(4); - let temp_key: SigPubKey = loadSigPubKey(slice); - let valid_since: number = slice.loadUint(32); - let valid_until: number = slice.loadUint(32); + const temp_key: SigPubKey = loadSigPubKey(slice); + const valid_since: number = slice.loadUint(32); + const valid_until: number = slice.loadUint(32); return { kind: 'Certificate', temp_key: temp_key, valid_since: valid_since, valid_until: valid_until, } - } throw new Error('Expected one of "Certificate" in loading "Certificate", but data does not satisfy any constructor'); } @@ -9829,7 +9332,6 @@ export function storeCertificate(certificate: Certificate): (builder: Builder) = builder.storeUint(certificate.valid_since, 32); builder.storeUint(certificate.valid_until, 32); }) - } // certificate_env#a419b7d certificate:Certificate = CertificateEnv; @@ -9837,12 +9339,11 @@ export function storeCertificate(certificate: Certificate): (builder: Builder) = export function loadCertificateEnv(slice: Slice): CertificateEnv { if (((slice.remainingBits >= 28) && (slice.preloadUint(28) == 0xa419b7d))) { slice.loadUint(28); - let certificate: Certificate = loadCertificate(slice); + const certificate: Certificate = loadCertificate(slice); return { kind: 'CertificateEnv', certificate: certificate, } - } throw new Error('Expected one of "CertificateEnv" in loading "CertificateEnv", but data does not satisfy any constructor'); } @@ -9852,7 +9353,6 @@ export function storeCertificateEnv(certificateEnv: CertificateEnv): (builder: B builder.storeUint(0xa419b7d, 28); storeCertificate(certificateEnv.certificate)(builder); }) - } /* @@ -9861,14 +9361,13 @@ signed_certificate$_ certificate:Certificate certificate_signature:CryptoSignatu */ export function loadSignedCertificate(slice: Slice): SignedCertificate { - let certificate: Certificate = loadCertificate(slice); - let certificate_signature: CryptoSignature = loadCryptoSignature(slice); + const certificate: Certificate = loadCertificate(slice); + const certificate_signature: CryptoSignature = loadCryptoSignature(slice); return { kind: 'SignedCertificate', certificate: certificate, certificate_signature: certificate_signature, } - } export function storeSignedCertificate(signedCertificate: SignedCertificate): (builder: Builder) => void { @@ -9876,7 +9375,6 @@ export function storeSignedCertificate(signedCertificate: SignedCertificate): (b storeCertificate(signedCertificate.certificate)(builder); storeCryptoSignature(signedCertificate.certificate_signature)(builder); }) - } /* @@ -9894,25 +9392,23 @@ masterchain_block_extra#cca5 export function loadMcBlockExtra(slice: Slice): McBlockExtra { if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0xcca5))) { slice.loadUint(16); - let key_block: number = slice.loadUint(1); - let shard_hashes: ShardHashes = loadShardHashes(slice); - let shard_fees: ShardFees = loadShardFees(slice); - let slice1 = slice.loadRef().beginParse(true); - let prev_blk_signatures: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { + const key_block: number = slice.loadUint(1); + const shard_hashes: ShardHashes = loadShardHashes(slice); + const shard_fees: ShardFees = loadShardFees(slice); + const slice1 = slice.loadRef().beginParse(true); + const prev_blk_signatures: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: loadCryptoSignaturePair, }, slice1); - let recover_create_msg: Maybe = loadMaybe(slice1, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const recover_create_msg: Maybe = loadMaybe(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadInMsg(slice1) - })); - let mint_msg: Maybe = loadMaybe(slice1, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const mint_msg: Maybe = loadMaybe(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadInMsg(slice1) - })); - let config: ConfigParams | undefined = (key_block ? loadConfigParams(slice) : undefined); + const config: ConfigParams | undefined = (key_block ? loadConfigParams(slice) : undefined); return { kind: 'McBlockExtra', key_block: key_block, @@ -9923,7 +9419,6 @@ export function loadMcBlockExtra(slice: Slice): McBlockExtra { mint_msg: mint_msg, config: config, } - } throw new Error('Expected one of "McBlockExtra" in loading "McBlockExtra", but data does not satisfy any constructor'); } @@ -9934,7 +9429,7 @@ export function storeMcBlockExtra(mcBlockExtra: McBlockExtra): (builder: Builder builder.storeUint(mcBlockExtra.key_block, 1); storeShardHashes(mcBlockExtra.shard_hashes)(builder); storeShardFees(mcBlockExtra.shard_fees)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeDict(mcBlockExtra.prev_blk_signatures, Dictionary.Keys.Uint(16), { serialize: ((arg: CryptoSignaturePair, builder: Builder) => { storeCryptoSignaturePair(arg)(builder); @@ -9943,28 +9438,23 @@ export function storeMcBlockExtra(mcBlockExtra: McBlockExtra): (builder: Builder }); storeMaybe(mcBlockExtra.recover_create_msg, ((arg: InMsg) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeInMsg(arg)(cell1); builder.storeRef(cell1); - }) - }))(cell1); storeMaybe(mcBlockExtra.mint_msg, ((arg: InMsg) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeInMsg(arg)(cell1); builder.storeRef(cell1); - }) - }))(cell1); builder.storeRef(cell1); if ((mcBlockExtra.config != undefined)) { storeConfigParams(mcBlockExtra.config)(builder); } }) - } // validator#53 public_key:SigPubKey weight:uint64 = ValidatorDescr; @@ -9974,27 +9464,25 @@ export function storeMcBlockExtra(mcBlockExtra: McBlockExtra): (builder: Builder export function loadValidatorDescr(slice: Slice): ValidatorDescr { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x53))) { slice.loadUint(8); - let public_key: SigPubKey = loadSigPubKey(slice); - let weight: bigint = slice.loadUintBig(64); + const public_key: SigPubKey = loadSigPubKey(slice); + const weight: bigint = slice.loadUintBig(64); return { kind: 'ValidatorDescr_validator', public_key: public_key, weight: weight, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x73))) { slice.loadUint(8); - let public_key: SigPubKey = loadSigPubKey(slice); - let weight: bigint = slice.loadUintBig(64); - let adnl_addr: Buffer = slice.loadBuffer((256 / 8)); + const public_key: SigPubKey = loadSigPubKey(slice); + const weight: bigint = slice.loadUintBig(64); + const adnl_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ValidatorDescr_validator_addr', public_key: public_key, weight: weight, adnl_addr: adnl_addr, } - } throw new Error('Expected one of "ValidatorDescr_validator", "ValidatorDescr_validator_addr" in loading "ValidatorDescr", but data does not satisfy any constructor'); } @@ -10006,7 +9494,6 @@ export function storeValidatorDescr(validatorDescr: ValidatorDescr): (builder: B storeSigPubKey(validatorDescr.public_key)(builder); builder.storeUint(validatorDescr.weight, 64); }) - } if ((validatorDescr.kind == 'ValidatorDescr_validator_addr')) { return ((builder: Builder) => { @@ -10015,7 +9502,6 @@ export function storeValidatorDescr(validatorDescr: ValidatorDescr): (builder: B builder.storeUint(validatorDescr.weight, 64); builder.storeBuffer(validatorDescr.adnl_addr, (256 / 8)); }) - } throw new Error('Expected one of "ValidatorDescr_validator", "ValidatorDescr_validator_addr" in loading "ValidatorDescr", but data does not satisfy any constructor'); } @@ -10035,11 +9521,11 @@ validators_ext#12 utime_since:uint32 utime_until:uint32 export function loadValidatorSet(slice: Slice): ValidatorSet { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x11))) { slice.loadUint(8); - let utime_since: number = slice.loadUint(32); - let utime_until: number = slice.loadUint(32); - let total: number = slice.loadUint(16); - let main: number = slice.loadUint(16); - let list: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(16), { + const utime_since: number = slice.loadUint(32); + const utime_until: number = slice.loadUint(32); + const total: number = slice.loadUint(16); + const main: number = slice.loadUint(16); + const list: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: loadValidatorDescr, }, slice); @@ -10057,16 +9543,15 @@ export function loadValidatorSet(slice: Slice): ValidatorSet { main: main, list: list, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x12))) { slice.loadUint(8); - let utime_since: number = slice.loadUint(32); - let utime_until: number = slice.loadUint(32); - let total: number = slice.loadUint(16); - let main: number = slice.loadUint(16); - let total_weight: bigint = slice.loadUintBig(64); - let list: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { + const utime_since: number = slice.loadUint(32); + const utime_until: number = slice.loadUint(32); + const total: number = slice.loadUint(16); + const main: number = slice.loadUint(16); + const total_weight: bigint = slice.loadUintBig(64); + const list: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: loadValidatorDescr, }, slice); @@ -10085,7 +9570,6 @@ export function loadValidatorSet(slice: Slice): ValidatorSet { total_weight: total_weight, list: list, } - } throw new Error('Expected one of "ValidatorSet_validators", "ValidatorSet_validators_ext" in loading "ValidatorSet", but data does not satisfy any constructor'); } @@ -10111,7 +9595,6 @@ export function storeValidatorSet(validatorSet: ValidatorSet): (builder: Builder throw new Error('Condition (validatorSet.main >= 1) is not satisfied while loading "ValidatorSet_validators" for type "ValidatorSet"'); } }) - } if ((validatorSet.kind == 'ValidatorSet_validators_ext')) { return ((builder: Builder) => { @@ -10134,7 +9617,6 @@ export function storeValidatorSet(validatorSet: ValidatorSet): (builder: Builder throw new Error('Condition (validatorSet.main >= 1) is not satisfied while loading "ValidatorSet_validators_ext" for type "ValidatorSet"'); } }) - } throw new Error('Expected one of "ValidatorSet_validators", "ValidatorSet_validators_ext" in loading "ValidatorSet", but data does not satisfy any constructor'); } @@ -10241,81 +9723,72 @@ _ max_validators:(## 16) max_main_validators:(## 16) min_validators:(## 16) export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { if ((arg0 == 0)) { - let config_addr: Buffer = slice.loadBuffer((256 / 8)); + const config_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ConfigParam__', config_addr: config_addr, } - } if ((arg0 == 1)) { - let elector_addr: Buffer = slice.loadBuffer((256 / 8)); + const elector_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ConfigParam__1', elector_addr: elector_addr, } - } if ((arg0 == 2)) { - let minter_addr: Buffer = slice.loadBuffer((256 / 8)); + const minter_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ConfigParam__2', minter_addr: minter_addr, } - } if ((arg0 == 3)) { - let fee_collector_addr: Buffer = slice.loadBuffer((256 / 8)); + const fee_collector_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ConfigParam__3', fee_collector_addr: fee_collector_addr, } - } if ((arg0 == 4)) { - let dns_root_addr: Buffer = slice.loadBuffer((256 / 8)); + const dns_root_addr: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'ConfigParam__4', dns_root_addr: dns_root_addr, } - } if ((arg0 == 5)) { - let anon0: BurningConfig = loadBurningConfig(slice); + const anon0: BurningConfig = loadBurningConfig(slice); return { kind: 'ConfigParam__5', anon0: anon0, } - } if ((arg0 == 6)) { - let mint_new_price: bigint = slice.loadCoins(); - let mint_add_price: bigint = slice.loadCoins(); + const mint_new_price: bigint = slice.loadCoins(); + const mint_add_price: bigint = slice.loadCoins(); return { kind: 'ConfigParam__6', mint_new_price: mint_new_price, mint_add_price: mint_add_price, } - } if ((arg0 == 7)) { - let to_mint: ExtraCurrencyCollection = loadExtraCurrencyCollection(slice); + const to_mint: ExtraCurrencyCollection = loadExtraCurrencyCollection(slice); return { kind: 'ConfigParam__7', to_mint: to_mint, } - } if ((arg0 == 8)) { - let anon0: GlobalVersion = loadGlobalVersion(slice); + const anon0: GlobalVersion = loadGlobalVersion(slice); return { kind: 'ConfigParam__8', anon0: anon0, } - } if ((arg0 == 9)) { - let mandatory_params: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { + const mandatory_params: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); @@ -10323,10 +9796,9 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { kind: 'ConfigParam__9', mandatory_params: mandatory_params, } - } if ((arg0 == 10)) { - let critical_params: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { + const critical_params: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); @@ -10334,18 +9806,16 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { kind: 'ConfigParam__10', critical_params: critical_params, } - } if ((arg0 == 11)) { - let anon0: ConfigVotingSetup = loadConfigVotingSetup(slice); + const anon0: ConfigVotingSetup = loadConfigVotingSetup(slice); return { kind: 'ConfigParam__11', anon0: anon0, } - } if ((arg0 == 12)) { - let workchains: Dictionary = Dictionary.load(Dictionary.Keys.Uint(32), { + const workchains: Dictionary = Dictionary.load(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: loadWorkchainDescr, }, slice); @@ -10353,29 +9823,26 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { kind: 'ConfigParam__12', workchains: workchains, } - } if ((arg0 == 13)) { - let anon0: ComplaintPricing = loadComplaintPricing(slice); + const anon0: ComplaintPricing = loadComplaintPricing(slice); return { kind: 'ConfigParam__13', anon0: anon0, } - } if ((arg0 == 14)) { - let anon0: BlockCreateFees = loadBlockCreateFees(slice); + const anon0: BlockCreateFees = loadBlockCreateFees(slice); return { kind: 'ConfigParam__14', anon0: anon0, } - } if ((arg0 == 15)) { - let validators_elected_for: number = slice.loadUint(32); - let elections_start_before: number = slice.loadUint(32); - let elections_end_before: number = slice.loadUint(32); - let stake_held_for: number = slice.loadUint(32); + const validators_elected_for: number = slice.loadUint(32); + const elections_start_before: number = slice.loadUint(32); + const elections_end_before: number = slice.loadUint(32); + const stake_held_for: number = slice.loadUint(32); return { kind: 'ConfigParam__15', validators_elected_for: validators_elected_for, @@ -10383,12 +9850,11 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { elections_end_before: elections_end_before, stake_held_for: stake_held_for, } - } if ((arg0 == 16)) { - let max_validators: number = slice.loadUint(16); - let max_main_validators: number = slice.loadUint(16); - let min_validators: number = slice.loadUint(16); + const max_validators: number = slice.loadUint(16); + const max_main_validators: number = slice.loadUint(16); + const min_validators: number = slice.loadUint(16); if ((!(max_validators >= max_main_validators))) { throw new Error('Condition (max_validators >= max_main_validators) is not satisfied while loading "ConfigParam__16" for type "ConfigParam"'); } @@ -10404,13 +9870,12 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { max_main_validators: max_main_validators, min_validators: min_validators, } - } if ((arg0 == 17)) { - let min_stake: bigint = slice.loadCoins(); - let max_stake: bigint = slice.loadCoins(); - let min_total_stake: bigint = slice.loadCoins(); - let max_stake_factor: number = slice.loadUint(32); + const min_stake: bigint = slice.loadCoins(); + const max_stake: bigint = slice.loadCoins(); + const min_total_stake: bigint = slice.loadCoins(); + const max_stake_factor: number = slice.loadUint(32); return { kind: 'ConfigParam__17', min_stake: min_stake, @@ -10418,10 +9883,9 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { min_total_stake: min_total_stake, max_stake_factor: max_stake_factor, } - } if ((arg0 == 18)) { - let anon0: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { + const anon0: Dictionary = Dictionary.loadDirect(Dictionary.Keys.Uint(32), { serialize: () => { throw new Error('Not implemented') }, parse: loadStoragePrices, }, slice); @@ -10429,82 +9893,72 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { kind: 'ConfigParam__18', anon0: anon0, } - } if ((arg0 == 19)) { - let global_id: number = slice.loadInt(32); + const global_id: number = slice.loadInt(32); return { kind: 'ConfigParam__19', global_id: global_id, } - } if ((arg0 == 20)) { - let anon0: GasLimitsPrices = loadGasLimitsPrices(slice); + const anon0: GasLimitsPrices = loadGasLimitsPrices(slice); return { kind: 'ConfigParam_config_mc_gas_prices', anon0: anon0, } - } if ((arg0 == 21)) { - let anon0: GasLimitsPrices = loadGasLimitsPrices(slice); + const anon0: GasLimitsPrices = loadGasLimitsPrices(slice); return { kind: 'ConfigParam_config_gas_prices', anon0: anon0, } - } if ((arg0 == 22)) { - let anon0: BlockLimits = loadBlockLimits(slice); + const anon0: BlockLimits = loadBlockLimits(slice); return { kind: 'ConfigParam_config_mc_block_limits', anon0: anon0, } - } if ((arg0 == 23)) { - let anon0: BlockLimits = loadBlockLimits(slice); + const anon0: BlockLimits = loadBlockLimits(slice); return { kind: 'ConfigParam_config_block_limits', anon0: anon0, } - } if ((arg0 == 24)) { - let anon0: MsgForwardPrices = loadMsgForwardPrices(slice); + const anon0: MsgForwardPrices = loadMsgForwardPrices(slice); return { kind: 'ConfigParam_config_mc_fwd_prices', anon0: anon0, } - } if ((arg0 == 25)) { - let anon0: MsgForwardPrices = loadMsgForwardPrices(slice); + const anon0: MsgForwardPrices = loadMsgForwardPrices(slice); return { kind: 'ConfigParam_config_fwd_prices', anon0: anon0, } - } if ((arg0 == 28)) { - let anon0: CatchainConfig = loadCatchainConfig(slice); + const anon0: CatchainConfig = loadCatchainConfig(slice); return { kind: 'ConfigParam__26', anon0: anon0, } - } if ((arg0 == 29)) { - let anon0: ConsensusConfig = loadConsensusConfig(slice); + const anon0: ConsensusConfig = loadConsensusConfig(slice); return { kind: 'ConfigParam__27', anon0: anon0, } - } if ((arg0 == 31)) { - let fundamental_smc_addr: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const fundamental_smc_addr: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); @@ -10512,58 +9966,51 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { kind: 'ConfigParam__28', fundamental_smc_addr: fundamental_smc_addr, } - } if ((arg0 == 32)) { - let prev_validators: ValidatorSet = loadValidatorSet(slice); + const prev_validators: ValidatorSet = loadValidatorSet(slice); return { kind: 'ConfigParam__29', prev_validators: prev_validators, } - } if ((arg0 == 33)) { - let prev_temp_validators: ValidatorSet = loadValidatorSet(slice); + const prev_temp_validators: ValidatorSet = loadValidatorSet(slice); return { kind: 'ConfigParam__30', prev_temp_validators: prev_temp_validators, } - } if ((arg0 == 34)) { - let cur_validators: ValidatorSet = loadValidatorSet(slice); + const cur_validators: ValidatorSet = loadValidatorSet(slice); return { kind: 'ConfigParam__31', cur_validators: cur_validators, } - } if ((arg0 == 35)) { - let cur_temp_validators: ValidatorSet = loadValidatorSet(slice); + const cur_temp_validators: ValidatorSet = loadValidatorSet(slice); return { kind: 'ConfigParam__32', cur_temp_validators: cur_temp_validators, } - } if ((arg0 == 36)) { - let next_validators: ValidatorSet = loadValidatorSet(slice); + const next_validators: ValidatorSet = loadValidatorSet(slice); return { kind: 'ConfigParam__33', next_validators: next_validators, } - } if ((arg0 == 37)) { - let next_temp_validators: ValidatorSet = loadValidatorSet(slice); + const next_temp_validators: ValidatorSet = loadValidatorSet(slice); return { kind: 'ConfigParam__34', next_temp_validators: next_temp_validators, } - } if ((arg0 == 39)) { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: loadValidatorSignedTempKey, }, slice); @@ -10571,79 +10018,69 @@ export function loadConfigParam(slice: Slice, arg0: number): ConfigParam { kind: 'ConfigParam__35', anon0: anon0, } - } if ((arg0 == 40)) { - let anon0: MisbehaviourPunishmentConfig = loadMisbehaviourPunishmentConfig(slice); + const anon0: MisbehaviourPunishmentConfig = loadMisbehaviourPunishmentConfig(slice); return { kind: 'ConfigParam__36', anon0: anon0, } - } if ((arg0 == 43)) { - let anon0: SizeLimitsConfig = loadSizeLimitsConfig(slice); + const anon0: SizeLimitsConfig = loadSizeLimitsConfig(slice); return { kind: 'ConfigParam__37', anon0: anon0, } - } if ((arg0 == 44)) { - let anon0: SuspendedAddressList = loadSuspendedAddressList(slice); + const anon0: SuspendedAddressList = loadSuspendedAddressList(slice); return { kind: 'ConfigParam__38', anon0: anon0, } - } if ((arg0 == 71)) { - let anon0: OracleBridgeParams = loadOracleBridgeParams(slice); + const anon0: OracleBridgeParams = loadOracleBridgeParams(slice); return { kind: 'ConfigParam__39', anon0: anon0, } - } if ((arg0 == 72)) { - let anon0: OracleBridgeParams = loadOracleBridgeParams(slice); + const anon0: OracleBridgeParams = loadOracleBridgeParams(slice); return { kind: 'ConfigParam__40', anon0: anon0, } - } if ((arg0 == 73)) { - let anon0: OracleBridgeParams = loadOracleBridgeParams(slice); + const anon0: OracleBridgeParams = loadOracleBridgeParams(slice); return { kind: 'ConfigParam__41', anon0: anon0, } - } if ((arg0 == 79)) { - let anon0: JettonBridgeParams = loadJettonBridgeParams(slice); + const anon0: JettonBridgeParams = loadJettonBridgeParams(slice); return { kind: 'ConfigParam__42', anon0: anon0, } - } if ((arg0 == 81)) { - let anon0: JettonBridgeParams = loadJettonBridgeParams(slice); + const anon0: JettonBridgeParams = loadJettonBridgeParams(slice); return { kind: 'ConfigParam__43', anon0: anon0, } - } if ((arg0 == 82)) { - let anon0: JettonBridgeParams = loadJettonBridgeParams(slice); + const anon0: JettonBridgeParams = loadJettonBridgeParams(slice); return { kind: 'ConfigParam__44', anon0: anon0, } - } throw new Error('Expected one of "ConfigParam__", "ConfigParam__1", "ConfigParam__2", "ConfigParam__3", "ConfigParam__4", "ConfigParam__5", "ConfigParam__6", "ConfigParam__7", "ConfigParam__8", "ConfigParam__9", "ConfigParam__10", "ConfigParam__11", "ConfigParam__12", "ConfigParam__13", "ConfigParam__14", "ConfigParam__15", "ConfigParam__16", "ConfigParam__17", "ConfigParam__18", "ConfigParam__19", "ConfigParam_config_mc_gas_prices", "ConfigParam_config_gas_prices", "ConfigParam_config_mc_block_limits", "ConfigParam_config_block_limits", "ConfigParam_config_mc_fwd_prices", "ConfigParam_config_fwd_prices", "ConfigParam__26", "ConfigParam__27", "ConfigParam__28", "ConfigParam__29", "ConfigParam__30", "ConfigParam__31", "ConfigParam__32", "ConfigParam__33", "ConfigParam__34", "ConfigParam__35", "ConfigParam__36", "ConfigParam__37", "ConfigParam__38", "ConfigParam__39", "ConfigParam__40", "ConfigParam__41", "ConfigParam__42", "ConfigParam__43", "ConfigParam__44" in loading "ConfigParam", but data does not satisfy any constructor'); } @@ -10653,56 +10090,47 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = return ((builder: Builder) => { builder.storeBuffer(configParam.config_addr, (256 / 8)); }) - } if ((configParam.kind == 'ConfigParam__1')) { return ((builder: Builder) => { builder.storeBuffer(configParam.elector_addr, (256 / 8)); }) - } if ((configParam.kind == 'ConfigParam__2')) { return ((builder: Builder) => { builder.storeBuffer(configParam.minter_addr, (256 / 8)); }) - } if ((configParam.kind == 'ConfigParam__3')) { return ((builder: Builder) => { builder.storeBuffer(configParam.fee_collector_addr, (256 / 8)); }) - } if ((configParam.kind == 'ConfigParam__4')) { return ((builder: Builder) => { builder.storeBuffer(configParam.dns_root_addr, (256 / 8)); }) - } if ((configParam.kind == 'ConfigParam__5')) { return ((builder: Builder) => { storeBurningConfig(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__6')) { return ((builder: Builder) => { builder.storeCoins(configParam.mint_new_price); builder.storeCoins(configParam.mint_add_price); }) - } if ((configParam.kind == 'ConfigParam__7')) { return ((builder: Builder) => { storeExtraCurrencyCollection(configParam.to_mint)(builder); }) - } if ((configParam.kind == 'ConfigParam__8')) { return ((builder: Builder) => { storeGlobalVersion(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__9')) { return ((builder: Builder) => { @@ -10713,7 +10141,6 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = parse: () => { throw new Error('Not implemented') }, }); }) - } if ((configParam.kind == 'ConfigParam__10')) { return ((builder: Builder) => { @@ -10724,13 +10151,11 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = parse: () => { throw new Error('Not implemented') }, }); }) - } if ((configParam.kind == 'ConfigParam__11')) { return ((builder: Builder) => { storeConfigVotingSetup(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__12')) { return ((builder: Builder) => { @@ -10741,19 +10166,16 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = parse: () => { throw new Error('Not implemented') }, }); }) - } if ((configParam.kind == 'ConfigParam__13')) { return ((builder: Builder) => { storeComplaintPricing(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__14')) { return ((builder: Builder) => { storeBlockCreateFees(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__15')) { return ((builder: Builder) => { @@ -10762,7 +10184,6 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = builder.storeUint(configParam.elections_end_before, 32); builder.storeUint(configParam.stake_held_for, 32); }) - } if ((configParam.kind == 'ConfigParam__16')) { return ((builder: Builder) => { @@ -10779,7 +10200,6 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = throw new Error('Condition (configParam.min_validators >= 1) is not satisfied while loading "ConfigParam__16" for type "ConfigParam"'); } }) - } if ((configParam.kind == 'ConfigParam__17')) { return ((builder: Builder) => { @@ -10788,7 +10208,6 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = builder.storeCoins(configParam.min_total_stake); builder.storeUint(configParam.max_stake_factor, 32); }) - } if ((configParam.kind == 'ConfigParam__18')) { return ((builder: Builder) => { @@ -10799,61 +10218,51 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = parse: () => { throw new Error('Not implemented') }, }); }) - } if ((configParam.kind == 'ConfigParam__19')) { return ((builder: Builder) => { builder.storeInt(configParam.global_id, 32); }) - } if ((configParam.kind == 'ConfigParam_config_mc_gas_prices')) { return ((builder: Builder) => { storeGasLimitsPrices(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam_config_gas_prices')) { return ((builder: Builder) => { storeGasLimitsPrices(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam_config_mc_block_limits')) { return ((builder: Builder) => { storeBlockLimits(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam_config_block_limits')) { return ((builder: Builder) => { storeBlockLimits(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam_config_mc_fwd_prices')) { return ((builder: Builder) => { storeMsgForwardPrices(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam_config_fwd_prices')) { return ((builder: Builder) => { storeMsgForwardPrices(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__26')) { return ((builder: Builder) => { storeCatchainConfig(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__27')) { return ((builder: Builder) => { storeConsensusConfig(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__28')) { return ((builder: Builder) => { @@ -10864,43 +10273,36 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = parse: () => { throw new Error('Not implemented') }, }); }) - } if ((configParam.kind == 'ConfigParam__29')) { return ((builder: Builder) => { storeValidatorSet(configParam.prev_validators)(builder); }) - } if ((configParam.kind == 'ConfigParam__30')) { return ((builder: Builder) => { storeValidatorSet(configParam.prev_temp_validators)(builder); }) - } if ((configParam.kind == 'ConfigParam__31')) { return ((builder: Builder) => { storeValidatorSet(configParam.cur_validators)(builder); }) - } if ((configParam.kind == 'ConfigParam__32')) { return ((builder: Builder) => { storeValidatorSet(configParam.cur_temp_validators)(builder); }) - } if ((configParam.kind == 'ConfigParam__33')) { return ((builder: Builder) => { storeValidatorSet(configParam.next_validators)(builder); }) - } if ((configParam.kind == 'ConfigParam__34')) { return ((builder: Builder) => { storeValidatorSet(configParam.next_temp_validators)(builder); }) - } if ((configParam.kind == 'ConfigParam__35')) { return ((builder: Builder) => { @@ -10911,61 +10313,51 @@ export function storeConfigParam(configParam: ConfigParam): (builder: Builder) = parse: () => { throw new Error('Not implemented') }, }); }) - } if ((configParam.kind == 'ConfigParam__36')) { return ((builder: Builder) => { storeMisbehaviourPunishmentConfig(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__37')) { return ((builder: Builder) => { storeSizeLimitsConfig(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__38')) { return ((builder: Builder) => { storeSuspendedAddressList(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__39')) { return ((builder: Builder) => { storeOracleBridgeParams(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__40')) { return ((builder: Builder) => { storeOracleBridgeParams(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__41')) { return ((builder: Builder) => { storeOracleBridgeParams(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__42')) { return ((builder: Builder) => { storeJettonBridgeParams(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__43')) { return ((builder: Builder) => { storeJettonBridgeParams(configParam.anon0)(builder); }) - } if ((configParam.kind == 'ConfigParam__44')) { return ((builder: Builder) => { storeJettonBridgeParams(configParam.anon0)(builder); }) - } throw new Error('Expected one of "ConfigParam__", "ConfigParam__1", "ConfigParam__2", "ConfigParam__3", "ConfigParam__4", "ConfigParam__5", "ConfigParam__6", "ConfigParam__7", "ConfigParam__8", "ConfigParam__9", "ConfigParam__10", "ConfigParam__11", "ConfigParam__12", "ConfigParam__13", "ConfigParam__14", "ConfigParam__15", "ConfigParam__16", "ConfigParam__17", "ConfigParam__18", "ConfigParam__19", "ConfigParam_config_mc_gas_prices", "ConfigParam_config_gas_prices", "ConfigParam_config_mc_block_limits", "ConfigParam_config_block_limits", "ConfigParam_config_mc_fwd_prices", "ConfigParam_config_fwd_prices", "ConfigParam__26", "ConfigParam__27", "ConfigParam__28", "ConfigParam__29", "ConfigParam__30", "ConfigParam__31", "ConfigParam__32", "ConfigParam__33", "ConfigParam__34", "ConfigParam__35", "ConfigParam__36", "ConfigParam__37", "ConfigParam__38", "ConfigParam__39", "ConfigParam__40", "ConfigParam__41", "ConfigParam__42", "ConfigParam__43", "ConfigParam__44" in loading "ConfigParam", but data does not satisfy any constructor'); } @@ -10979,12 +10371,11 @@ burning_config#01 export function loadBurningConfig(slice: Slice): BurningConfig { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x01))) { slice.loadUint(8); - let blackhole_addr: Maybe = loadMaybe(slice, ((slice: Slice) => { + const blackhole_addr: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadBuffer((256 / 8)) - })); - let fee_burn_num: number = slice.loadUint(32); - let fee_burn_denom: number = slice.loadUint(32); + const fee_burn_num: number = slice.loadUint(32); + const fee_burn_denom: number = slice.loadUint(32); if ((!(fee_burn_num <= fee_burn_denom))) { throw new Error('Condition (fee_burn_num <= fee_burn_denom) is not satisfied while loading "BurningConfig" for type "BurningConfig"'); } @@ -10997,7 +10388,6 @@ export function loadBurningConfig(slice: Slice): BurningConfig { fee_burn_num: fee_burn_num, fee_burn_denom: fee_burn_denom, } - } throw new Error('Expected one of "BurningConfig" in loading "BurningConfig", but data does not satisfy any constructor'); } @@ -11009,7 +10399,6 @@ export function storeBurningConfig(burningConfig: BurningConfig): (builder: Buil return ((builder: Builder) => { builder.storeBuffer(arg, (256 / 8)); }) - }))(builder); builder.storeUint(burningConfig.fee_burn_num, 32); builder.storeUint(burningConfig.fee_burn_denom, 32); @@ -11020,7 +10409,6 @@ export function storeBurningConfig(burningConfig: BurningConfig): (builder: Buil throw new Error('Condition (burningConfig.fee_burn_denom >= 1) is not satisfied while loading "BurningConfig" for type "BurningConfig"'); } }) - } // capabilities#c4 version:uint32 capabilities:uint64 = GlobalVersion; @@ -11028,14 +10416,13 @@ export function storeBurningConfig(burningConfig: BurningConfig): (builder: Buil export function loadGlobalVersion(slice: Slice): GlobalVersion { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xc4))) { slice.loadUint(8); - let version: number = slice.loadUint(32); - let capabilities: bigint = slice.loadUintBig(64); + const version: number = slice.loadUint(32); + const capabilities: bigint = slice.loadUintBig(64); return { kind: 'GlobalVersion', version: version, capabilities: capabilities, } - } throw new Error('Expected one of "GlobalVersion" in loading "GlobalVersion", but data does not satisfy any constructor'); } @@ -11046,7 +10433,6 @@ export function storeGlobalVersion(globalVersion: GlobalVersion): (builder: Buil builder.storeUint(globalVersion.version, 32); builder.storeUint(globalVersion.capabilities, 64); }) - } // cfg_vote_cfg#36 min_tot_rounds:uint8 max_tot_rounds:uint8 min_wins:uint8 max_losses:uint8 min_store_sec:uint32 max_store_sec:uint32 bit_price:uint32 cell_price:uint32 = ConfigProposalSetup; @@ -11054,14 +10440,14 @@ export function storeGlobalVersion(globalVersion: GlobalVersion): (builder: Buil export function loadConfigProposalSetup(slice: Slice): ConfigProposalSetup { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x36))) { slice.loadUint(8); - let min_tot_rounds: number = slice.loadUint(8); - let max_tot_rounds: number = slice.loadUint(8); - let min_wins: number = slice.loadUint(8); - let max_losses: number = slice.loadUint(8); - let min_store_sec: number = slice.loadUint(32); - let max_store_sec: number = slice.loadUint(32); - let bit_price: number = slice.loadUint(32); - let _cell_price: number = slice.loadUint(32); + const min_tot_rounds: number = slice.loadUint(8); + const max_tot_rounds: number = slice.loadUint(8); + const min_wins: number = slice.loadUint(8); + const max_losses: number = slice.loadUint(8); + const min_store_sec: number = slice.loadUint(32); + const max_store_sec: number = slice.loadUint(32); + const bit_price: number = slice.loadUint(32); + const _cell_price: number = slice.loadUint(32); return { kind: 'ConfigProposalSetup', min_tot_rounds: min_tot_rounds, @@ -11073,7 +10459,6 @@ export function loadConfigProposalSetup(slice: Slice): ConfigProposalSetup { bit_price: bit_price, _cell_price: _cell_price, } - } throw new Error('Expected one of "ConfigProposalSetup" in loading "ConfigProposalSetup", but data does not satisfy any constructor'); } @@ -11090,7 +10475,6 @@ export function storeConfigProposalSetup(configProposalSetup: ConfigProposalSetu builder.storeUint(configProposalSetup.bit_price, 32); builder.storeUint(configProposalSetup._cell_price, 32); }) - } // cfg_vote_setup#91 normal_params:^ConfigProposalSetup critical_params:^ConfigProposalSetup = ConfigVotingSetup; @@ -11098,16 +10482,15 @@ export function storeConfigProposalSetup(configProposalSetup: ConfigProposalSetu export function loadConfigVotingSetup(slice: Slice): ConfigVotingSetup { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x91))) { slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let normal_params: ConfigProposalSetup = loadConfigProposalSetup(slice1); - let slice2 = slice.loadRef().beginParse(true); - let critical_params: ConfigProposalSetup = loadConfigProposalSetup(slice2); + const slice1 = slice.loadRef().beginParse(true); + const normal_params: ConfigProposalSetup = loadConfigProposalSetup(slice1); + const slice2 = slice.loadRef().beginParse(true); + const critical_params: ConfigProposalSetup = loadConfigProposalSetup(slice2); return { kind: 'ConfigVotingSetup', normal_params: normal_params, critical_params: critical_params, } - } throw new Error('Expected one of "ConfigVotingSetup" in loading "ConfigVotingSetup", but data does not satisfy any constructor'); } @@ -11115,14 +10498,13 @@ export function loadConfigVotingSetup(slice: Slice): ConfigVotingSetup { export function storeConfigVotingSetup(configVotingSetup: ConfigVotingSetup): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0x91, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); storeConfigProposalSetup(configVotingSetup.normal_params)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeConfigProposalSetup(configVotingSetup.critical_params)(cell2); builder.storeRef(cell2); }) - } /* @@ -11133,15 +10515,13 @@ cfg_proposal#f3 param_id:int32 param_value:(Maybe ^Cell) if_hash_equal:(Maybe ui export function loadConfigProposal(slice: Slice): ConfigProposal { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xf3))) { slice.loadUint(8); - let param_id: number = slice.loadInt(32); - let param_value: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const param_id: number = slice.loadInt(32); + const param_value: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - })); - let if_hash_equal: Maybe = loadMaybe(slice, ((slice: Slice) => { + const if_hash_equal: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadUintBig(256) - })); return { kind: 'ConfigProposal', @@ -11149,7 +10529,6 @@ export function loadConfigProposal(slice: Slice): ConfigProposal { param_value: param_value, if_hash_equal: if_hash_equal, } - } throw new Error('Expected one of "ConfigProposal" in loading "ConfigProposal", but data does not satisfy any constructor'); } @@ -11160,21 +10539,17 @@ export function storeConfigProposal(configProposal: ConfigProposal): (builder: B builder.storeInt(configProposal.param_id, 32); storeMaybe(configProposal.param_value, ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - }))(builder); storeMaybe(configProposal.if_hash_equal, ((arg: bigint) => { return ((builder: Builder) => { builder.storeUint(arg, 256); }) - }))(builder); }) - } /* @@ -11186,19 +10561,19 @@ cfg_proposal_status#ce expires:uint32 proposal:^ConfigProposal is_critical:Bool export function loadConfigProposalStatus(slice: Slice): ConfigProposalStatus { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xce))) { slice.loadUint(8); - let expires: number = slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let proposal: ConfigProposal = loadConfigProposal(slice1); - let is_critical: Bool = loadBool(slice); - let voters: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { + const expires: number = slice.loadUint(32); + const slice1 = slice.loadRef().beginParse(true); + const proposal: ConfigProposal = loadConfigProposal(slice1); + const is_critical: Bool = loadBool(slice); + const voters: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); - let remaining_weight: bigint = slice.loadIntBig(64); - let validator_set_id: bigint = slice.loadUintBig(256); - let rounds_remaining: number = slice.loadUint(8); - let wins: number = slice.loadUint(8); - let losses: number = slice.loadUint(8); + const remaining_weight: bigint = slice.loadIntBig(64); + const validator_set_id: bigint = slice.loadUintBig(256); + const rounds_remaining: number = slice.loadUint(8); + const wins: number = slice.loadUint(8); + const losses: number = slice.loadUint(8); return { kind: 'ConfigProposalStatus', expires: expires, @@ -11211,7 +10586,6 @@ export function loadConfigProposalStatus(slice: Slice): ConfigProposalStatus { wins: wins, losses: losses, } - } throw new Error('Expected one of "ConfigProposalStatus" in loading "ConfigProposalStatus", but data does not satisfy any constructor'); } @@ -11220,7 +10594,7 @@ export function storeConfigProposalStatus(configProposalStatus: ConfigProposalSt return ((builder: Builder) => { builder.storeUint(0xce, 8); builder.storeUint(configProposalStatus.expires, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeConfigProposal(configProposalStatus.proposal)(cell1); builder.storeRef(cell1); storeBool(configProposalStatus.is_critical)(builder); @@ -11236,7 +10610,6 @@ export function storeConfigProposalStatus(configProposalStatus: ConfigProposalSt builder.storeUint(configProposalStatus.wins, 8); builder.storeUint(configProposalStatus.losses, 8); }) - } // wfmt_basic#1 vm_version:int32 vm_mode:uint64 = WorkchainFormat 1; @@ -11252,21 +10625,20 @@ wfmt_ext#0 min_addr_len:(## 12) max_addr_len:(## 12) addr_len_step:(## 12) export function loadWorkchainFormat(slice: Slice, arg0: number): WorkchainFormat { if (((slice.remainingBits >= 4) && ((slice.preloadUint(4) == 0x1) && (arg0 == 1)))) { slice.loadUint(4); - let vm_version: number = slice.loadInt(32); - let vm_mode: bigint = slice.loadUintBig(64); + const vm_version: number = slice.loadInt(32); + const vm_mode: bigint = slice.loadUintBig(64); return { kind: 'WorkchainFormat_wfmt_basic', vm_version: vm_version, vm_mode: vm_mode, } - } if (((slice.remainingBits >= 4) && ((slice.preloadUint(4) == 0x0) && (arg0 == 0)))) { slice.loadUint(4); - let min_addr_len: number = slice.loadUint(12); - let max_addr_len: number = slice.loadUint(12); - let addr_len_step: number = slice.loadUint(12); - let workchain_type_id: number = slice.loadUint(32); + const min_addr_len: number = slice.loadUint(12); + const max_addr_len: number = slice.loadUint(12); + const addr_len_step: number = slice.loadUint(12); + const workchain_type_id: number = slice.loadUint(32); if ((!(min_addr_len >= 64))) { throw new Error('Condition (min_addr_len >= 64) is not satisfied while loading "WorkchainFormat_wfmt_ext" for type "WorkchainFormat"'); } @@ -11289,7 +10661,6 @@ export function loadWorkchainFormat(slice: Slice, arg0: number): WorkchainFormat addr_len_step: addr_len_step, workchain_type_id: workchain_type_id, } - } throw new Error('Expected one of "WorkchainFormat_wfmt_basic", "WorkchainFormat_wfmt_ext" in loading "WorkchainFormat", but data does not satisfy any constructor'); } @@ -11301,7 +10672,6 @@ export function storeWorkchainFormat(workchainFormat: WorkchainFormat): (builder builder.storeInt(workchainFormat.vm_version, 32); builder.storeUint(workchainFormat.vm_mode, 64); }) - } if ((workchainFormat.kind == 'WorkchainFormat_wfmt_ext')) { return ((builder: Builder) => { @@ -11326,7 +10696,6 @@ export function storeWorkchainFormat(workchainFormat: WorkchainFormat): (builder throw new Error('Condition (workchainFormat.workchain_type_id >= 1) is not satisfied while loading "WorkchainFormat_wfmt_ext" for type "WorkchainFormat"'); } }) - } throw new Error('Expected one of "WorkchainFormat_wfmt_basic", "WorkchainFormat_wfmt_ext" in loading "WorkchainFormat", but data does not satisfy any constructor'); } @@ -11341,10 +10710,10 @@ wc_split_merge_timings#0 export function loadWcSplitMergeTimings(slice: Slice): WcSplitMergeTimings { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x0))) { slice.loadUint(4); - let split_merge_delay: number = slice.loadUint(32); - let split_merge_interval: number = slice.loadUint(32); - let min_split_merge_interval: number = slice.loadUint(32); - let max_split_merge_delay: number = slice.loadUint(32); + const split_merge_delay: number = slice.loadUint(32); + const split_merge_interval: number = slice.loadUint(32); + const min_split_merge_interval: number = slice.loadUint(32); + const max_split_merge_delay: number = slice.loadUint(32); return { kind: 'WcSplitMergeTimings', split_merge_delay: split_merge_delay, @@ -11352,7 +10721,6 @@ export function loadWcSplitMergeTimings(slice: Slice): WcSplitMergeTimings { min_split_merge_interval: min_split_merge_interval, max_split_merge_delay: max_split_merge_delay, } - } throw new Error('Expected one of "WcSplitMergeTimings" in loading "WcSplitMergeTimings", but data does not satisfy any constructor'); } @@ -11365,7 +10733,6 @@ export function storeWcSplitMergeTimings(wcSplitMergeTimings: WcSplitMergeTiming builder.storeUint(wcSplitMergeTimings.min_split_merge_interval, 32); builder.storeUint(wcSplitMergeTimings.max_split_merge_delay, 32); }) - } /* @@ -11390,18 +10757,18 @@ workchain_v2#a7 enabled_since:uint32 actual_min_split:(## 8) export function loadWorkchainDescr(slice: Slice): WorkchainDescr { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xa6))) { slice.loadUint(8); - let enabled_since: number = slice.loadUint(32); - let actual_min_split: number = slice.loadUint(8); - let min_split: number = slice.loadUint(8); - let max_split: number = slice.loadUint(8); - let basic: number = slice.loadUint(1); - let active: Bool = loadBool(slice); - let accept_msgs: Bool = loadBool(slice); - let flags: number = slice.loadUint(13); - let zerostate_root_hash: Buffer = slice.loadBuffer((256 / 8)); - let zerostate_file_hash: Buffer = slice.loadBuffer((256 / 8)); - let version: number = slice.loadUint(32); - let format: WorkchainFormat = loadWorkchainFormat(slice, basic); + const enabled_since: number = slice.loadUint(32); + const actual_min_split: number = slice.loadUint(8); + const min_split: number = slice.loadUint(8); + const max_split: number = slice.loadUint(8); + const basic: number = slice.loadUint(1); + const active: Bool = loadBool(slice); + const accept_msgs: Bool = loadBool(slice); + const flags: number = slice.loadUint(13); + const zerostate_root_hash: Buffer = slice.loadBuffer((256 / 8)); + const zerostate_file_hash: Buffer = slice.loadBuffer((256 / 8)); + const version: number = slice.loadUint(32); + const format: WorkchainFormat = loadWorkchainFormat(slice, basic); if ((!(actual_min_split <= min_split))) { throw new Error('Condition (actual_min_split <= min_split) is not satisfied while loading "WorkchainDescr_workchain" for type "WorkchainDescr"'); } @@ -11423,23 +10790,22 @@ export function loadWorkchainDescr(slice: Slice): WorkchainDescr { version: version, format: format, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xa7))) { slice.loadUint(8); - let enabled_since: number = slice.loadUint(32); - let actual_min_split: number = slice.loadUint(8); - let min_split: number = slice.loadUint(8); - let max_split: number = slice.loadUint(8); - let basic: number = slice.loadUint(1); - let active: Bool = loadBool(slice); - let accept_msgs: Bool = loadBool(slice); - let flags: number = slice.loadUint(13); - let zerostate_root_hash: Buffer = slice.loadBuffer((256 / 8)); - let zerostate_file_hash: Buffer = slice.loadBuffer((256 / 8)); - let version: number = slice.loadUint(32); - let format: WorkchainFormat = loadWorkchainFormat(slice, basic); - let split_merge_timings: WcSplitMergeTimings = loadWcSplitMergeTimings(slice); + const enabled_since: number = slice.loadUint(32); + const actual_min_split: number = slice.loadUint(8); + const min_split: number = slice.loadUint(8); + const max_split: number = slice.loadUint(8); + const basic: number = slice.loadUint(1); + const active: Bool = loadBool(slice); + const accept_msgs: Bool = loadBool(slice); + const flags: number = slice.loadUint(13); + const zerostate_root_hash: Buffer = slice.loadBuffer((256 / 8)); + const zerostate_file_hash: Buffer = slice.loadBuffer((256 / 8)); + const version: number = slice.loadUint(32); + const format: WorkchainFormat = loadWorkchainFormat(slice, basic); + const split_merge_timings: WcSplitMergeTimings = loadWcSplitMergeTimings(slice); if ((!(actual_min_split <= min_split))) { throw new Error('Condition (actual_min_split <= min_split) is not satisfied while loading "WorkchainDescr_workchain_v2" for type "WorkchainDescr"'); } @@ -11462,7 +10828,6 @@ export function loadWorkchainDescr(slice: Slice): WorkchainDescr { format: format, split_merge_timings: split_merge_timings, } - } throw new Error('Expected one of "WorkchainDescr_workchain", "WorkchainDescr_workchain_v2" in loading "WorkchainDescr", but data does not satisfy any constructor'); } @@ -11490,7 +10855,6 @@ export function storeWorkchainDescr(workchainDescr: WorkchainDescr): (builder: B throw new Error('Condition (workchainDescr.flags == 0) is not satisfied while loading "WorkchainDescr_workchain" for type "WorkchainDescr"'); } }) - } if ((workchainDescr.kind == 'WorkchainDescr_workchain_v2')) { return ((builder: Builder) => { @@ -11515,7 +10879,6 @@ export function storeWorkchainDescr(workchainDescr: WorkchainDescr): (builder: B throw new Error('Condition (workchainDescr.flags == 0) is not satisfied while loading "WorkchainDescr_workchain_v2" for type "WorkchainDescr"'); } }) - } throw new Error('Expected one of "WorkchainDescr_workchain", "WorkchainDescr_workchain_v2" in loading "WorkchainDescr", but data does not satisfy any constructor'); } @@ -11525,16 +10888,15 @@ export function storeWorkchainDescr(workchainDescr: WorkchainDescr): (builder: B export function loadComplaintPricing(slice: Slice): ComplaintPricing { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x1a))) { slice.loadUint(8); - let deposit: bigint = slice.loadCoins(); - let bit_price: bigint = slice.loadCoins(); - let _cell_price: bigint = slice.loadCoins(); + const deposit: bigint = slice.loadCoins(); + const bit_price: bigint = slice.loadCoins(); + const _cell_price: bigint = slice.loadCoins(); return { kind: 'ComplaintPricing', deposit: deposit, bit_price: bit_price, _cell_price: _cell_price, } - } throw new Error('Expected one of "ComplaintPricing" in loading "ComplaintPricing", but data does not satisfy any constructor'); } @@ -11546,7 +10908,6 @@ export function storeComplaintPricing(complaintPricing: ComplaintPricing): (buil builder.storeCoins(complaintPricing.bit_price); builder.storeCoins(complaintPricing._cell_price); }) - } /* @@ -11557,14 +10918,13 @@ block_grams_created#6b masterchain_block_fee:Grams basechain_block_fee:Grams export function loadBlockCreateFees(slice: Slice): BlockCreateFees { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x6b))) { slice.loadUint(8); - let masterchain_block_fee: bigint = slice.loadCoins(); - let basechain_block_fee: bigint = slice.loadCoins(); + const masterchain_block_fee: bigint = slice.loadCoins(); + const basechain_block_fee: bigint = slice.loadCoins(); return { kind: 'BlockCreateFees', masterchain_block_fee: masterchain_block_fee, basechain_block_fee: basechain_block_fee, } - } throw new Error('Expected one of "BlockCreateFees" in loading "BlockCreateFees", but data does not satisfy any constructor'); } @@ -11575,7 +10935,6 @@ export function storeBlockCreateFees(blockCreateFees: BlockCreateFees): (builder builder.storeCoins(blockCreateFees.masterchain_block_fee); builder.storeCoins(blockCreateFees.basechain_block_fee); }) - } /* @@ -11586,11 +10945,11 @@ _#cc utime_since:uint32 bit_price_ps:uint64 cell_price_ps:uint64 export function loadStoragePrices(slice: Slice): StoragePrices { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xcc))) { slice.loadUint(8); - let utime_since: number = slice.loadUint(32); - let bit_price_ps: bigint = slice.loadUintBig(64); - let _cell_price_ps: bigint = slice.loadUintBig(64); - let mc_bit_price_ps: bigint = slice.loadUintBig(64); - let mc_cell_price_ps: bigint = slice.loadUintBig(64); + const utime_since: number = slice.loadUint(32); + const bit_price_ps: bigint = slice.loadUintBig(64); + const _cell_price_ps: bigint = slice.loadUintBig(64); + const mc_bit_price_ps: bigint = slice.loadUintBig(64); + const mc_cell_price_ps: bigint = slice.loadUintBig(64); return { kind: 'StoragePrices', utime_since: utime_since, @@ -11599,7 +10958,6 @@ export function loadStoragePrices(slice: Slice): StoragePrices { mc_bit_price_ps: mc_bit_price_ps, mc_cell_price_ps: mc_cell_price_ps, } - } throw new Error('Expected one of "StoragePrices" in loading "StoragePrices", but data does not satisfy any constructor'); } @@ -11613,7 +10971,6 @@ export function storeStoragePrices(storagePrices: StoragePrices): (builder: Buil builder.storeUint(storagePrices.mc_bit_price_ps, 64); builder.storeUint(storagePrices.mc_cell_price_ps, 64); }) - } /* @@ -11636,12 +10993,12 @@ gas_flat_pfx#d1 flat_gas_limit:uint64 flat_gas_price:uint64 other:GasLimitsPrice export function loadGasLimitsPrices(slice: Slice): GasLimitsPrices { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xdd))) { slice.loadUint(8); - let gas_price: bigint = slice.loadUintBig(64); - let gas_limit: bigint = slice.loadUintBig(64); - let gas_credit: bigint = slice.loadUintBig(64); - let block_gas_limit: bigint = slice.loadUintBig(64); - let freeze_due_limit: bigint = slice.loadUintBig(64); - let delete_due_limit: bigint = slice.loadUintBig(64); + const gas_price: bigint = slice.loadUintBig(64); + const gas_limit: bigint = slice.loadUintBig(64); + const gas_credit: bigint = slice.loadUintBig(64); + const block_gas_limit: bigint = slice.loadUintBig(64); + const freeze_due_limit: bigint = slice.loadUintBig(64); + const delete_due_limit: bigint = slice.loadUintBig(64); return { kind: 'GasLimitsPrices_gas_prices', gas_price: gas_price, @@ -11651,17 +11008,16 @@ export function loadGasLimitsPrices(slice: Slice): GasLimitsPrices { freeze_due_limit: freeze_due_limit, delete_due_limit: delete_due_limit, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xde))) { slice.loadUint(8); - let gas_price: bigint = slice.loadUintBig(64); - let gas_limit: bigint = slice.loadUintBig(64); - let special_gas_limit: bigint = slice.loadUintBig(64); - let gas_credit: bigint = slice.loadUintBig(64); - let block_gas_limit: bigint = slice.loadUintBig(64); - let freeze_due_limit: bigint = slice.loadUintBig(64); - let delete_due_limit: bigint = slice.loadUintBig(64); + const gas_price: bigint = slice.loadUintBig(64); + const gas_limit: bigint = slice.loadUintBig(64); + const special_gas_limit: bigint = slice.loadUintBig(64); + const gas_credit: bigint = slice.loadUintBig(64); + const block_gas_limit: bigint = slice.loadUintBig(64); + const freeze_due_limit: bigint = slice.loadUintBig(64); + const delete_due_limit: bigint = slice.loadUintBig(64); return { kind: 'GasLimitsPrices_gas_prices_ext', gas_price: gas_price, @@ -11672,20 +11028,18 @@ export function loadGasLimitsPrices(slice: Slice): GasLimitsPrices { freeze_due_limit: freeze_due_limit, delete_due_limit: delete_due_limit, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xd1))) { slice.loadUint(8); - let flat_gas_limit: bigint = slice.loadUintBig(64); - let flat_gas_price: bigint = slice.loadUintBig(64); - let other: GasLimitsPrices = loadGasLimitsPrices(slice); + const flat_gas_limit: bigint = slice.loadUintBig(64); + const flat_gas_price: bigint = slice.loadUintBig(64); + const other: GasLimitsPrices = loadGasLimitsPrices(slice); return { kind: 'GasLimitsPrices_gas_flat_pfx', flat_gas_limit: flat_gas_limit, flat_gas_price: flat_gas_price, other: other, } - } throw new Error('Expected one of "GasLimitsPrices_gas_prices", "GasLimitsPrices_gas_prices_ext", "GasLimitsPrices_gas_flat_pfx" in loading "GasLimitsPrices", but data does not satisfy any constructor'); } @@ -11701,7 +11055,6 @@ export function storeGasLimitsPrices(gasLimitsPrices: GasLimitsPrices): (builder builder.storeUint(gasLimitsPrices.freeze_due_limit, 64); builder.storeUint(gasLimitsPrices.delete_due_limit, 64); }) - } if ((gasLimitsPrices.kind == 'GasLimitsPrices_gas_prices_ext')) { return ((builder: Builder) => { @@ -11714,7 +11067,6 @@ export function storeGasLimitsPrices(gasLimitsPrices: GasLimitsPrices): (builder builder.storeUint(gasLimitsPrices.freeze_due_limit, 64); builder.storeUint(gasLimitsPrices.delete_due_limit, 64); }) - } if ((gasLimitsPrices.kind == 'GasLimitsPrices_gas_flat_pfx')) { return ((builder: Builder) => { @@ -11723,7 +11075,6 @@ export function storeGasLimitsPrices(gasLimitsPrices: GasLimitsPrices): (builder builder.storeUint(gasLimitsPrices.flat_gas_price, 64); storeGasLimitsPrices(gasLimitsPrices.other)(builder); }) - } throw new Error('Expected one of "GasLimitsPrices_gas_prices", "GasLimitsPrices_gas_prices_ext", "GasLimitsPrices_gas_flat_pfx" in loading "GasLimitsPrices", but data does not satisfy any constructor'); } @@ -11736,9 +11087,9 @@ param_limits#c3 underload:# soft_limit:# { underload <= soft_limit } export function loadParamLimits(slice: Slice): ParamLimits { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xc3))) { slice.loadUint(8); - let underload: number = slice.loadUint(32); - let soft_limit: number = slice.loadUint(32); - let hard_limit: number = slice.loadUint(32); + const underload: number = slice.loadUint(32); + const soft_limit: number = slice.loadUint(32); + const hard_limit: number = slice.loadUint(32); if ((!(underload <= soft_limit))) { throw new Error('Condition (underload <= soft_limit) is not satisfied while loading "ParamLimits" for type "ParamLimits"'); } @@ -11751,7 +11102,6 @@ export function loadParamLimits(slice: Slice): ParamLimits { soft_limit: soft_limit, hard_limit: hard_limit, } - } throw new Error('Expected one of "ParamLimits" in loading "ParamLimits", but data does not satisfy any constructor'); } @@ -11769,7 +11119,6 @@ export function storeParamLimits(paramLimits: ParamLimits): (builder: Builder) = throw new Error('Condition (paramLimits.soft_limit <= paramLimits.hard_limit) is not satisfied while loading "ParamLimits" for type "ParamLimits"'); } }) - } /* @@ -11780,16 +11129,15 @@ block_limits#5d bytes:ParamLimits gas:ParamLimits lt_delta:ParamLimits export function loadBlockLimits(slice: Slice): BlockLimits { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x5d))) { slice.loadUint(8); - let bytes: ParamLimits = loadParamLimits(slice); - let gas: ParamLimits = loadParamLimits(slice); - let lt_delta: ParamLimits = loadParamLimits(slice); + const bytes: ParamLimits = loadParamLimits(slice); + const gas: ParamLimits = loadParamLimits(slice); + const lt_delta: ParamLimits = loadParamLimits(slice); return { kind: 'BlockLimits', bytes: bytes, gas: gas, lt_delta: lt_delta, } - } throw new Error('Expected one of "BlockLimits" in loading "BlockLimits", but data does not satisfy any constructor'); } @@ -11801,7 +11149,6 @@ export function storeBlockLimits(blockLimits: BlockLimits): (builder: Builder) = storeParamLimits(blockLimits.gas)(builder); storeParamLimits(blockLimits.lt_delta)(builder); }) - } /* @@ -11812,12 +11159,12 @@ msg_forward_prices#ea lump_price:uint64 bit_price:uint64 cell_price:uint64 export function loadMsgForwardPrices(slice: Slice): MsgForwardPrices { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xea))) { slice.loadUint(8); - let lump_price: bigint = slice.loadUintBig(64); - let bit_price: bigint = slice.loadUintBig(64); - let _cell_price: bigint = slice.loadUintBig(64); - let ihr_price_factor: number = slice.loadUint(32); - let first_frac: number = slice.loadUint(16); - let next_frac: number = slice.loadUint(16); + const lump_price: bigint = slice.loadUintBig(64); + const bit_price: bigint = slice.loadUintBig(64); + const _cell_price: bigint = slice.loadUintBig(64); + const ihr_price_factor: number = slice.loadUint(32); + const first_frac: number = slice.loadUint(16); + const next_frac: number = slice.loadUint(16); return { kind: 'MsgForwardPrices', lump_price: lump_price, @@ -11827,7 +11174,6 @@ export function loadMsgForwardPrices(slice: Slice): MsgForwardPrices { first_frac: first_frac, next_frac: next_frac, } - } throw new Error('Expected one of "MsgForwardPrices" in loading "MsgForwardPrices", but data does not satisfy any constructor'); } @@ -11842,7 +11188,6 @@ export function storeMsgForwardPrices(msgForwardPrices: MsgForwardPrices): (buil builder.storeUint(msgForwardPrices.first_frac, 16); builder.storeUint(msgForwardPrices.next_frac, 16); }) - } /* @@ -11859,10 +11204,10 @@ catchain_config_new#c2 flags:(## 7) { flags = 0 } shuffle_mc_validators:Bool export function loadCatchainConfig(slice: Slice): CatchainConfig { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xc1))) { slice.loadUint(8); - let mc_catchain_lifetime: number = slice.loadUint(32); - let shard_catchain_lifetime: number = slice.loadUint(32); - let shard_validators_lifetime: number = slice.loadUint(32); - let shard_validators_num: number = slice.loadUint(32); + const mc_catchain_lifetime: number = slice.loadUint(32); + const shard_catchain_lifetime: number = slice.loadUint(32); + const shard_validators_lifetime: number = slice.loadUint(32); + const shard_validators_num: number = slice.loadUint(32); return { kind: 'CatchainConfig_catchain_config', mc_catchain_lifetime: mc_catchain_lifetime, @@ -11870,16 +11215,15 @@ export function loadCatchainConfig(slice: Slice): CatchainConfig { shard_validators_lifetime: shard_validators_lifetime, shard_validators_num: shard_validators_num, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xc2))) { slice.loadUint(8); - let flags: number = slice.loadUint(7); - let shuffle_mc_validators: Bool = loadBool(slice); - let mc_catchain_lifetime: number = slice.loadUint(32); - let shard_catchain_lifetime: number = slice.loadUint(32); - let shard_validators_lifetime: number = slice.loadUint(32); - let shard_validators_num: number = slice.loadUint(32); + const flags: number = slice.loadUint(7); + const shuffle_mc_validators: Bool = loadBool(slice); + const mc_catchain_lifetime: number = slice.loadUint(32); + const shard_catchain_lifetime: number = slice.loadUint(32); + const shard_validators_lifetime: number = slice.loadUint(32); + const shard_validators_num: number = slice.loadUint(32); if ((!(flags == 0))) { throw new Error('Condition (flags == 0) is not satisfied while loading "CatchainConfig_catchain_config_new" for type "CatchainConfig"'); } @@ -11892,7 +11236,6 @@ export function loadCatchainConfig(slice: Slice): CatchainConfig { shard_validators_lifetime: shard_validators_lifetime, shard_validators_num: shard_validators_num, } - } throw new Error('Expected one of "CatchainConfig_catchain_config", "CatchainConfig_catchain_config_new" in loading "CatchainConfig", but data does not satisfy any constructor'); } @@ -11906,7 +11249,6 @@ export function storeCatchainConfig(catchainConfig: CatchainConfig): (builder: B builder.storeUint(catchainConfig.shard_validators_lifetime, 32); builder.storeUint(catchainConfig.shard_validators_num, 32); }) - } if ((catchainConfig.kind == 'CatchainConfig_catchain_config_new')) { return ((builder: Builder) => { @@ -11921,7 +11263,6 @@ export function storeCatchainConfig(catchainConfig: CatchainConfig): (builder: B throw new Error('Condition (catchainConfig.flags == 0) is not satisfied while loading "CatchainConfig_catchain_config_new" for type "CatchainConfig"'); } }) - } throw new Error('Expected one of "CatchainConfig_catchain_config", "CatchainConfig_catchain_config_new" in loading "CatchainConfig", but data does not satisfy any constructor'); } @@ -11962,14 +11303,14 @@ consensus_config_v4#d9 flags:(## 7) { flags = 0 } new_catchain_ids:Bool export function loadConsensusConfig(slice: Slice): ConsensusConfig { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xd6))) { slice.loadUint(8); - let round_candidates: number = slice.loadUint(32); - let next_candidate_delay_ms: number = slice.loadUint(32); - let consensus_timeout_ms: number = slice.loadUint(32); - let fast_attempts: number = slice.loadUint(32); - let attempt_duration: number = slice.loadUint(32); - let catchain_max_deps: number = slice.loadUint(32); - let max_block_bytes: number = slice.loadUint(32); - let max_collated_bytes: number = slice.loadUint(32); + const round_candidates: number = slice.loadUint(32); + const next_candidate_delay_ms: number = slice.loadUint(32); + const consensus_timeout_ms: number = slice.loadUint(32); + const fast_attempts: number = slice.loadUint(32); + const attempt_duration: number = slice.loadUint(32); + const catchain_max_deps: number = slice.loadUint(32); + const max_block_bytes: number = slice.loadUint(32); + const max_collated_bytes: number = slice.loadUint(32); if ((!(round_candidates >= 1))) { throw new Error('Condition (round_candidates >= 1) is not satisfied while loading "ConsensusConfig_consensus_config" for type "ConsensusConfig"'); } @@ -11984,20 +11325,19 @@ export function loadConsensusConfig(slice: Slice): ConsensusConfig { max_block_bytes: max_block_bytes, max_collated_bytes: max_collated_bytes, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xd7))) { slice.loadUint(8); - let flags: number = slice.loadUint(7); - let new_catchain_ids: Bool = loadBool(slice); - let round_candidates: number = slice.loadUint(8); - let next_candidate_delay_ms: number = slice.loadUint(32); - let consensus_timeout_ms: number = slice.loadUint(32); - let fast_attempts: number = slice.loadUint(32); - let attempt_duration: number = slice.loadUint(32); - let catchain_max_deps: number = slice.loadUint(32); - let max_block_bytes: number = slice.loadUint(32); - let max_collated_bytes: number = slice.loadUint(32); + const flags: number = slice.loadUint(7); + const new_catchain_ids: Bool = loadBool(slice); + const round_candidates: number = slice.loadUint(8); + const next_candidate_delay_ms: number = slice.loadUint(32); + const consensus_timeout_ms: number = slice.loadUint(32); + const fast_attempts: number = slice.loadUint(32); + const attempt_duration: number = slice.loadUint(32); + const catchain_max_deps: number = slice.loadUint(32); + const max_block_bytes: number = slice.loadUint(32); + const max_collated_bytes: number = slice.loadUint(32); if ((!(flags == 0))) { throw new Error('Condition (flags == 0) is not satisfied while loading "ConsensusConfig_consensus_config_new" for type "ConsensusConfig"'); } @@ -12017,21 +11357,20 @@ export function loadConsensusConfig(slice: Slice): ConsensusConfig { max_block_bytes: max_block_bytes, max_collated_bytes: max_collated_bytes, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xd8))) { slice.loadUint(8); - let flags: number = slice.loadUint(7); - let new_catchain_ids: Bool = loadBool(slice); - let round_candidates: number = slice.loadUint(8); - let next_candidate_delay_ms: number = slice.loadUint(32); - let consensus_timeout_ms: number = slice.loadUint(32); - let fast_attempts: number = slice.loadUint(32); - let attempt_duration: number = slice.loadUint(32); - let catchain_max_deps: number = slice.loadUint(32); - let max_block_bytes: number = slice.loadUint(32); - let max_collated_bytes: number = slice.loadUint(32); - let proto_version: number = slice.loadUint(16); + const flags: number = slice.loadUint(7); + const new_catchain_ids: Bool = loadBool(slice); + const round_candidates: number = slice.loadUint(8); + const next_candidate_delay_ms: number = slice.loadUint(32); + const consensus_timeout_ms: number = slice.loadUint(32); + const fast_attempts: number = slice.loadUint(32); + const attempt_duration: number = slice.loadUint(32); + const catchain_max_deps: number = slice.loadUint(32); + const max_block_bytes: number = slice.loadUint(32); + const max_collated_bytes: number = slice.loadUint(32); + const proto_version: number = slice.loadUint(16); if ((!(flags == 0))) { throw new Error('Condition (flags == 0) is not satisfied while loading "ConsensusConfig_consensus_config_v3" for type "ConsensusConfig"'); } @@ -12052,22 +11391,21 @@ export function loadConsensusConfig(slice: Slice): ConsensusConfig { max_collated_bytes: max_collated_bytes, proto_version: proto_version, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xd9))) { slice.loadUint(8); - let flags: number = slice.loadUint(7); - let new_catchain_ids: Bool = loadBool(slice); - let round_candidates: number = slice.loadUint(8); - let next_candidate_delay_ms: number = slice.loadUint(32); - let consensus_timeout_ms: number = slice.loadUint(32); - let fast_attempts: number = slice.loadUint(32); - let attempt_duration: number = slice.loadUint(32); - let catchain_max_deps: number = slice.loadUint(32); - let max_block_bytes: number = slice.loadUint(32); - let max_collated_bytes: number = slice.loadUint(32); - let proto_version: number = slice.loadUint(16); - let catchain_max_blocks_coeff: number = slice.loadUint(32); + const flags: number = slice.loadUint(7); + const new_catchain_ids: Bool = loadBool(slice); + const round_candidates: number = slice.loadUint(8); + const next_candidate_delay_ms: number = slice.loadUint(32); + const consensus_timeout_ms: number = slice.loadUint(32); + const fast_attempts: number = slice.loadUint(32); + const attempt_duration: number = slice.loadUint(32); + const catchain_max_deps: number = slice.loadUint(32); + const max_block_bytes: number = slice.loadUint(32); + const max_collated_bytes: number = slice.loadUint(32); + const proto_version: number = slice.loadUint(16); + const catchain_max_blocks_coeff: number = slice.loadUint(32); if ((!(flags == 0))) { throw new Error('Condition (flags == 0) is not satisfied while loading "ConsensusConfig_consensus_config_v4" for type "ConsensusConfig"'); } @@ -12089,7 +11427,6 @@ export function loadConsensusConfig(slice: Slice): ConsensusConfig { proto_version: proto_version, catchain_max_blocks_coeff: catchain_max_blocks_coeff, } - } throw new Error('Expected one of "ConsensusConfig_consensus_config", "ConsensusConfig_consensus_config_new", "ConsensusConfig_consensus_config_v3", "ConsensusConfig_consensus_config_v4" in loading "ConsensusConfig", but data does not satisfy any constructor'); } @@ -12110,7 +11447,6 @@ export function storeConsensusConfig(consensusConfig: ConsensusConfig): (builder throw new Error('Condition (consensusConfig.round_candidates >= 1) is not satisfied while loading "ConsensusConfig_consensus_config" for type "ConsensusConfig"'); } }) - } if ((consensusConfig.kind == 'ConsensusConfig_consensus_config_new')) { return ((builder: Builder) => { @@ -12132,7 +11468,6 @@ export function storeConsensusConfig(consensusConfig: ConsensusConfig): (builder throw new Error('Condition (consensusConfig.round_candidates >= 1) is not satisfied while loading "ConsensusConfig_consensus_config_new" for type "ConsensusConfig"'); } }) - } if ((consensusConfig.kind == 'ConsensusConfig_consensus_config_v3')) { return ((builder: Builder) => { @@ -12155,7 +11490,6 @@ export function storeConsensusConfig(consensusConfig: ConsensusConfig): (builder throw new Error('Condition (consensusConfig.round_candidates >= 1) is not satisfied while loading "ConsensusConfig_consensus_config_v3" for type "ConsensusConfig"'); } }) - } if ((consensusConfig.kind == 'ConsensusConfig_consensus_config_v4')) { return ((builder: Builder) => { @@ -12179,7 +11513,6 @@ export function storeConsensusConfig(consensusConfig: ConsensusConfig): (builder throw new Error('Condition (consensusConfig.round_candidates >= 1) is not satisfied while loading "ConsensusConfig_consensus_config_v4" for type "ConsensusConfig"'); } }) - } throw new Error('Expected one of "ConsensusConfig_consensus_config", "ConsensusConfig_consensus_config_new", "ConsensusConfig_consensus_config_v3", "ConsensusConfig_consensus_config_v4" in loading "ConsensusConfig", but data does not satisfy any constructor'); } @@ -12189,10 +11522,10 @@ export function storeConsensusConfig(consensusConfig: ConsensusConfig): (builder export function loadValidatorTempKey(slice: Slice): ValidatorTempKey { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x3))) { slice.loadUint(4); - let adnl_addr: Buffer = slice.loadBuffer((256 / 8)); - let temp_public_key: SigPubKey = loadSigPubKey(slice); - let seqno: number = slice.loadUint(32); - let valid_until: number = slice.loadUint(32); + const adnl_addr: Buffer = slice.loadBuffer((256 / 8)); + const temp_public_key: SigPubKey = loadSigPubKey(slice); + const seqno: number = slice.loadUint(32); + const valid_until: number = slice.loadUint(32); return { kind: 'ValidatorTempKey', adnl_addr: adnl_addr, @@ -12200,7 +11533,6 @@ export function loadValidatorTempKey(slice: Slice): ValidatorTempKey { seqno: seqno, valid_until: valid_until, } - } throw new Error('Expected one of "ValidatorTempKey" in loading "ValidatorTempKey", but data does not satisfy any constructor'); } @@ -12213,7 +11545,6 @@ export function storeValidatorTempKey(validatorTempKey: ValidatorTempKey): (buil builder.storeUint(validatorTempKey.seqno, 32); builder.storeUint(validatorTempKey.valid_until, 32); }) - } // signed_temp_key#4 key:^ValidatorTempKey signature:CryptoSignature = ValidatorSignedTempKey; @@ -12221,15 +11552,14 @@ export function storeValidatorTempKey(validatorTempKey: ValidatorTempKey): (buil export function loadValidatorSignedTempKey(slice: Slice): ValidatorSignedTempKey { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0x4))) { slice.loadUint(4); - let slice1 = slice.loadRef().beginParse(true); - let key: ValidatorTempKey = loadValidatorTempKey(slice1); - let signature: CryptoSignature = loadCryptoSignature(slice); + const slice1 = slice.loadRef().beginParse(true); + const key: ValidatorTempKey = loadValidatorTempKey(slice1); + const signature: CryptoSignature = loadCryptoSignature(slice); return { kind: 'ValidatorSignedTempKey', key: key, signature: signature, } - } throw new Error('Expected one of "ValidatorSignedTempKey" in loading "ValidatorSignedTempKey", but data does not satisfy any constructor'); } @@ -12237,12 +11567,11 @@ export function loadValidatorSignedTempKey(slice: Slice): ValidatorSignedTempKey export function storeValidatorSignedTempKey(validatorSignedTempKey: ValidatorSignedTempKey): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0x4, 4); - let cell1 = beginCell(); + const cell1 = beginCell(); storeValidatorTempKey(validatorSignedTempKey.key)(cell1); builder.storeRef(cell1); storeCryptoSignature(validatorSignedTempKey.signature)(builder); }) - } /* @@ -12258,17 +11587,17 @@ misbehaviour_punishment_config_v1#01 export function loadMisbehaviourPunishmentConfig(slice: Slice): MisbehaviourPunishmentConfig { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x01))) { slice.loadUint(8); - let default_flat_fine: bigint = slice.loadCoins(); - let default_proportional_fine: number = slice.loadUint(32); - let severity_flat_mult: number = slice.loadUint(16); - let severity_proportional_mult: number = slice.loadUint(16); - let unpunishable_interval: number = slice.loadUint(16); - let long_interval: number = slice.loadUint(16); - let long_flat_mult: number = slice.loadUint(16); - let long_proportional_mult: number = slice.loadUint(16); - let medium_interval: number = slice.loadUint(16); - let medium_flat_mult: number = slice.loadUint(16); - let medium_proportional_mult: number = slice.loadUint(16); + const default_flat_fine: bigint = slice.loadCoins(); + const default_proportional_fine: number = slice.loadUint(32); + const severity_flat_mult: number = slice.loadUint(16); + const severity_proportional_mult: number = slice.loadUint(16); + const unpunishable_interval: number = slice.loadUint(16); + const long_interval: number = slice.loadUint(16); + const long_flat_mult: number = slice.loadUint(16); + const long_proportional_mult: number = slice.loadUint(16); + const medium_interval: number = slice.loadUint(16); + const medium_flat_mult: number = slice.loadUint(16); + const medium_proportional_mult: number = slice.loadUint(16); return { kind: 'MisbehaviourPunishmentConfig', default_flat_fine: default_flat_fine, @@ -12283,7 +11612,6 @@ export function loadMisbehaviourPunishmentConfig(slice: Slice): MisbehaviourPuni medium_flat_mult: medium_flat_mult, medium_proportional_mult: medium_proportional_mult, } - } throw new Error('Expected one of "MisbehaviourPunishmentConfig" in loading "MisbehaviourPunishmentConfig", but data does not satisfy any constructor'); } @@ -12303,7 +11631,6 @@ export function storeMisbehaviourPunishmentConfig(misbehaviourPunishmentConfig: builder.storeUint(misbehaviourPunishmentConfig.medium_flat_mult, 16); builder.storeUint(misbehaviourPunishmentConfig.medium_proportional_mult, 16); }) - } /* @@ -12320,12 +11647,12 @@ size_limits_config_v2#02 max_msg_bits:uint32 max_msg_cells:uint32 max_library_ce export function loadSizeLimitsConfig(slice: Slice): SizeLimitsConfig { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x01))) { slice.loadUint(8); - let max_msg_bits: number = slice.loadUint(32); - let max_msg_cells: number = slice.loadUint(32); - let max_library_cells: number = slice.loadUint(32); - let max_vm_data_depth: number = slice.loadUint(16); - let max_ext_msg_size: number = slice.loadUint(32); - let max_ext_msg_depth: number = slice.loadUint(16); + const max_msg_bits: number = slice.loadUint(32); + const max_msg_cells: number = slice.loadUint(32); + const max_library_cells: number = slice.loadUint(32); + const max_vm_data_depth: number = slice.loadUint(16); + const max_ext_msg_size: number = slice.loadUint(32); + const max_ext_msg_depth: number = slice.loadUint(16); return { kind: 'SizeLimitsConfig_size_limits_config', max_msg_bits: max_msg_bits, @@ -12335,19 +11662,18 @@ export function loadSizeLimitsConfig(slice: Slice): SizeLimitsConfig { max_ext_msg_size: max_ext_msg_size, max_ext_msg_depth: max_ext_msg_depth, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x02))) { slice.loadUint(8); - let max_msg_bits: number = slice.loadUint(32); - let max_msg_cells: number = slice.loadUint(32); - let max_library_cells: number = slice.loadUint(32); - let max_vm_data_depth: number = slice.loadUint(16); - let max_ext_msg_size: number = slice.loadUint(32); - let max_ext_msg_depth: number = slice.loadUint(16); - let max_acc_state_cells: number = slice.loadUint(32); - let max_acc_state_bits: number = slice.loadUint(32); - let max_acc_public_libraries: number = slice.loadUint(32); + const max_msg_bits: number = slice.loadUint(32); + const max_msg_cells: number = slice.loadUint(32); + const max_library_cells: number = slice.loadUint(32); + const max_vm_data_depth: number = slice.loadUint(16); + const max_ext_msg_size: number = slice.loadUint(32); + const max_ext_msg_depth: number = slice.loadUint(16); + const max_acc_state_cells: number = slice.loadUint(32); + const max_acc_state_bits: number = slice.loadUint(32); + const max_acc_public_libraries: number = slice.loadUint(32); return { kind: 'SizeLimitsConfig_size_limits_config_v2', max_msg_bits: max_msg_bits, @@ -12360,7 +11686,6 @@ export function loadSizeLimitsConfig(slice: Slice): SizeLimitsConfig { max_acc_state_bits: max_acc_state_bits, max_acc_public_libraries: max_acc_public_libraries, } - } throw new Error('Expected one of "SizeLimitsConfig_size_limits_config", "SizeLimitsConfig_size_limits_config_v2" in loading "SizeLimitsConfig", but data does not satisfy any constructor'); } @@ -12376,7 +11701,6 @@ export function storeSizeLimitsConfig(sizeLimitsConfig: SizeLimitsConfig): (buil builder.storeUint(sizeLimitsConfig.max_ext_msg_size, 32); builder.storeUint(sizeLimitsConfig.max_ext_msg_depth, 16); }) - } if ((sizeLimitsConfig.kind == 'SizeLimitsConfig_size_limits_config_v2')) { return ((builder: Builder) => { @@ -12391,7 +11715,6 @@ export function storeSizeLimitsConfig(sizeLimitsConfig: SizeLimitsConfig): (buil builder.storeUint(sizeLimitsConfig.max_acc_state_bits, 32); builder.storeUint(sizeLimitsConfig.max_acc_public_libraries, 32); }) - } throw new Error('Expected one of "SizeLimitsConfig_size_limits_config", "SizeLimitsConfig_size_limits_config_v2" in loading "SizeLimitsConfig", but data does not satisfy any constructor'); } @@ -12401,17 +11724,16 @@ export function storeSizeLimitsConfig(sizeLimitsConfig: SizeLimitsConfig): (buil export function loadSuspendedAddressList(slice: Slice): SuspendedAddressList { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x00))) { slice.loadUint(8); - let addresses: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(288), { + const addresses: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(288), { serialize: () => { throw new Error('Not implemented') }, parse: loadUnit, }, slice); - let suspended_until: number = slice.loadUint(32); + const suspended_until: number = slice.loadUint(32); return { kind: 'SuspendedAddressList', addresses: addresses, suspended_until: suspended_until, } - } throw new Error('Expected one of "SuspendedAddressList" in loading "SuspendedAddressList", but data does not satisfy any constructor'); } @@ -12427,22 +11749,20 @@ export function storeSuspendedAddressList(suspendedAddressList: SuspendedAddress }); builder.storeUint(suspendedAddressList.suspended_until, 32); }) - } // oracle_bridge_params#_ bridge_address:bits256 oracle_mutlisig_address:bits256 oracles:(HashmapE 256 uint256) external_chain_address:bits256 = OracleBridgeParams; export function loadOracleBridgeParams(slice: Slice): OracleBridgeParams { - let bridge_address: Buffer = slice.loadBuffer((256 / 8)); - let oracle_mutlisig_address: Buffer = slice.loadBuffer((256 / 8)); - let oracles: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const bridge_address: Buffer = slice.loadBuffer((256 / 8)); + const oracle_mutlisig_address: Buffer = slice.loadBuffer((256 / 8)); + const oracles: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadUintBig(256) - }), }, slice); - let external_chain_address: Buffer = slice.loadBuffer((256 / 8)); + const external_chain_address: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'OracleBridgeParams', bridge_address: bridge_address, @@ -12450,7 +11770,6 @@ export function loadOracleBridgeParams(slice: Slice): OracleBridgeParams { oracles: oracles, external_chain_address: external_chain_address, } - } export function storeOracleBridgeParams(oracleBridgeParams: OracleBridgeParams): (builder: Builder) => void { @@ -12463,14 +11782,12 @@ export function storeOracleBridgeParams(oracleBridgeParams: OracleBridgeParams): return ((builder: Builder) => { builder.storeUint(arg, 256); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); builder.storeBuffer(oracleBridgeParams.external_chain_address, (256 / 8)); }) - } /* @@ -12482,12 +11799,12 @@ jetton_bridge_prices#_ bridge_burn_fee:Coins bridge_mint_fee:Coins */ export function loadJettonBridgePrices(slice: Slice): JettonBridgePrices { - let bridge_burn_fee: bigint = slice.loadCoins(); - let bridge_mint_fee: bigint = slice.loadCoins(); - let wallet_min_tons_for_storage: bigint = slice.loadCoins(); - let wallet_gas_consumption: bigint = slice.loadCoins(); - let minter_min_tons_for_storage: bigint = slice.loadCoins(); - let discover_gas_consumption: bigint = slice.loadCoins(); + const bridge_burn_fee: bigint = slice.loadCoins(); + const bridge_mint_fee: bigint = slice.loadCoins(); + const wallet_min_tons_for_storage: bigint = slice.loadCoins(); + const wallet_gas_consumption: bigint = slice.loadCoins(); + const minter_min_tons_for_storage: bigint = slice.loadCoins(); + const discover_gas_consumption: bigint = slice.loadCoins(); return { kind: 'JettonBridgePrices', bridge_burn_fee: bridge_burn_fee, @@ -12497,7 +11814,6 @@ export function loadJettonBridgePrices(slice: Slice): JettonBridgePrices { minter_min_tons_for_storage: minter_min_tons_for_storage, discover_gas_consumption: discover_gas_consumption, } - } export function storeJettonBridgePrices(jettonBridgePrices: JettonBridgePrices): (builder: Builder) => void { @@ -12509,7 +11825,6 @@ export function storeJettonBridgePrices(jettonBridgePrices: JettonBridgePrices): builder.storeCoins(jettonBridgePrices.minter_min_tons_for_storage); builder.storeCoins(jettonBridgePrices.discover_gas_consumption); }) - } // jetton_bridge_params_v0#00 bridge_address:bits256 oracles_address:bits256 oracles:(HashmapE 256 uint256) state_flags:uint8 burn_bridge_fee:Coins = JettonBridgeParams; @@ -12519,17 +11834,16 @@ export function storeJettonBridgePrices(jettonBridgePrices: JettonBridgePrices): export function loadJettonBridgeParams(slice: Slice): JettonBridgeParams { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x00))) { slice.loadUint(8); - let bridge_address: Buffer = slice.loadBuffer((256 / 8)); - let oracles_address: Buffer = slice.loadBuffer((256 / 8)); - let oracles: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const bridge_address: Buffer = slice.loadBuffer((256 / 8)); + const oracles_address: Buffer = slice.loadBuffer((256 / 8)); + const oracles: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadUintBig(256) - }), }, slice); - let state_flags: number = slice.loadUint(8); - let burn_bridge_fee: bigint = slice.loadCoins(); + const state_flags: number = slice.loadUint(8); + const burn_bridge_fee: bigint = slice.loadCoins(); return { kind: 'JettonBridgeParams_jetton_bridge_params_v0', bridge_address: bridge_address, @@ -12538,23 +11852,21 @@ export function loadJettonBridgeParams(slice: Slice): JettonBridgeParams { state_flags: state_flags, burn_bridge_fee: burn_bridge_fee, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x01))) { slice.loadUint(8); - let bridge_address: Buffer = slice.loadBuffer((256 / 8)); - let oracles_address: Buffer = slice.loadBuffer((256 / 8)); - let oracles: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const bridge_address: Buffer = slice.loadBuffer((256 / 8)); + const oracles_address: Buffer = slice.loadBuffer((256 / 8)); + const oracles: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadUintBig(256) - }), }, slice); - let state_flags: number = slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let prices: JettonBridgePrices = loadJettonBridgePrices(slice1); - let external_chain_address: Buffer = slice.loadBuffer((256 / 8)); + const state_flags: number = slice.loadUint(8); + const slice1 = slice.loadRef().beginParse(true); + const prices: JettonBridgePrices = loadJettonBridgePrices(slice1); + const external_chain_address: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'JettonBridgeParams_jetton_bridge_params_v1', bridge_address: bridge_address, @@ -12564,7 +11876,6 @@ export function loadJettonBridgeParams(slice: Slice): JettonBridgeParams { prices: prices, external_chain_address: external_chain_address, } - } throw new Error('Expected one of "JettonBridgeParams_jetton_bridge_params_v0", "JettonBridgeParams_jetton_bridge_params_v1" in loading "JettonBridgeParams", but data does not satisfy any constructor'); } @@ -12581,7 +11892,6 @@ export function storeJettonBridgeParams(jettonBridgeParams: JettonBridgeParams): return ((builder: Builder) => { builder.storeUint(arg, 256); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, @@ -12589,7 +11899,6 @@ export function storeJettonBridgeParams(jettonBridgeParams: JettonBridgeParams): builder.storeUint(jettonBridgeParams.state_flags, 8); builder.storeCoins(jettonBridgeParams.burn_bridge_fee); }) - } if ((jettonBridgeParams.kind == 'JettonBridgeParams_jetton_bridge_params_v1')) { return ((builder: Builder) => { @@ -12602,18 +11911,16 @@ export function storeJettonBridgeParams(jettonBridgeParams: JettonBridgeParams): return ((builder: Builder) => { builder.storeUint(arg, 256); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); builder.storeUint(jettonBridgeParams.state_flags, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); storeJettonBridgePrices(jettonBridgeParams.prices)(cell1); builder.storeRef(cell1); builder.storeBuffer(jettonBridgeParams.external_chain_address, (256 / 8)); }) - } throw new Error('Expected one of "JettonBridgeParams_jetton_bridge_params_v0", "JettonBridgeParams_jetton_bridge_params_v1" in loading "JettonBridgeParams", but data does not satisfy any constructor'); } @@ -12624,9 +11931,9 @@ block_signatures_pure#_ sig_count:uint32 sig_weight:uint64 */ export function loadBlockSignaturesPure(slice: Slice): BlockSignaturesPure { - let sig_count: number = slice.loadUint(32); - let sig_weight: bigint = slice.loadUintBig(64); - let signatures: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { + const sig_count: number = slice.loadUint(32); + const sig_weight: bigint = slice.loadUintBig(64); + const signatures: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: loadCryptoSignaturePair, }, slice); @@ -12636,7 +11943,6 @@ export function loadBlockSignaturesPure(slice: Slice): BlockSignaturesPure { sig_weight: sig_weight, signatures: signatures, } - } export function storeBlockSignaturesPure(blockSignaturesPure: BlockSignaturesPure): (builder: Builder) => void { @@ -12650,7 +11956,6 @@ export function storeBlockSignaturesPure(blockSignaturesPure: BlockSignaturesPur parse: () => { throw new Error('Not implemented') }, }); }) - } // block_signatures#11 validator_info:ValidatorBaseInfo pure_signatures:BlockSignaturesPure = BlockSignatures; @@ -12658,14 +11963,13 @@ export function storeBlockSignaturesPure(blockSignaturesPure: BlockSignaturesPur export function loadBlockSignatures(slice: Slice): BlockSignatures { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x11))) { slice.loadUint(8); - let validator_info: ValidatorBaseInfo = loadValidatorBaseInfo(slice); - let pure_signatures: BlockSignaturesPure = loadBlockSignaturesPure(slice); + const validator_info: ValidatorBaseInfo = loadValidatorBaseInfo(slice); + const pure_signatures: BlockSignaturesPure = loadBlockSignaturesPure(slice); return { kind: 'BlockSignatures', validator_info: validator_info, pure_signatures: pure_signatures, } - } throw new Error('Expected one of "BlockSignatures" in loading "BlockSignatures", but data does not satisfy any constructor'); } @@ -12676,7 +11980,6 @@ export function storeBlockSignatures(blockSignatures: BlockSignatures): (builder storeValidatorBaseInfo(blockSignatures.validator_info)(builder); storeBlockSignaturesPure(blockSignatures.pure_signatures)(builder); }) - } // block_proof#c3 proof_for:BlockIdExt root:^Cell signatures:(Maybe ^BlockSignatures) = BlockProof; @@ -12684,13 +11987,12 @@ export function storeBlockSignatures(blockSignatures: BlockSignatures): (builder export function loadBlockProof(slice: Slice): BlockProof { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xc3))) { slice.loadUint(8); - let proof_for: BlockIdExt = loadBlockIdExt(slice); - let slice1 = slice.loadRef().beginParse(true); - let root: Cell = slice1.asCell(); - let signatures: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const proof_for: BlockIdExt = loadBlockIdExt(slice); + const slice1 = slice.loadRef().beginParse(true); + const root: Cell = slice1.asCell(); + const signatures: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadBlockSignatures(slice1) - })); return { kind: 'BlockProof', @@ -12698,7 +12000,6 @@ export function loadBlockProof(slice: Slice): BlockProof { root: root, signatures: signatures, } - } throw new Error('Expected one of "BlockProof" in loading "BlockProof", but data does not satisfy any constructor'); } @@ -12707,20 +12008,17 @@ export function storeBlockProof(blockProof: BlockProof): (builder: Builder) => v return ((builder: Builder) => { builder.storeUint(0xc3, 8); storeBlockIdExt(blockProof.proof_for)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(blockProof.root.beginParse(true)); builder.storeRef(cell1); storeMaybe(blockProof.signatures, ((arg: BlockSignatures) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeBlockSignatures(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } // chain_empty$_ = ProofChain 0; @@ -12732,15 +12030,13 @@ export function loadProofChain(slice: Slice, arg0: number): ProofChain { return { kind: 'ProofChain_chain_empty', } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let root: Cell = slice1.asCell(); - let prev: ProofChain | undefined = ((arg0 - 1) ? ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); + const root: Cell = slice1.asCell(); + const prev: ProofChain | undefined = ((arg0 - 1) ? ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadProofChain(slice1, (arg0 - 1)) - })(slice) : undefined); return { kind: 'ProofChain_chain_link', @@ -12748,7 +12044,6 @@ export function loadProofChain(slice: Slice, arg0: number): ProofChain { root: root, prev: prev, } - } throw new Error('Expected one of "ProofChain_chain_empty", "ProofChain_chain_link" in loading "ProofChain", but data does not satisfy any constructor'); } @@ -12757,21 +12052,18 @@ export function storeProofChain(proofChain: ProofChain): (builder: Builder) => v if ((proofChain.kind == 'ProofChain_chain_empty')) { return ((builder: Builder) => { }) - } if ((proofChain.kind == 'ProofChain_chain_link')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(proofChain.root.beginParse(true)); builder.storeRef(cell1); if ((proofChain.prev != undefined)) { - let cell1 = beginCell(); + const cell1 = beginCell(); storeProofChain(proofChain.prev)(cell1); builder.storeRef(cell1); - } }) - } throw new Error('Expected one of "ProofChain_chain_empty", "ProofChain_chain_link" in loading "ProofChain", but data does not satisfy any constructor'); } @@ -12784,14 +12076,13 @@ top_block_descr#d5 proof_for:BlockIdExt signatures:(Maybe ^BlockSignatures) export function loadTopBlockDescr(slice: Slice): TopBlockDescr { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xd5))) { slice.loadUint(8); - let proof_for: BlockIdExt = loadBlockIdExt(slice); - let signatures: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const proof_for: BlockIdExt = loadBlockIdExt(slice); + const signatures: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadBlockSignatures(slice1) - })); - let len: number = slice.loadUint(8); - let chain: ProofChain = loadProofChain(slice, len); + const len: number = slice.loadUint(8); + const chain: ProofChain = loadProofChain(slice, len); if ((!(len >= 1))) { throw new Error('Condition (len >= 1) is not satisfied while loading "TopBlockDescr" for type "TopBlockDescr"'); } @@ -12805,7 +12096,6 @@ export function loadTopBlockDescr(slice: Slice): TopBlockDescr { len: len, chain: chain, } - } throw new Error('Expected one of "TopBlockDescr" in loading "TopBlockDescr", but data does not satisfy any constructor'); } @@ -12816,12 +12106,10 @@ export function storeTopBlockDescr(topBlockDescr: TopBlockDescr): (builder: Buil storeBlockIdExt(topBlockDescr.proof_for)(builder); storeMaybe(topBlockDescr.signatures, ((arg: BlockSignatures) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeBlockSignatures(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); builder.storeUint(topBlockDescr.len, 8); storeProofChain(topBlockDescr.chain)(builder); @@ -12832,7 +12120,6 @@ export function storeTopBlockDescr(topBlockDescr: TopBlockDescr): (builder: Buil throw new Error('Condition (topBlockDescr.len <= 8) is not satisfied while loading "TopBlockDescr" for type "TopBlockDescr"'); } }) - } // top_block_descr_set#4ac789f3 collection:(HashmapE 96 ^TopBlockDescr) = TopBlockDescrSet; @@ -12840,19 +12127,17 @@ export function storeTopBlockDescr(topBlockDescr: TopBlockDescr): (builder: Buil export function loadTopBlockDescrSet(slice: Slice): TopBlockDescrSet { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x4ac789f3))) { slice.loadUint(32); - let collection: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(96), { + const collection: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(96), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadTopBlockDescr(slice1) - }), }, slice); return { kind: 'TopBlockDescrSet', collection: collection, } - } throw new Error('Expected one of "TopBlockDescrSet" in loading "TopBlockDescrSet", but data does not satisfy any constructor'); } @@ -12864,18 +12149,15 @@ export function storeTopBlockDescrSet(topBlockDescrSet: TopBlockDescrSet): (buil serialize: ((arg: TopBlockDescr, builder: Builder) => { ((arg: TopBlockDescr) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTopBlockDescr(arg)(cell1); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -12886,12 +12168,12 @@ prod_info#34 utime:uint32 mc_blk_ref:ExtBlkRef state_proof:^(MERKLE_PROOF Block) export function loadProducerInfo(slice: Slice): ProducerInfo { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x34))) { slice.loadUint(8); - let utime: number = slice.loadUint(32); - let mc_blk_ref: ExtBlkRef = loadExtBlkRef(slice); - let slice1 = slice.loadRef().beginParse(true); - let state_proof: MERKLE_PROOF = loadMERKLE_PROOF(slice1, loadBlock); - let slice2 = slice.loadRef().beginParse(true); - let prod_proof: MERKLE_PROOF = loadMERKLE_PROOF(slice2, loadShardState); + const utime: number = slice.loadUint(32); + const mc_blk_ref: ExtBlkRef = loadExtBlkRef(slice); + const slice1 = slice.loadRef().beginParse(true); + const state_proof: MERKLE_PROOF = loadMERKLE_PROOF(slice1, loadBlock); + const slice2 = slice.loadRef().beginParse(true); + const prod_proof: MERKLE_PROOF = loadMERKLE_PROOF(slice2, loadShardState); return { kind: 'ProducerInfo', utime: utime, @@ -12899,7 +12181,6 @@ export function loadProducerInfo(slice: Slice): ProducerInfo { state_proof: state_proof, prod_proof: prod_proof, } - } throw new Error('Expected one of "ProducerInfo" in loading "ProducerInfo", but data does not satisfy any constructor'); } @@ -12909,14 +12190,13 @@ export function storeProducerInfo(producerInfo: ProducerInfo): (builder: Builder builder.storeUint(0x34, 8); builder.storeUint(producerInfo.utime, 32); storeExtBlkRef(producerInfo.mc_blk_ref)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeMERKLE_PROOF(producerInfo.state_proof, storeBlock)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeMERKLE_PROOF(producerInfo.prod_proof, storeShardState)(cell2); builder.storeRef(cell2); }) - } // no_blk_gen from_utime:uint32 prod_info:^ProducerInfo = ComplaintDescr; @@ -12926,28 +12206,26 @@ export function storeProducerInfo(producerInfo: ProducerInfo): (builder: Builder export function loadComplaintDescr(slice: Slice): ComplaintDescr { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x450e8bd9))) { slice.loadUint(32); - let from_utime: number = slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let prod_info: ProducerInfo = loadProducerInfo(slice1); + const from_utime: number = slice.loadUint(32); + const slice1 = slice.loadRef().beginParse(true); + const prod_info: ProducerInfo = loadProducerInfo(slice1); return { kind: 'ComplaintDescr_no_blk_gen', from_utime: from_utime, prod_info: prod_info, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xc737b0ca))) { slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let prod_info_old: ProducerInfo = loadProducerInfo(slice1); - let slice2 = slice.loadRef().beginParse(true); - let prod_info_new: ProducerInfo = loadProducerInfo(slice2); + const slice1 = slice.loadRef().beginParse(true); + const prod_info_old: ProducerInfo = loadProducerInfo(slice1); + const slice2 = slice.loadRef().beginParse(true); + const prod_info_new: ProducerInfo = loadProducerInfo(slice2); return { kind: 'ComplaintDescr_no_blk_gen_diff', prod_info_old: prod_info_old, prod_info_new: prod_info_new, } - } throw new Error('Expected one of "ComplaintDescr_no_blk_gen", "ComplaintDescr_no_blk_gen_diff" in loading "ComplaintDescr", but data does not satisfy any constructor'); } @@ -12957,23 +12235,21 @@ export function storeComplaintDescr(complaintDescr: ComplaintDescr): (builder: B return ((builder: Builder) => { builder.storeUint(0x450e8bd9, 32); builder.storeUint(complaintDescr.from_utime, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeProducerInfo(complaintDescr.prod_info)(cell1); builder.storeRef(cell1); }) - } if ((complaintDescr.kind == 'ComplaintDescr_no_blk_gen_diff')) { return ((builder: Builder) => { builder.storeUint(0xc737b0ca, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeProducerInfo(complaintDescr.prod_info_old)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeProducerInfo(complaintDescr.prod_info_new)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "ComplaintDescr_no_blk_gen", "ComplaintDescr_no_blk_gen_diff" in loading "ComplaintDescr", but data does not satisfy any constructor'); } @@ -12983,15 +12259,15 @@ export function storeComplaintDescr(complaintDescr: ComplaintDescr): (builder: B export function loadValidatorComplaint(slice: Slice): ValidatorComplaint { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xbc))) { slice.loadUint(8); - let validator_pubkey: Buffer = slice.loadBuffer((256 / 8)); - let slice1 = slice.loadRef().beginParse(true); - let description: ComplaintDescr = loadComplaintDescr(slice1); - let created_at: number = slice.loadUint(32); - let severity: number = slice.loadUint(8); - let reward_addr: bigint = slice.loadUintBig(256); - let paid: bigint = slice.loadCoins(); - let suggested_fine: bigint = slice.loadCoins(); - let suggested_fine_part: number = slice.loadUint(32); + const validator_pubkey: Buffer = slice.loadBuffer((256 / 8)); + const slice1 = slice.loadRef().beginParse(true); + const description: ComplaintDescr = loadComplaintDescr(slice1); + const created_at: number = slice.loadUint(32); + const severity: number = slice.loadUint(8); + const reward_addr: bigint = slice.loadUintBig(256); + const paid: bigint = slice.loadCoins(); + const suggested_fine: bigint = slice.loadCoins(); + const suggested_fine_part: number = slice.loadUint(32); return { kind: 'ValidatorComplaint', validator_pubkey: validator_pubkey, @@ -13003,7 +12279,6 @@ export function loadValidatorComplaint(slice: Slice): ValidatorComplaint { suggested_fine: suggested_fine, suggested_fine_part: suggested_fine_part, } - } throw new Error('Expected one of "ValidatorComplaint" in loading "ValidatorComplaint", but data does not satisfy any constructor'); } @@ -13012,7 +12287,7 @@ export function storeValidatorComplaint(validatorComplaint: ValidatorComplaint): return ((builder: Builder) => { builder.storeUint(0xbc, 8); builder.storeBuffer(validatorComplaint.validator_pubkey, (256 / 8)); - let cell1 = beginCell(); + const cell1 = beginCell(); storeComplaintDescr(validatorComplaint.description)(cell1); builder.storeRef(cell1); builder.storeUint(validatorComplaint.created_at, 32); @@ -13022,7 +12297,6 @@ export function storeValidatorComplaint(validatorComplaint: ValidatorComplaint): builder.storeCoins(validatorComplaint.suggested_fine); builder.storeUint(validatorComplaint.suggested_fine_part, 32); }) - } // complaint_status#2d complaint:^ValidatorComplaint voters:(HashmapE 16 True) vset_id:uint256 weight_remaining:int64 = ValidatorComplaintStatus; @@ -13030,14 +12304,14 @@ export function storeValidatorComplaint(validatorComplaint: ValidatorComplaint): export function loadValidatorComplaintStatus(slice: Slice): ValidatorComplaintStatus { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x2d))) { slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let complaint: ValidatorComplaint = loadValidatorComplaint(slice1); - let voters: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { + const slice1 = slice.loadRef().beginParse(true); + const complaint: ValidatorComplaint = loadValidatorComplaint(slice1); + const voters: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: loadTrue, }, slice); - let vset_id: bigint = slice.loadUintBig(256); - let weight_remaining: bigint = slice.loadIntBig(64); + const vset_id: bigint = slice.loadUintBig(256); + const weight_remaining: bigint = slice.loadIntBig(64); return { kind: 'ValidatorComplaintStatus', complaint: complaint, @@ -13045,7 +12319,6 @@ export function loadValidatorComplaintStatus(slice: Slice): ValidatorComplaintSt vset_id: vset_id, weight_remaining: weight_remaining, } - } throw new Error('Expected one of "ValidatorComplaintStatus" in loading "ValidatorComplaintStatus", but data does not satisfy any constructor'); } @@ -13053,7 +12326,7 @@ export function loadValidatorComplaintStatus(slice: Slice): ValidatorComplaintSt export function storeValidatorComplaintStatus(validatorComplaintStatus: ValidatorComplaintStatus): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0x2d, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); storeValidatorComplaint(validatorComplaintStatus.complaint)(cell1); builder.storeRef(cell1); builder.storeDict(validatorComplaintStatus.voters, Dictionary.Keys.Uint(16), { @@ -13065,7 +12338,6 @@ export function storeValidatorComplaintStatus(validatorComplaintStatus: Validato builder.storeUint(validatorComplaintStatus.vset_id, 256); builder.storeInt(validatorComplaintStatus.weight_remaining, 64); }) - } // vm_stk_null#00 = VmStackValue; @@ -13092,81 +12364,72 @@ export function loadVmStackValue(slice: Slice): VmStackValue { return { kind: 'VmStackValue_vm_stk_null', } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x01))) { slice.loadUint(8); - let value: bigint = slice.loadIntBig(64); + const value: bigint = slice.loadIntBig(64); return { kind: 'VmStackValue_vm_stk_tinyint', value: value, } - } if (((slice.remainingBits >= 15) && (slice.preloadUint(15) == 0x0100))) { slice.loadUint(15); - let value: bigint = slice.loadIntBig(257); + const value: bigint = slice.loadIntBig(257); return { kind: 'VmStackValue_vm_stk_int', value: value, } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x02ff))) { slice.loadUint(16); return { kind: 'VmStackValue_vm_stk_nan', } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x03))) { slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let _cell: Cell = slice1.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const _cell: Cell = slice1.asCell(); return { kind: 'VmStackValue_vm_stk_cell', _cell: _cell, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x04))) { slice.loadUint(8); - let _: VmCellSlice = loadVmCellSlice(slice); + const _: VmCellSlice = loadVmCellSlice(slice); return { kind: 'VmStackValue_vm_stk_slice', _: _, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x05))) { slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let _cell: Cell = slice1.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const _cell: Cell = slice1.asCell(); return { kind: 'VmStackValue_vm_stk_builder', _cell: _cell, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x06))) { slice.loadUint(8); - let cont: VmCont = loadVmCont(slice); + const cont: VmCont = loadVmCont(slice); return { kind: 'VmStackValue_vm_stk_cont', cont: cont, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x07))) { slice.loadUint(8); - let len: number = slice.loadUint(16); - let data: VmTuple = loadVmTuple(slice, len); + const len: number = slice.loadUint(16); + const data: VmTuple = loadVmTuple(slice, len); return { kind: 'VmStackValue_vm_stk_tuple', len: len, data: data, } - } throw new Error('Expected one of "VmStackValue_vm_stk_null", "VmStackValue_vm_stk_tinyint", "VmStackValue_vm_stk_int", "VmStackValue_vm_stk_nan", "VmStackValue_vm_stk_cell", "VmStackValue_vm_stk_slice", "VmStackValue_vm_stk_builder", "VmStackValue_vm_stk_cont", "VmStackValue_vm_stk_tuple" in loading "VmStackValue", but data does not satisfy any constructor'); } @@ -13176,59 +12439,51 @@ export function storeVmStackValue(vmStackValue: VmStackValue): (builder: Builder return ((builder: Builder) => { builder.storeUint(0x00, 8); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_tinyint')) { return ((builder: Builder) => { builder.storeUint(0x01, 8); builder.storeInt(vmStackValue.value, 64); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_int')) { return ((builder: Builder) => { builder.storeUint(0x0100, 15); builder.storeInt(vmStackValue.value, 257); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_nan')) { return ((builder: Builder) => { builder.storeUint(0x02ff, 16); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_cell')) { return ((builder: Builder) => { builder.storeUint(0x03, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(vmStackValue._cell.beginParse(true)); builder.storeRef(cell1); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_slice')) { return ((builder: Builder) => { builder.storeUint(0x04, 8); storeVmCellSlice(vmStackValue._)(builder); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_builder')) { return ((builder: Builder) => { builder.storeUint(0x05, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(vmStackValue._cell.beginParse(true)); builder.storeRef(cell1); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_cont')) { return ((builder: Builder) => { builder.storeUint(0x06, 8); storeVmCont(vmStackValue.cont)(builder); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_tuple')) { return ((builder: Builder) => { @@ -13236,7 +12491,6 @@ export function storeVmStackValue(vmStackValue: VmStackValue): (builder: Builder builder.storeUint(vmStackValue.len, 16); storeVmTuple(vmStackValue.data)(builder); }) - } throw new Error('Expected one of "VmStackValue_vm_stk_null", "VmStackValue_vm_stk_tinyint", "VmStackValue_vm_stk_int", "VmStackValue_vm_stk_nan", "VmStackValue_vm_stk_cell", "VmStackValue_vm_stk_slice", "VmStackValue_vm_stk_builder", "VmStackValue_vm_stk_cont", "VmStackValue_vm_stk_tuple" in loading "VmStackValue", but data does not satisfy any constructor'); } @@ -13247,12 +12501,12 @@ _ cell:^Cell st_bits:(## 10) end_bits:(## 10) { st_bits <= end_bits } */ export function loadVmCellSlice(slice: Slice): VmCellSlice { - let slice1 = slice.loadRef().beginParse(true); - let _cell: Cell = slice1.asCell(); - let st_bits: number = slice.loadUint(10); - let end_bits: number = slice.loadUint(10); - let st_ref: number = slice.loadUint(bitLen(4)); - let end_ref: number = slice.loadUint(bitLen(4)); + const slice1 = slice.loadRef().beginParse(true); + const _cell: Cell = slice1.asCell(); + const st_bits: number = slice.loadUint(10); + const end_bits: number = slice.loadUint(10); + const st_ref: number = slice.loadUint(bitLen(4)); + const end_ref: number = slice.loadUint(bitLen(4)); if ((!(st_bits <= end_bits))) { throw new Error('Condition (st_bits <= end_bits) is not satisfied while loading "VmCellSlice" for type "VmCellSlice"'); } @@ -13267,12 +12521,11 @@ export function loadVmCellSlice(slice: Slice): VmCellSlice { st_ref: st_ref, end_ref: end_ref, } - } export function storeVmCellSlice(vmCellSlice: VmCellSlice): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(vmCellSlice._cell.beginParse(true)); builder.storeRef(cell1); builder.storeUint(vmCellSlice.st_bits, 10); @@ -13286,7 +12539,6 @@ export function storeVmCellSlice(vmCellSlice: VmCellSlice): (builder: Builder) = throw new Error('Condition (vmCellSlice.st_ref <= vmCellSlice.end_ref) is not satisfied while loading "VmCellSlice" for type "VmCellSlice"'); } }) - } // vm_tupref_nil$_ = VmTupleRef 0; @@ -13300,26 +12552,23 @@ export function loadVmTupleRef(slice: Slice, arg0: number): VmTupleRef { return { kind: 'VmTupleRef_vm_tupref_nil', } - } if ((arg0 == 1)) { - let slice1 = slice.loadRef().beginParse(true); - let entry: VmStackValue = loadVmStackValue(slice1); + const slice1 = slice.loadRef().beginParse(true); + const entry: VmStackValue = loadVmStackValue(slice1); return { kind: 'VmTupleRef_vm_tupref_single', entry: entry, } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let ref: VmTuple = loadVmTuple(slice1, ((arg0 - 2) + 2)); + const slice1 = slice.loadRef().beginParse(true); + const ref: VmTuple = loadVmTuple(slice1, ((arg0 - 2) + 2)); return { kind: 'VmTupleRef_vm_tupref_any', n: (arg0 - 2), ref: ref, } - } throw new Error('Expected one of "VmTupleRef_vm_tupref_nil", "VmTupleRef_vm_tupref_single", "VmTupleRef_vm_tupref_any" in loading "VmTupleRef", but data does not satisfy any constructor'); } @@ -13328,23 +12577,20 @@ export function storeVmTupleRef(vmTupleRef: VmTupleRef): (builder: Builder) => v if ((vmTupleRef.kind == 'VmTupleRef_vm_tupref_nil')) { return ((builder: Builder) => { }) - } if ((vmTupleRef.kind == 'VmTupleRef_vm_tupref_single')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmStackValue(vmTupleRef.entry)(cell1); builder.storeRef(cell1); }) - } if ((vmTupleRef.kind == 'VmTupleRef_vm_tupref_any')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmTuple(vmTupleRef.ref)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VmTupleRef_vm_tupref_nil", "VmTupleRef_vm_tupref_single", "VmTupleRef_vm_tupref_any" in loading "VmTupleRef", but data does not satisfy any constructor'); } @@ -13358,19 +12604,17 @@ export function loadVmTuple(slice: Slice, arg0: number): VmTuple { return { kind: 'VmTuple_vm_tuple_nil', } - } if (true) { - let head: VmTupleRef = loadVmTupleRef(slice, (arg0 - 1)); - let slice1 = slice.loadRef().beginParse(true); - let tail: VmStackValue = loadVmStackValue(slice1); + const head: VmTupleRef = loadVmTupleRef(slice, (arg0 - 1)); + const slice1 = slice.loadRef().beginParse(true); + const tail: VmStackValue = loadVmStackValue(slice1); return { kind: 'VmTuple_vm_tuple_tcons', n: (arg0 - 1), head: head, tail: tail, } - } throw new Error('Expected one of "VmTuple_vm_tuple_nil", "VmTuple_vm_tuple_tcons" in loading "VmTuple", but data does not satisfy any constructor'); } @@ -13379,16 +12623,14 @@ export function storeVmTuple(vmTuple: VmTuple): (builder: Builder) => void { if ((vmTuple.kind == 'VmTuple_vm_tuple_nil')) { return ((builder: Builder) => { }) - } if ((vmTuple.kind == 'VmTuple_vm_tuple_tcons')) { return ((builder: Builder) => { storeVmTupleRef(vmTuple.head)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmStackValue(vmTuple.tail)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VmTuple_vm_tuple_nil", "VmTuple_vm_tuple_tcons" in loading "VmTuple", but data does not satisfy any constructor'); } @@ -13396,14 +12638,13 @@ export function storeVmTuple(vmTuple: VmTuple): (builder: Builder) => void { // vm_stack#_ depth:(## 24) stack:(VmStackList depth) = VmStack; export function loadVmStack(slice: Slice): VmStack { - let depth: number = slice.loadUint(24); - let stack: VmStackList = loadVmStackList(slice, depth); + const depth: number = slice.loadUint(24); + const stack: VmStackList = loadVmStackList(slice, depth); return { kind: 'VmStack', depth: depth, stack: stack, } - } export function storeVmStack(vmStack: VmStack): (builder: Builder) => void { @@ -13411,7 +12652,6 @@ export function storeVmStack(vmStack: VmStack): (builder: Builder) => void { builder.storeUint(vmStack.depth, 24); storeVmStackList(vmStack.stack)(builder); }) - } // vm_stk_nil#_ = VmStackList 0; @@ -13423,19 +12663,17 @@ export function loadVmStackList(slice: Slice, arg0: number): VmStackList { return { kind: 'VmStackList_vm_stk_nil', } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let rest: VmStackList = loadVmStackList(slice1, (arg0 - 1)); - let tos: VmStackValue = loadVmStackValue(slice); + const slice1 = slice.loadRef().beginParse(true); + const rest: VmStackList = loadVmStackList(slice1, (arg0 - 1)); + const tos: VmStackValue = loadVmStackValue(slice); return { kind: 'VmStackList_vm_stk_cons', n: (arg0 - 1), rest: rest, tos: tos, } - } throw new Error('Expected one of "VmStackList_vm_stk_nil", "VmStackList_vm_stk_cons" in loading "VmStackList", but data does not satisfy any constructor'); } @@ -13444,16 +12682,14 @@ export function storeVmStackList(vmStackList: VmStackList): (builder: Builder) = if ((vmStackList.kind == 'VmStackList_vm_stk_nil')) { return ((builder: Builder) => { }) - } if ((vmStackList.kind == 'VmStackList_vm_stk_cons')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmStackList(vmStackList.rest)(cell1); builder.storeRef(cell1); storeVmStackValue(vmStackList.tos)(builder); }) - } throw new Error('Expected one of "VmStackList_vm_stk_nil", "VmStackList_vm_stk_cons" in loading "VmStackList", but data does not satisfy any constructor'); } @@ -13461,7 +12697,7 @@ export function storeVmStackList(vmStackList: VmStackList): (builder: Builder) = // _ cregs:(HashmapE 4 VmStackValue) = VmSaveList; export function loadVmSaveList(slice: Slice): VmSaveList { - let cregs: Dictionary = Dictionary.load(Dictionary.Keys.Uint(4), { + const cregs: Dictionary = Dictionary.load(Dictionary.Keys.Uint(4), { serialize: () => { throw new Error('Not implemented') }, parse: loadVmStackValue, }, slice); @@ -13469,7 +12705,6 @@ export function loadVmSaveList(slice: Slice): VmSaveList { kind: 'VmSaveList', cregs: cregs, } - } export function storeVmSaveList(vmSaveList: VmSaveList): (builder: Builder) => void { @@ -13481,7 +12716,6 @@ export function storeVmSaveList(vmSaveList: VmSaveList): (builder: Builder) => v parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -13490,11 +12724,11 @@ gas_limits#_ remaining:int64 _:^[ max_limit:int64 cur_limit:int64 credit:int64 ] */ export function loadVmGasLimits(slice: Slice): VmGasLimits { - let remaining: bigint = slice.loadIntBig(64); - let slice1 = slice.loadRef().beginParse(true); - let max_limit: bigint = slice1.loadIntBig(64); - let cur_limit: bigint = slice1.loadIntBig(64); - let credit: bigint = slice1.loadIntBig(64); + const remaining: bigint = slice.loadIntBig(64); + const slice1 = slice.loadRef().beginParse(true); + const max_limit: bigint = slice1.loadIntBig(64); + const cur_limit: bigint = slice1.loadIntBig(64); + const credit: bigint = slice1.loadIntBig(64); return { kind: 'VmGasLimits', remaining: remaining, @@ -13502,37 +12736,33 @@ export function loadVmGasLimits(slice: Slice): VmGasLimits { cur_limit: cur_limit, credit: credit, } - } export function storeVmGasLimits(vmGasLimits: VmGasLimits): (builder: Builder) => void { return ((builder: Builder) => { builder.storeInt(vmGasLimits.remaining, 64); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeInt(vmGasLimits.max_limit, 64); cell1.storeInt(vmGasLimits.cur_limit, 64); cell1.storeInt(vmGasLimits.credit, 64); builder.storeRef(cell1); }) - } // _ libraries:(HashmapE 256 ^Cell) = VmLibraries; export function loadVmLibraries(slice: Slice): VmLibraries { - let libraries: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const libraries: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - }), }, slice); return { kind: 'VmLibraries', libraries: libraries, } - } export function storeVmLibraries(vmLibraries: VmLibraries): (builder: Builder) => void { @@ -13541,18 +12771,15 @@ export function storeVmLibraries(vmLibraries: VmLibraries): (builder: Builder) = serialize: ((arg: Cell, builder: Builder) => { ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -13561,18 +12788,15 @@ cp:(Maybe int16) = VmControlData; */ export function loadVmControlData(slice: Slice): VmControlData { - let nargs: Maybe = loadMaybe(slice, ((slice: Slice) => { + const nargs: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadUint(13) - })); - let stack: Maybe = loadMaybe(slice, ((slice: Slice) => { + const stack: Maybe = loadMaybe(slice, ((slice: Slice) => { return parseTuple(slice.asCell()) - })); - let save: VmSaveList = loadVmSaveList(slice); - let cp: Maybe = loadMaybe(slice, ((slice: Slice) => { + const save: VmSaveList = loadVmSaveList(slice); + const cp: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadInt(16) - })); return { kind: 'VmControlData', @@ -13581,7 +12805,6 @@ export function loadVmControlData(slice: Slice): VmControlData { save: save, cp: cp, } - } export function storeVmControlData(vmControlData: VmControlData): (builder: Builder) => void { @@ -13590,23 +12813,19 @@ export function storeVmControlData(vmControlData: VmControlData): (builder: Buil return ((builder: Builder) => { builder.storeUint(arg, 13); }) - }))(builder); storeMaybe(vmControlData.stack, ((arg: TupleItem[]) => { return ((builder: Builder) => { copyCellToBuilder(serializeTuple(arg), builder); }) - }))(builder); storeVmSaveList(vmControlData.save)(builder); storeMaybe(vmControlData.cp, ((arg: number) => { return ((builder: Builder) => { builder.storeInt(arg, 16); }) - }))(builder); }) - } // vmc_std$00 cdata:VmControlData code:VmCellSlice = VmCont; @@ -13638,124 +12857,114 @@ after:^VmCont = VmCont; export function loadVmCont(slice: Slice): VmCont { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b00))) { slice.loadUint(2); - let cdata: VmControlData = loadVmControlData(slice); - let code: VmCellSlice = loadVmCellSlice(slice); + const cdata: VmControlData = loadVmControlData(slice); + const code: VmCellSlice = loadVmCellSlice(slice); return { kind: 'VmCont_vmc_std', cdata: cdata, code: code, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); - let cdata: VmControlData = loadVmControlData(slice); - let slice1 = slice.loadRef().beginParse(true); - let next: VmCont = loadVmCont(slice1); + const cdata: VmControlData = loadVmControlData(slice); + const slice1 = slice.loadRef().beginParse(true); + const next: VmCont = loadVmCont(slice1); return { kind: 'VmCont_vmc_envelope', cdata: cdata, next: next, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1000))) { slice.loadUint(4); - let exit_code: number = slice.loadInt(32); + const exit_code: number = slice.loadInt(32); return { kind: 'VmCont_vmc_quit', exit_code: exit_code, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1001))) { slice.loadUint(4); return { kind: 'VmCont_vmc_quit_exc', } - } if (((slice.remainingBits >= 5) && (slice.preloadUint(5) == 0b10100))) { slice.loadUint(5); - let count: bigint = slice.loadUintBig(63); - let slice1 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice2); + const count: bigint = slice.loadUintBig(63); + const slice1 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice2); return { kind: 'VmCont_vmc_repeat', count: count, body: body, after: after, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110000))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice2); + const slice1 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice2); return { kind: 'VmCont_vmc_until', body: body, after: after, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110001))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice1); + const slice1 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice1); return { kind: 'VmCont_vmc_again', body: body, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110010))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let cond: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice2); - let slice3 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice3); + const slice1 = slice.loadRef().beginParse(true); + const cond: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice2); + const slice3 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice3); return { kind: 'VmCont_vmc_while_cond', cond: cond, body: body, after: after, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110011))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let cond: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice2); - let slice3 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice3); + const slice1 = slice.loadRef().beginParse(true); + const cond: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice2); + const slice3 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice3); return { kind: 'VmCont_vmc_while_body', cond: cond, body: body, after: after, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1111))) { slice.loadUint(4); - let value: number = slice.loadInt(32); - let slice1 = slice.loadRef().beginParse(true); - let next: VmCont = loadVmCont(slice1); + const value: number = slice.loadInt(32); + const slice1 = slice.loadRef().beginParse(true); + const next: VmCont = loadVmCont(slice1); return { kind: 'VmCont_vmc_pushint', value: value, next: next, } - } throw new Error('Expected one of "VmCont_vmc_std", "VmCont_vmc_envelope", "VmCont_vmc_quit", "VmCont_vmc_quit_exc", "VmCont_vmc_repeat", "VmCont_vmc_until", "VmCont_vmc_again", "VmCont_vmc_while_cond", "VmCont_vmc_while_body", "VmCont_vmc_pushint" in loading "VmCont", but data does not satisfy any constructor'); } @@ -13767,104 +12976,94 @@ export function storeVmCont(vmCont: VmCont): (builder: Builder) => void { storeVmControlData(vmCont.cdata)(builder); storeVmCellSlice(vmCont.code)(builder); }) - } if ((vmCont.kind == 'VmCont_vmc_envelope')) { return ((builder: Builder) => { builder.storeUint(0b01, 2); storeVmControlData(vmCont.cdata)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.next)(cell1); builder.storeRef(cell1); }) - } if ((vmCont.kind == 'VmCont_vmc_quit')) { return ((builder: Builder) => { builder.storeUint(0b1000, 4); builder.storeInt(vmCont.exit_code, 32); }) - } if ((vmCont.kind == 'VmCont_vmc_quit_exc')) { return ((builder: Builder) => { builder.storeUint(0b1001, 4); }) - } if ((vmCont.kind == 'VmCont_vmc_repeat')) { return ((builder: Builder) => { builder.storeUint(0b10100, 5); builder.storeUint(vmCont.count, 63); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.body)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.after)(cell2); builder.storeRef(cell2); }) - } if ((vmCont.kind == 'VmCont_vmc_until')) { return ((builder: Builder) => { builder.storeUint(0b110000, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.body)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.after)(cell2); builder.storeRef(cell2); }) - } if ((vmCont.kind == 'VmCont_vmc_again')) { return ((builder: Builder) => { builder.storeUint(0b110001, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.body)(cell1); builder.storeRef(cell1); }) - } if ((vmCont.kind == 'VmCont_vmc_while_cond')) { return ((builder: Builder) => { builder.storeUint(0b110010, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.cond)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.body)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeVmCont(vmCont.after)(cell3); builder.storeRef(cell3); }) - } if ((vmCont.kind == 'VmCont_vmc_while_body')) { return ((builder: Builder) => { builder.storeUint(0b110011, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.cond)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.body)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeVmCont(vmCont.after)(cell3); builder.storeRef(cell3); }) - } if ((vmCont.kind == 'VmCont_vmc_pushint')) { return ((builder: Builder) => { builder.storeUint(0b1111, 4); builder.storeInt(vmCont.value, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.next)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VmCont_vmc_std", "VmCont_vmc_envelope", "VmCont_vmc_quit", "VmCont_vmc_quit_exc", "VmCont_vmc_repeat", "VmCont_vmc_until", "VmCont_vmc_again", "VmCont_vmc_while_cond", "VmCont_vmc_while_body", "VmCont_vmc_pushint" in loading "VmCont", but data does not satisfy any constructor'); } @@ -13872,19 +13071,17 @@ export function storeVmCont(vmCont: VmCont): (builder: Builder) => void { // _ (HashmapE 256 ^DNSRecord) = DNS_RecordSet; export function loadDNS_RecordSet(slice: Slice): DNS_RecordSet { - let anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadDNSRecord(slice1) - }), }, slice); return { kind: 'DNS_RecordSet', anon0: anon0, } - } export function storeDNS_RecordSet(dNS_RecordSet: DNS_RecordSet): (builder: Builder) => void { @@ -13893,18 +13090,15 @@ export function storeDNS_RecordSet(dNS_RecordSet: DNS_RecordSet): (builder: Buil serialize: ((arg: DNSRecord, builder: Builder) => { ((arg: DNSRecord) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeDNSRecord(arg)(cell1); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // chunk_ref_empty$_ = TextChunkRef 0; @@ -13916,17 +13110,15 @@ export function loadTextChunkRef(slice: Slice, arg0: number): TextChunkRef { return { kind: 'TextChunkRef_chunk_ref_empty', } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let ref: TextChunks = loadTextChunks(slice1, ((arg0 - 1) + 1)); + const slice1 = slice.loadRef().beginParse(true); + const ref: TextChunks = loadTextChunks(slice1, ((arg0 - 1) + 1)); return { kind: 'TextChunkRef_chunk_ref', n: (arg0 - 1), ref: ref, } - } throw new Error('Expected one of "TextChunkRef_chunk_ref_empty", "TextChunkRef_chunk_ref" in loading "TextChunkRef", but data does not satisfy any constructor'); } @@ -13935,15 +13127,13 @@ export function storeTextChunkRef(textChunkRef: TextChunkRef): (builder: Builder if ((textChunkRef.kind == 'TextChunkRef_chunk_ref_empty')) { return ((builder: Builder) => { }) - } if ((textChunkRef.kind == 'TextChunkRef_chunk_ref')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTextChunks(textChunkRef.ref)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "TextChunkRef_chunk_ref_empty", "TextChunkRef_chunk_ref" in loading "TextChunkRef", but data does not satisfy any constructor'); } @@ -13957,12 +13147,11 @@ export function loadTextChunks(slice: Slice, arg0: number): TextChunks { return { kind: 'TextChunks_text_chunk_empty', } - } if (true) { - let len: number = slice.loadUint(8); - let data: BitString = slice.loadBits((len * 8)); - let next: TextChunkRef = loadTextChunkRef(slice, (arg0 - 1)); + const len: number = slice.loadUint(8); + const data: BitString = slice.loadBits((len * 8)); + const next: TextChunkRef = loadTextChunkRef(slice, (arg0 - 1)); return { kind: 'TextChunks_text_chunk', n: (arg0 - 1), @@ -13970,7 +13159,6 @@ export function loadTextChunks(slice: Slice, arg0: number): TextChunks { data: data, next: next, } - } throw new Error('Expected one of "TextChunks_text_chunk_empty", "TextChunks_text_chunk" in loading "TextChunks", but data does not satisfy any constructor'); } @@ -13979,7 +13167,6 @@ export function storeTextChunks(textChunks: TextChunks): (builder: Builder) => v if ((textChunks.kind == 'TextChunks_text_chunk_empty')) { return ((builder: Builder) => { }) - } if ((textChunks.kind == 'TextChunks_text_chunk')) { return ((builder: Builder) => { @@ -13987,7 +13174,6 @@ export function storeTextChunks(textChunks: TextChunks): (builder: Builder) => v builder.storeBits(textChunks.data); storeTextChunkRef(textChunks.next)(builder); }) - } throw new Error('Expected one of "TextChunks_text_chunk_empty", "TextChunks_text_chunk" in loading "TextChunks", but data does not satisfy any constructor'); } @@ -13995,14 +13181,13 @@ export function storeTextChunks(textChunks: TextChunks): (builder: Builder) => v // text$_ chunks:(## 8) rest:(TextChunks chunks) = Text; export function loadText(slice: Slice): Text { - let chunks: number = slice.loadUint(8); - let rest: TextChunks = loadTextChunks(slice, chunks); + const chunks: number = slice.loadUint(8); + const rest: TextChunks = loadTextChunks(slice, chunks); return { kind: 'Text', chunks: chunks, rest: rest, } - } export function storeText(text: Text): (builder: Builder) => void { @@ -14010,7 +13195,6 @@ export function storeText(text: Text): (builder: Builder) => void { builder.storeUint(text.chunks, 8); storeTextChunks(text.rest)(builder); }) - } // dns_text#1eda _:Text = DNSRecord; @@ -14032,27 +13216,25 @@ dns_smc_address#9fd3 smc_addr:MsgAddressInt flags:(## 8) { flags <= 1 } export function loadDNSRecord(slice: Slice): DNSRecord { if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x1eda))) { slice.loadUint(16); - let _: Text = loadText(slice); + const _: Text = loadText(slice); return { kind: 'DNSRecord_dns_text', _: _, } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0xba93))) { slice.loadUint(16); - let resolver: Address = slice.loadAddress(); + const resolver: Address = slice.loadAddress(); return { kind: 'DNSRecord_dns_next_resolver', resolver: resolver, } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0xad01))) { slice.loadUint(16); - let adnl_addr: Buffer = slice.loadBuffer((256 / 8)); - let flags: number = slice.loadUint(8); - let proto_list: ProtoList | undefined = ((flags & (1 << 0)) ? loadProtoList(slice) : undefined); + const adnl_addr: Buffer = slice.loadBuffer((256 / 8)); + const flags: number = slice.loadUint(8); + const proto_list: ProtoList | undefined = ((flags & (1 << 0)) ? loadProtoList(slice) : undefined); if ((!(flags <= 1))) { throw new Error('Condition (flags <= 1) is not satisfied while loading "DNSRecord_dns_adnl_address" for type "DNSRecord"'); } @@ -14062,13 +13244,12 @@ export function loadDNSRecord(slice: Slice): DNSRecord { flags: flags, proto_list: proto_list, } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x9fd3))) { slice.loadUint(16); - let smc_addr: Address = slice.loadAddress(); - let flags: number = slice.loadUint(8); - let cap_list: SmcCapList | undefined = ((flags & (1 << 0)) ? loadSmcCapList(slice) : undefined); + const smc_addr: Address = slice.loadAddress(); + const flags: number = slice.loadUint(8); + const cap_list: SmcCapList | undefined = ((flags & (1 << 0)) ? loadSmcCapList(slice) : undefined); if ((!(flags <= 1))) { throw new Error('Condition (flags <= 1) is not satisfied while loading "DNSRecord_dns_smc_address" for type "DNSRecord"'); } @@ -14078,16 +13259,14 @@ export function loadDNSRecord(slice: Slice): DNSRecord { flags: flags, cap_list: cap_list, } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x7473))) { slice.loadUint(16); - let bag_id: Buffer = slice.loadBuffer((256 / 8)); + const bag_id: Buffer = slice.loadBuffer((256 / 8)); return { kind: 'DNSRecord_dns_storage_address', bag_id: bag_id, } - } throw new Error('Expected one of "DNSRecord_dns_text", "DNSRecord_dns_next_resolver", "DNSRecord_dns_adnl_address", "DNSRecord_dns_smc_address", "DNSRecord_dns_storage_address" in loading "DNSRecord", but data does not satisfy any constructor'); } @@ -14098,14 +13277,12 @@ export function storeDNSRecord(dNSRecord: DNSRecord): (builder: Builder) => void builder.storeUint(0x1eda, 16); storeText(dNSRecord._)(builder); }) - } if ((dNSRecord.kind == 'DNSRecord_dns_next_resolver')) { return ((builder: Builder) => { builder.storeUint(0xba93, 16); builder.storeAddress(dNSRecord.resolver); }) - } if ((dNSRecord.kind == 'DNSRecord_dns_adnl_address')) { return ((builder: Builder) => { @@ -14119,7 +13296,6 @@ export function storeDNSRecord(dNSRecord: DNSRecord): (builder: Builder) => void throw new Error('Condition (dNSRecord.flags <= 1) is not satisfied while loading "DNSRecord_dns_adnl_address" for type "DNSRecord"'); } }) - } if ((dNSRecord.kind == 'DNSRecord_dns_smc_address')) { return ((builder: Builder) => { @@ -14133,14 +13309,12 @@ export function storeDNSRecord(dNSRecord: DNSRecord): (builder: Builder) => void throw new Error('Condition (dNSRecord.flags <= 1) is not satisfied while loading "DNSRecord_dns_smc_address" for type "DNSRecord"'); } }) - } if ((dNSRecord.kind == 'DNSRecord_dns_storage_address')) { return ((builder: Builder) => { builder.storeUint(0x7473, 16); builder.storeBuffer(dNSRecord.bag_id, (256 / 8)); }) - } throw new Error('Expected one of "DNSRecord_dns_text", "DNSRecord_dns_next_resolver", "DNSRecord_dns_adnl_address", "DNSRecord_dns_smc_address", "DNSRecord_dns_storage_address" in loading "DNSRecord", but data does not satisfy any constructor'); } @@ -14155,18 +13329,16 @@ export function loadProtoList(slice: Slice): ProtoList { return { kind: 'ProtoList_proto_list_nil', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let head: Protocol = loadProtocol(slice); - let tail: ProtoList = loadProtoList(slice); + const head: Protocol = loadProtocol(slice); + const tail: ProtoList = loadProtoList(slice); return { kind: 'ProtoList_proto_list_next', head: head, tail: tail, } - } throw new Error('Expected one of "ProtoList_proto_list_nil", "ProtoList_proto_list_next" in loading "ProtoList", but data does not satisfy any constructor'); } @@ -14176,7 +13348,6 @@ export function storeProtoList(protoList: ProtoList): (builder: Builder) => void return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((protoList.kind == 'ProtoList_proto_list_next')) { return ((builder: Builder) => { @@ -14184,7 +13355,6 @@ export function storeProtoList(protoList: ProtoList): (builder: Builder) => void storeProtocol(protoList.head)(builder); storeProtoList(protoList.tail)(builder); }) - } throw new Error('Expected one of "ProtoList_proto_list_nil", "ProtoList_proto_list_next" in loading "ProtoList", but data does not satisfy any constructor'); } @@ -14197,7 +13367,6 @@ export function loadProtocol(slice: Slice): Protocol { return { kind: 'Protocol', } - } throw new Error('Expected one of "Protocol" in loading "Protocol", but data does not satisfy any constructor'); } @@ -14206,7 +13375,6 @@ export function storeProtocol(protocol: Protocol): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0x4854, 16); }) - } // cap_list_nil$0 = SmcCapList; @@ -14219,18 +13387,16 @@ export function loadSmcCapList(slice: Slice): SmcCapList { return { kind: 'SmcCapList_cap_list_nil', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let head: SmcCapability = loadSmcCapability(slice); - let tail: SmcCapList = loadSmcCapList(slice); + const head: SmcCapability = loadSmcCapability(slice); + const tail: SmcCapList = loadSmcCapList(slice); return { kind: 'SmcCapList_cap_list_next', head: head, tail: tail, } - } throw new Error('Expected one of "SmcCapList_cap_list_nil", "SmcCapList_cap_list_next" in loading "SmcCapList", but data does not satisfy any constructor'); } @@ -14240,7 +13406,6 @@ export function storeSmcCapList(smcCapList: SmcCapList): (builder: Builder) => v return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((smcCapList.kind == 'SmcCapList_cap_list_next')) { return ((builder: Builder) => { @@ -14248,7 +13413,6 @@ export function storeSmcCapList(smcCapList: SmcCapList): (builder: Builder) => v storeSmcCapability(smcCapList.head)(builder); storeSmcCapList(smcCapList.tail)(builder); }) - } throw new Error('Expected one of "SmcCapList_cap_list_nil", "SmcCapList_cap_list_next" in loading "SmcCapList", but data does not satisfy any constructor'); } @@ -14267,30 +13431,26 @@ export function loadSmcCapability(slice: Slice): SmcCapability { return { kind: 'SmcCapability_cap_method_seqno', } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x71f4))) { slice.loadUint(16); return { kind: 'SmcCapability_cap_method_pubkey', } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x2177))) { slice.loadUint(16); return { kind: 'SmcCapability_cap_is_wallet', } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xff))) { slice.loadUint(8); - let name: Text = loadText(slice); + const name: Text = loadText(slice); return { kind: 'SmcCapability_cap_name', name: name, } - } throw new Error('Expected one of "SmcCapability_cap_method_seqno", "SmcCapability_cap_method_pubkey", "SmcCapability_cap_is_wallet", "SmcCapability_cap_name" in loading "SmcCapability", but data does not satisfy any constructor'); } @@ -14300,26 +13460,22 @@ export function storeSmcCapability(smcCapability: SmcCapability): (builder: Buil return ((builder: Builder) => { builder.storeUint(0x5371, 16); }) - } if ((smcCapability.kind == 'SmcCapability_cap_method_pubkey')) { return ((builder: Builder) => { builder.storeUint(0x71f4, 16); }) - } if ((smcCapability.kind == 'SmcCapability_cap_is_wallet')) { return ((builder: Builder) => { builder.storeUint(0x2177, 16); }) - } if ((smcCapability.kind == 'SmcCapability_cap_name')) { return ((builder: Builder) => { builder.storeUint(0xff, 8); storeText(smcCapability.name)(builder); }) - } throw new Error('Expected one of "SmcCapability_cap_method_seqno", "SmcCapability_cap_method_pubkey", "SmcCapability_cap_is_wallet", "SmcCapability_cap_name" in loading "SmcCapability", but data does not satisfy any constructor'); } @@ -14330,16 +13486,16 @@ chan_config$_ init_timeout:uint32 close_timeout:uint32 a_key:bits256 b_key:bits */ export function loadChanConfig(slice: Slice): ChanConfig { - let init_timeout: number = slice.loadUint(32); - let close_timeout: number = slice.loadUint(32); - let a_key: Buffer = slice.loadBuffer((256 / 8)); - let b_key: Buffer = slice.loadBuffer((256 / 8)); - let slice1 = slice.loadRef().beginParse(true); - let a_addr: Address = slice1.loadAddress(); - let slice2 = slice.loadRef().beginParse(true); - let b_addr: Address = slice2.loadAddress(); - let channel_id: bigint = slice.loadUintBig(64); - let min_A_extra: bigint = slice.loadCoins(); + const init_timeout: number = slice.loadUint(32); + const close_timeout: number = slice.loadUint(32); + const a_key: Buffer = slice.loadBuffer((256 / 8)); + const b_key: Buffer = slice.loadBuffer((256 / 8)); + const slice1 = slice.loadRef().beginParse(true); + const a_addr: Address = slice1.loadAddress(); + const slice2 = slice.loadRef().beginParse(true); + const b_addr: Address = slice2.loadAddress(); + const channel_id: bigint = slice.loadUintBig(64); + const min_A_extra: bigint = slice.loadCoins(); return { kind: 'ChanConfig', init_timeout: init_timeout, @@ -14351,7 +13507,6 @@ export function loadChanConfig(slice: Slice): ChanConfig { channel_id: channel_id, min_A_extra: min_A_extra, } - } export function storeChanConfig(chanConfig: ChanConfig): (builder: Builder) => void { @@ -14360,16 +13515,15 @@ export function storeChanConfig(chanConfig: ChanConfig): (builder: Builder) => v builder.storeUint(chanConfig.close_timeout, 32); builder.storeBuffer(chanConfig.a_key, (256 / 8)); builder.storeBuffer(chanConfig.b_key, (256 / 8)); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeAddress(chanConfig.a_addr); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); cell2.storeAddress(chanConfig.b_addr); builder.storeRef(cell2); builder.storeUint(chanConfig.channel_id, 64); builder.storeCoins(chanConfig.min_A_extra); }) - } // chan_state_init$000 signed_A:Bool signed_B:Bool min_A:Grams min_B:Grams expire_at:uint32 A:Grams B:Grams = ChanState; @@ -14381,13 +13535,13 @@ export function storeChanConfig(chanConfig: ChanConfig): (builder: Builder) => v export function loadChanState(slice: Slice): ChanState { if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b000))) { slice.loadUint(3); - let signed_A: Bool = loadBool(slice); - let signed_B: Bool = loadBool(slice); - let min_A: bigint = slice.loadCoins(); - let min_B: bigint = slice.loadCoins(); - let expire_at: number = slice.loadUint(32); - let A: bigint = slice.loadCoins(); - let B: bigint = slice.loadCoins(); + const signed_A: Bool = loadBool(slice); + const signed_B: Bool = loadBool(slice); + const min_A: bigint = slice.loadCoins(); + const min_B: bigint = slice.loadCoins(); + const expire_at: number = slice.loadUint(32); + const A: bigint = slice.loadCoins(); + const B: bigint = slice.loadCoins(); return { kind: 'ChanState_chan_state_init', signed_A: signed_A, @@ -14398,17 +13552,16 @@ export function loadChanState(slice: Slice): ChanState { A: A, B: B, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b001))) { slice.loadUint(3); - let signed_A: Bool = loadBool(slice); - let signed_B: Bool = loadBool(slice); - let promise_A: bigint = slice.loadCoins(); - let promise_B: bigint = slice.loadCoins(); - let expire_at: number = slice.loadUint(32); - let A: bigint = slice.loadCoins(); - let B: bigint = slice.loadCoins(); + const signed_A: Bool = loadBool(slice); + const signed_B: Bool = loadBool(slice); + const promise_A: bigint = slice.loadCoins(); + const promise_B: bigint = slice.loadCoins(); + const expire_at: number = slice.loadUint(32); + const A: bigint = slice.loadCoins(); + const B: bigint = slice.loadCoins(); return { kind: 'ChanState_chan_state_close', signed_A: signed_A, @@ -14419,18 +13572,16 @@ export function loadChanState(slice: Slice): ChanState { A: A, B: B, } - } if (((slice.remainingBits >= 3) && (slice.preloadUint(3) == 0b010))) { slice.loadUint(3); - let A: bigint = slice.loadCoins(); - let B: bigint = slice.loadCoins(); + const A: bigint = slice.loadCoins(); + const B: bigint = slice.loadCoins(); return { kind: 'ChanState_chan_state_payout', A: A, B: B, } - } throw new Error('Expected one of "ChanState_chan_state_init", "ChanState_chan_state_close", "ChanState_chan_state_payout" in loading "ChanState", but data does not satisfy any constructor'); } @@ -14447,7 +13598,6 @@ export function storeChanState(chanState: ChanState): (builder: Builder) => void builder.storeCoins(chanState.A); builder.storeCoins(chanState.B); }) - } if ((chanState.kind == 'ChanState_chan_state_close')) { return ((builder: Builder) => { @@ -14460,7 +13610,6 @@ export function storeChanState(chanState: ChanState): (builder: Builder) => void builder.storeCoins(chanState.A); builder.storeCoins(chanState.B); }) - } if ((chanState.kind == 'ChanState_chan_state_payout')) { return ((builder: Builder) => { @@ -14468,7 +13617,6 @@ export function storeChanState(chanState: ChanState): (builder: Builder) => void builder.storeCoins(chanState.A); builder.storeCoins(chanState.B); }) - } throw new Error('Expected one of "ChanState_chan_state_init", "ChanState_chan_state_close", "ChanState_chan_state_payout" in loading "ChanState", but data does not satisfy any constructor'); } @@ -14476,16 +13624,15 @@ export function storeChanState(chanState: ChanState): (builder: Builder) => void // chan_promise$_ channel_id:uint64 promise_A:Grams promise_B:Grams = ChanPromise; export function loadChanPromise(slice: Slice): ChanPromise { - let channel_id: bigint = slice.loadUintBig(64); - let promise_A: bigint = slice.loadCoins(); - let promise_B: bigint = slice.loadCoins(); + const channel_id: bigint = slice.loadUintBig(64); + const promise_A: bigint = slice.loadCoins(); + const promise_B: bigint = slice.loadCoins(); return { kind: 'ChanPromise', channel_id: channel_id, promise_A: promise_A, promise_B: promise_B, } - } export function storeChanPromise(chanPromise: ChanPromise): (builder: Builder) => void { @@ -14494,40 +13641,34 @@ export function storeChanPromise(chanPromise: ChanPromise): (builder: Builder) = builder.storeCoins(chanPromise.promise_A); builder.storeCoins(chanPromise.promise_B); }) - } // chan_signed_promise#_ sig:(Maybe ^bits512) promise:ChanPromise = ChanSignedPromise; export function loadChanSignedPromise(slice: Slice): ChanSignedPromise { - let sig: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const sig: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.loadBuffer((512 / 8)) - })); - let promise: ChanPromise = loadChanPromise(slice); + const promise: ChanPromise = loadChanPromise(slice); return { kind: 'ChanSignedPromise', sig: sig, promise: promise, } - } export function storeChanSignedPromise(chanSignedPromise: ChanSignedPromise): (builder: Builder) => void { return ((builder: Builder) => { storeMaybe(chanSignedPromise.sig, ((arg: Buffer) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeBuffer(arg, (512 / 8)); builder.storeRef(cell1); - }) - }))(builder); storeChanPromise(chanSignedPromise.promise)(builder); }) - } // chan_msg_init#27317822 inc_A:Grams inc_B:Grams min_A:Grams min_B:Grams channel_id:uint64 = ChanMsg; @@ -14541,11 +13682,11 @@ export function storeChanSignedPromise(chanSignedPromise: ChanSignedPromise): (b export function loadChanMsg(slice: Slice): ChanMsg { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x27317822))) { slice.loadUint(32); - let inc_A: bigint = slice.loadCoins(); - let inc_B: bigint = slice.loadCoins(); - let min_A: bigint = slice.loadCoins(); - let min_B: bigint = slice.loadCoins(); - let channel_id: bigint = slice.loadUintBig(64); + const inc_A: bigint = slice.loadCoins(); + const inc_B: bigint = slice.loadCoins(); + const min_A: bigint = slice.loadCoins(); + const min_B: bigint = slice.loadCoins(); + const channel_id: bigint = slice.loadUintBig(64); return { kind: 'ChanMsg_chan_msg_init', inc_A: inc_A, @@ -14554,34 +13695,30 @@ export function loadChanMsg(slice: Slice): ChanMsg { min_B: min_B, channel_id: channel_id, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xf28ae183))) { slice.loadUint(32); - let extra_A: bigint = slice.loadCoins(); - let extra_B: bigint = slice.loadCoins(); - let promise: ChanSignedPromise = loadChanSignedPromise(slice); + const extra_A: bigint = slice.loadCoins(); + const extra_B: bigint = slice.loadCoins(); + const promise: ChanSignedPromise = loadChanSignedPromise(slice); return { kind: 'ChanMsg_chan_msg_close', extra_A: extra_A, extra_B: extra_B, promise: promise, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x43278a28))) { slice.loadUint(32); return { kind: 'ChanMsg_chan_msg_timeout', } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x37fe7810))) { slice.loadUint(32); return { kind: 'ChanMsg_chan_msg_payout', } - } throw new Error('Expected one of "ChanMsg_chan_msg_init", "ChanMsg_chan_msg_close", "ChanMsg_chan_msg_timeout", "ChanMsg_chan_msg_payout" in loading "ChanMsg", but data does not satisfy any constructor'); } @@ -14596,7 +13733,6 @@ export function storeChanMsg(chanMsg: ChanMsg): (builder: Builder) => void { builder.storeCoins(chanMsg.min_B); builder.storeUint(chanMsg.channel_id, 64); }) - } if ((chanMsg.kind == 'ChanMsg_chan_msg_close')) { return ((builder: Builder) => { @@ -14605,19 +13741,16 @@ export function storeChanMsg(chanMsg: ChanMsg): (builder: Builder) => void { builder.storeCoins(chanMsg.extra_B); storeChanSignedPromise(chanMsg.promise)(builder); }) - } if ((chanMsg.kind == 'ChanMsg_chan_msg_timeout')) { return ((builder: Builder) => { builder.storeUint(0x43278a28, 32); }) - } if ((chanMsg.kind == 'ChanMsg_chan_msg_payout')) { return ((builder: Builder) => { builder.storeUint(0x37fe7810, 32); }) - } throw new Error('Expected one of "ChanMsg_chan_msg_init", "ChanMsg_chan_msg_close", "ChanMsg_chan_msg_timeout", "ChanMsg_chan_msg_payout" in loading "ChanMsg", but data does not satisfy any constructor'); } @@ -14625,49 +13758,41 @@ export function storeChanMsg(chanMsg: ChanMsg): (builder: Builder) => void { // chan_signed_msg$_ sig_A:(Maybe ^bits512) sig_B:(Maybe ^bits512) msg:ChanMsg = ChanSignedMsg; export function loadChanSignedMsg(slice: Slice): ChanSignedMsg { - let sig_A: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const sig_A: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.loadBuffer((512 / 8)) - })); - let sig_B: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const sig_B: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return slice1.loadBuffer((512 / 8)) - })); - let msg: ChanMsg = loadChanMsg(slice); + const msg: ChanMsg = loadChanMsg(slice); return { kind: 'ChanSignedMsg', sig_A: sig_A, sig_B: sig_B, msg: msg, } - } export function storeChanSignedMsg(chanSignedMsg: ChanSignedMsg): (builder: Builder) => void { return ((builder: Builder) => { storeMaybe(chanSignedMsg.sig_A, ((arg: Buffer) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeBuffer(arg, (512 / 8)); builder.storeRef(cell1); - }) - }))(builder); storeMaybe(chanSignedMsg.sig_B, ((arg: Buffer) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeBuffer(arg, (512 / 8)); builder.storeRef(cell1); - }) - }))(builder); storeChanMsg(chanSignedMsg.msg)(builder); }) - } // chan_op_cmd#912838d1 msg:ChanSignedMsg = ChanOp; @@ -14675,12 +13800,11 @@ export function storeChanSignedMsg(chanSignedMsg: ChanSignedMsg): (builder: Buil export function loadChanOp(slice: Slice): ChanOp { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x912838d1))) { slice.loadUint(32); - let msg: ChanSignedMsg = loadChanSignedMsg(slice); + const msg: ChanSignedMsg = loadChanSignedMsg(slice); return { kind: 'ChanOp', msg: msg, } - } throw new Error('Expected one of "ChanOp" in loading "ChanOp", but data does not satisfy any constructor'); } @@ -14690,33 +13814,30 @@ export function storeChanOp(chanOp: ChanOp): (builder: Builder) => void { builder.storeUint(0x912838d1, 32); storeChanSignedMsg(chanOp.msg)(builder); }) - } // chan_data$_ config:^ChanConfig state:^ChanState = ChanData; export function loadChanData(slice: Slice): ChanData { - let slice1 = slice.loadRef().beginParse(true); - let config: ChanConfig = loadChanConfig(slice1); - let slice2 = slice.loadRef().beginParse(true); - let state: ChanState = loadChanState(slice2); + const slice1 = slice.loadRef().beginParse(true); + const config: ChanConfig = loadChanConfig(slice1); + const slice2 = slice.loadRef().beginParse(true); + const state: ChanState = loadChanState(slice2); return { kind: 'ChanData', config: config, state: state, } - } export function storeChanData(chanData: ChanData): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeChanConfig(chanData.config)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeChanState(chanData.state)(cell2); builder.storeRef(cell2); }) - } diff --git a/test/generated_files/generated_test.ts b/test/generated_files/generated_test.ts index 295a02d..2a57030 100644 --- a/test/generated_files/generated_test.ts +++ b/test/generated_files/generated_test.ts @@ -1259,14 +1259,13 @@ export interface TagCalculatorExample { // tmpa$_ a:# b:# = Simple; export function loadSimple(slice: Slice): Simple { - let a: number = slice.loadUint(32); - let b: number = slice.loadUint(32); + const a: number = slice.loadUint(32); + const b: number = slice.loadUint(32); return { kind: 'Simple', a: a, b: b, } - } export function storeSimple(simple: Simple): (builder: Builder) => void { @@ -1274,57 +1273,51 @@ export function storeSimple(simple: Simple): (builder: Builder) => void { builder.storeUint(simple.a, 32); builder.storeUint(simple.b, 32); }) - } // a$_ {Arg:Type} arg:Arg = TypedArg Arg; export function loadTypedArg(slice: Slice, loadArg: (slice: Slice) => Arg): TypedArg { - let arg: Arg = loadArg(slice); + const arg: Arg = loadArg(slice); return { kind: 'TypedArg', arg: arg, } - } export function storeTypedArg(typedArg: TypedArg, storeArg: (arg: Arg) => (builder: Builder) => void): (builder: Builder) => void { return ((builder: Builder) => { storeArg(typedArg.arg)(builder); }) - } // a$_ x:(TypedArg Simple) = TypedArgUser; export function loadTypedArgUser(slice: Slice): TypedArgUser { - let x: TypedArg = loadTypedArg(slice, loadSimple); + const x: TypedArg = loadTypedArg(slice, loadSimple); return { kind: 'TypedArgUser', x: x, } - } export function storeTypedArgUser(typedArgUser: TypedArgUser): (builder: Builder) => void { return ((builder: Builder) => { storeTypedArg(typedArgUser.x, storeSimple)(builder); }) - } // a$_ {Arg:Type} {n:#} arg:Arg c:(## n) = ParamAndTypedArg n Arg; export function loadParamAndTypedArg(slice: Slice, n: number, loadArg: (slice: Slice) => Arg): ParamAndTypedArg { - let arg: Arg = loadArg(slice); - let c: bigint = slice.loadUintBig(n); + const arg: Arg = loadArg(slice); + const c: bigint = slice.loadUintBig(n); return { kind: 'ParamAndTypedArg', n: n, arg: arg, c: c, } - } export function storeParamAndTypedArg(paramAndTypedArg: ParamAndTypedArg, storeArg: (arg: Arg) => (builder: Builder) => void): (builder: Builder) => void { @@ -1332,38 +1325,34 @@ export function storeParamAndTypedArg(paramAndTypedArg: ParamAndTypedArg = loadParamAndTypedArg(slice, 5, loadSimple); + const x: ParamAndTypedArg = loadParamAndTypedArg(slice, 5, loadSimple); return { kind: 'ParamAndTypedArgUser', x: x, } - } export function storeParamAndTypedArgUser(paramAndTypedArgUser: ParamAndTypedArgUser): (builder: Builder) => void { return ((builder: Builder) => { storeParamAndTypedArg(paramAndTypedArgUser.x, storeSimple)(builder); }) - } // _ x:Simple y:Simple = TwoSimples; export function loadTwoSimples(slice: Slice): TwoSimples { - let x: Simple = loadSimple(slice); - let y: Simple = loadSimple(slice); + const x: Simple = loadSimple(slice); + const y: Simple = loadSimple(slice); return { kind: 'TwoSimples', x: x, y: y, } - } export function storeTwoSimples(twoSimples: TwoSimples): (builder: Builder) => void { @@ -1371,20 +1360,18 @@ export function storeTwoSimples(twoSimples: TwoSimples): (builder: Builder) => v storeSimple(twoSimples.x)(builder); storeSimple(twoSimples.y)(builder); }) - } // _ one_maybe:(Maybe Simple) second_maybe:(Maybe Simple) = TwoMaybes; export function loadTwoMaybes(slice: Slice): TwoMaybes { - let one_maybe: Maybe = loadMaybe(slice, loadSimple); - let second_maybe: Maybe = loadMaybe(slice, loadSimple); + const one_maybe: Maybe = loadMaybe(slice, loadSimple); + const second_maybe: Maybe = loadMaybe(slice, loadSimple); return { kind: 'TwoMaybes', one_maybe: one_maybe, second_maybe: second_maybe, } - } export function storeTwoMaybes(twoMaybes: TwoMaybes): (builder: Builder) => void { @@ -1392,7 +1379,6 @@ export function storeTwoMaybes(twoMaybes: TwoMaybes): (builder: Builder) => void storeMaybe(twoMaybes.one_maybe, storeSimple)(builder); storeMaybe(twoMaybes.second_maybe, storeSimple)(builder); }) - } // bool_false$0 a:# b:(## 7) c:# = TwoConstructors; @@ -1402,25 +1388,23 @@ export function storeTwoMaybes(twoMaybes: TwoMaybes): (builder: Builder) => void export function loadTwoConstructors(slice: Slice): TwoConstructors { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let a: number = slice.loadUint(32); - let b: number = slice.loadUint(7); - let c: number = slice.loadUint(32); + const a: number = slice.loadUint(32); + const b: number = slice.loadUint(7); + const c: number = slice.loadUint(32); return { kind: 'TwoConstructors_bool_false', a: a, b: b, c: c, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let b: number = slice.loadUint(32); + const b: number = slice.loadUint(32); return { kind: 'TwoConstructors_bool_true', b: b, } - } throw new Error('Expected one of "TwoConstructors_bool_false", "TwoConstructors_bool_true" in loading "TwoConstructors", but data does not satisfy any constructor'); } @@ -1433,14 +1417,12 @@ export function storeTwoConstructors(twoConstructors: TwoConstructors): (builder builder.storeUint(twoConstructors.b, 7); builder.storeUint(twoConstructors.c, 32); }) - } if ((twoConstructors.kind == 'TwoConstructors_bool_true')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); builder.storeUint(twoConstructors.b, 32); }) - } throw new Error('Expected one of "TwoConstructors_bool_false", "TwoConstructors_bool_true" in loading "TwoConstructors", but data does not satisfy any constructor'); } @@ -1448,32 +1430,29 @@ export function storeTwoConstructors(twoConstructors: TwoConstructors): (builder // tmpb$_ y:(## 5) = FixedIntParam; export function loadFixedIntParam(slice: Slice): FixedIntParam { - let y: number = slice.loadUint(5); + const y: number = slice.loadUint(5); return { kind: 'FixedIntParam', y: y, } - } export function storeFixedIntParam(fixedIntParam: FixedIntParam): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(fixedIntParam.y, 5); }) - } // tmpc$_ y:FixedIntParam c:# = TypedField; export function loadTypedField(slice: Slice): TypedField { - let y: FixedIntParam = loadFixedIntParam(slice); - let c: number = slice.loadUint(32); + const y: FixedIntParam = loadFixedIntParam(slice); + const c: number = slice.loadUint(32); return { kind: 'TypedField', y: y, c: c, } - } export function storeTypedField(typedField: TypedField): (builder: Builder) => void { @@ -1481,20 +1460,18 @@ export function storeTypedField(typedField: TypedField): (builder: Builder) => v storeFixedIntParam(typedField.y)(builder); builder.storeUint(typedField.c, 32); }) - } // tmpd#_ y:FixedIntParam c:# = SharpConstructor; export function loadSharpConstructor(slice: Slice): SharpConstructor { - let y: FixedIntParam = loadFixedIntParam(slice); - let c: number = slice.loadUint(32); + const y: FixedIntParam = loadFixedIntParam(slice); + const c: number = slice.loadUint(32); return { kind: 'SharpConstructor', y: y, c: c, } - } export function storeSharpConstructor(sharpConstructor: SharpConstructor): (builder: Builder) => void { @@ -1502,7 +1479,6 @@ export function storeSharpConstructor(sharpConstructor: SharpConstructor): (buil storeFixedIntParam(sharpConstructor.y)(builder); builder.storeUint(sharpConstructor.c, 32); }) - } // nothing$0 {TheType:Type} = Maybe TheType; @@ -1515,16 +1491,14 @@ export function loadMaybe(slice: Slice, loadTheType: (slice: Slice) => return { kind: 'Maybe_nothing', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let value: TheType = loadTheType(slice); + const value: TheType = loadTheType(slice); return { kind: 'Maybe_just', value: value, } - } throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); } @@ -1534,14 +1508,12 @@ export function storeMaybe(maybe: Maybe, storeTheType: (theTyp return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((maybe.kind == 'Maybe_just')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeTheType(maybe.value)(builder); }) - } throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); } @@ -1549,19 +1521,17 @@ export function storeMaybe(maybe: Maybe, storeTheType: (theTyp // thejust$_ x:(Maybe SharpConstructor) = TypedParam; export function loadTypedParam(slice: Slice): TypedParam { - let x: Maybe = loadMaybe(slice, loadSharpConstructor); + const x: Maybe = loadMaybe(slice, loadSharpConstructor); return { kind: 'TypedParam', x: x, } - } export function storeTypedParam(typedParam: TypedParam): (builder: Builder) => void { return ((builder: Builder) => { storeMaybe(typedParam.x, storeSharpConstructor)(builder); }) - } // left$0 {X:Type} {Y:Type} value:X = Either X Y; @@ -1571,21 +1541,19 @@ export function storeTypedParam(typedParam: TypedParam): (builder: Builder) => v export function loadEither(slice: Slice, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): Either { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'Either_left', value: value, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let value: Y = loadY(slice); + const value: Y = loadY(slice); return { kind: 'Either_right', value: value, } - } throw new Error('Expected one of "Either_left", "Either_right" in loading "Either", but data does not satisfy any constructor'); } @@ -1596,14 +1564,12 @@ export function storeEither(either: Either, storeX: (x: X) => (build builder.storeUint(0b0, 1); storeX(either.value)(builder); }) - } if ((either.kind == 'Either_right')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeY(either.value)(builder); }) - } throw new Error('Expected one of "Either_left", "Either_right" in loading "Either", but data does not satisfy any constructor'); } @@ -1611,131 +1577,119 @@ export function storeEither(either: Either, storeX: (x: X) => (build // a$_ {x:#} value:(## x) = BitLenArg x; export function loadBitLenArg(slice: Slice, x: number): BitLenArg { - let value: bigint = slice.loadUintBig(x); + const value: bigint = slice.loadUintBig(x); return { kind: 'BitLenArg', x: x, value: value, } - } export function storeBitLenArg(bitLenArg: BitLenArg): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(bitLenArg.value, bitLenArg.x); }) - } // a$_ t:(BitLenArg 4) = BitLenArgUser; export function loadBitLenArgUser(slice: Slice): BitLenArgUser { - let t: BitLenArg = loadBitLenArg(slice, 4); + const t: BitLenArg = loadBitLenArg(slice, 4); return { kind: 'BitLenArgUser', t: t, } - } export function storeBitLenArgUser(bitLenArgUser: BitLenArgUser): (builder: Builder) => void { return ((builder: Builder) => { storeBitLenArg(bitLenArgUser.t)(builder); }) - } // a$_ {x:#} value:(## x) = ExprArg (2 + x); export function loadExprArg(slice: Slice, arg0: number): ExprArg { - let value: bigint = slice.loadUintBig((arg0 - 2)); + const value: bigint = slice.loadUintBig((arg0 - 2)); return { kind: 'ExprArg', x: (arg0 - 2), value: value, } - } export function storeExprArg(exprArg: ExprArg): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(exprArg.value, exprArg.x); }) - } // a$_ t:(ExprArg 6) = ExprArgUser; export function loadExprArgUser(slice: Slice): ExprArgUser { - let t: ExprArg = loadExprArg(slice, 6); + const t: ExprArg = loadExprArg(slice, 6); return { kind: 'ExprArgUser', t: t, } - } export function storeExprArgUser(exprArgUser: ExprArgUser): (builder: Builder) => void { return ((builder: Builder) => { storeExprArg(exprArgUser.t)(builder); }) - } // a$_ a:ExprArgUser = ComplexTypedField; export function loadComplexTypedField(slice: Slice): ComplexTypedField { - let a: ExprArgUser = loadExprArgUser(slice); + const a: ExprArgUser = loadExprArgUser(slice); return { kind: 'ComplexTypedField', a: a, } - } export function storeComplexTypedField(complexTypedField: ComplexTypedField): (builder: Builder) => void { return ((builder: Builder) => { storeExprArgUser(complexTypedField.a)(builder); }) - } // a$_ a:^ExprArgUser = CellTypedField; export function loadCellTypedField(slice: Slice): CellTypedField { - let slice1 = slice.loadRef().beginParse(true); - let a: ExprArgUser = loadExprArgUser(slice1); + const slice1 = slice.loadRef().beginParse(true); + const a: ExprArgUser = loadExprArgUser(slice1); return { kind: 'CellTypedField', a: a, } - } export function storeCellTypedField(_cellTypedField: CellTypedField): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeExprArgUser(_cellTypedField.a)(cell1); builder.storeRef(cell1); }) - } // a$_ t:# ^[ q:# ] ^[ a:(## 32) ^[ e:# ] ^[ b:(## 32) d:# ^[ c:(## 32) ] ] ] = CellsSimple; export function loadCellsSimple(slice: Slice): CellsSimple { - let t: number = slice.loadUint(32); - let slice1 = slice.loadRef().beginParse(true); - let q: number = slice1.loadUint(32); - let slice2 = slice.loadRef().beginParse(true); - let a: number = slice2.loadUint(32); - let slice21 = slice2.loadRef().beginParse(true); - let e: number = slice21.loadUint(32); - let slice22 = slice2.loadRef().beginParse(true); - let b: number = slice22.loadUint(32); - let d: number = slice22.loadUint(32); - let slice221 = slice22.loadRef().beginParse(true); - let c: number = slice221.loadUint(32); + const t: number = slice.loadUint(32); + const slice1 = slice.loadRef().beginParse(true); + const q: number = slice1.loadUint(32); + const slice2 = slice.loadRef().beginParse(true); + const a: number = slice2.loadUint(32); + const slice21 = slice2.loadRef().beginParse(true); + const e: number = slice21.loadUint(32); + const slice22 = slice2.loadRef().beginParse(true); + const b: number = slice22.loadUint(32); + const d: number = slice22.loadUint(32); + const slice221 = slice22.loadRef().beginParse(true); + const c: number = slice221.loadUint(32); return { kind: 'CellsSimple', t: t, @@ -1746,39 +1700,37 @@ export function loadCellsSimple(slice: Slice): CellsSimple { d: d, c: c, } - } export function storeCellsSimple(_cellsSimple: CellsSimple): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(_cellsSimple.t, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeUint(_cellsSimple.q, 32); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); cell2.storeUint(_cellsSimple.a, 32); - let cell21 = beginCell(); + const cell21 = beginCell(); cell21.storeUint(_cellsSimple.e, 32); cell2.storeRef(cell21); - let cell22 = beginCell(); + const cell22 = beginCell(); cell22.storeUint(_cellsSimple.b, 32); cell22.storeUint(_cellsSimple.d, 32); - let cell221 = beginCell(); + const cell221 = beginCell(); cell221.storeUint(_cellsSimple.c, 32); cell22.storeRef(cell221); cell2.storeRef(cell22); builder.storeRef(cell2); }) - } // b$_ d:int11 g:bits2 {Arg:Type} arg:Arg x:Any = IntBits Arg; export function loadIntBits(slice: Slice, loadArg: (slice: Slice) => Arg): IntBits { - let d: number = slice.loadInt(11); - let g: BitString = slice.loadBits(2); - let arg: Arg = loadArg(slice); - let x: Cell = slice.asCell(); + const d: number = slice.loadInt(11); + const g: BitString = slice.loadBits(2); + const arg: Arg = loadArg(slice); + const x: Cell = slice.asCell(); return { kind: 'IntBits', d: d, @@ -1786,7 +1738,6 @@ export function loadIntBits(slice: Slice, loadArg: (slice: Slice) => Arg): arg: arg, x: x, } - } export function storeIntBits(intBits: IntBits, storeArg: (arg: Arg) => (builder: Builder) => void): (builder: Builder) => void { @@ -1796,22 +1747,19 @@ export function storeIntBits(intBits: IntBits, storeArg: (arg: Arg) => storeArg(intBits.arg)(builder); builder.storeSlice(intBits.x.beginParse(true)); }) - } // a$_ {x:#} a:(IntBits (int (1 + x))) = IntBitsInside (x * 2); export function loadIntBitsInside(slice: Slice, arg0: number): IntBitsInside { - let a: IntBits = loadIntBits(slice, ((slice: Slice) => { + const a: IntBits = loadIntBits(slice, ((slice: Slice) => { return slice.loadIntBig((1 + (arg0 / 2))) - })); return { kind: 'IntBitsInside', x: (arg0 / 2), a: a, } - } export function storeIntBitsInside(intBitsInside: IntBitsInside): (builder: Builder) => void { @@ -1820,39 +1768,35 @@ export function storeIntBitsInside(intBitsInside: IntBitsInside): (builder: Buil return ((builder: Builder) => { builder.storeInt(arg, (1 + intBitsInside.x)); }) - }))(builder); }) - } // a$_ x:(IntBitsInside 6) = IntBitsOutside; export function loadIntBitsOutside(slice: Slice): IntBitsOutside { - let x: IntBitsInside = loadIntBitsInside(slice, 6); + const x: IntBitsInside = loadIntBitsInside(slice, 6); return { kind: 'IntBitsOutside', x: x, } - } export function storeIntBitsOutside(intBitsOutside: IntBitsOutside): (builder: Builder) => void { return ((builder: Builder) => { storeIntBitsInside(intBitsOutside.x)(builder); }) - } // a$_ {e:#} h:(int (e * 8)) f:(uint (7 * e)) i:(bits (5 + e)) j:(int 5) k:(uint e) tc:Cell = IntBitsParametrized e; export function loadIntBitsParametrized(slice: Slice, e: number): IntBitsParametrized { - let h: bigint = slice.loadIntBig((e * 8)); - let f: bigint = slice.loadUintBig((7 * e)); - let i: BitString = slice.loadBits((5 + e)); - let j: number = slice.loadInt(5); - let k: bigint = slice.loadUintBig(e); - let tc: Cell = slice.asCell(); + const h: bigint = slice.loadIntBig((e * 8)); + const f: bigint = slice.loadUintBig((7 * e)); + const i: BitString = slice.loadBits((5 + e)); + const j: number = slice.loadInt(5); + const k: bigint = slice.loadUintBig(e); + const tc: Cell = slice.asCell(); return { kind: 'IntBitsParametrized', e: e, @@ -1863,7 +1807,6 @@ export function loadIntBitsParametrized(slice: Slice, e: number): IntBitsParamet k: k, tc: tc, } - } export function storeIntBitsParametrized(intBitsParametrized: IntBitsParametrized): (builder: Builder) => void { @@ -1875,57 +1818,51 @@ export function storeIntBitsParametrized(intBitsParametrized: IntBitsParametrize builder.storeUint(intBitsParametrized.k, intBitsParametrized.e); builder.storeSlice(intBitsParametrized.tc.beginParse(true)); }) - } // a$_ {x:#} a:(IntBitsParametrized x) = IntBitsParametrizedInside x; export function loadIntBitsParametrizedInside(slice: Slice, x: number): IntBitsParametrizedInside { - let a: IntBitsParametrized = loadIntBitsParametrized(slice, x); + const a: IntBitsParametrized = loadIntBitsParametrized(slice, x); return { kind: 'IntBitsParametrizedInside', x: x, a: a, } - } export function storeIntBitsParametrizedInside(intBitsParametrizedInside: IntBitsParametrizedInside): (builder: Builder) => void { return ((builder: Builder) => { storeIntBitsParametrized(intBitsParametrizedInside.a)(builder); }) - } // a$_ x:(IntBitsParametrizedInside 5) = IntBitsParametrizedOutside; export function loadIntBitsParametrizedOutside(slice: Slice): IntBitsParametrizedOutside { - let x: IntBitsParametrizedInside = loadIntBitsParametrizedInside(slice, 5); + const x: IntBitsParametrizedInside = loadIntBitsParametrizedInside(slice, 5); return { kind: 'IntBitsParametrizedOutside', x: x, } - } export function storeIntBitsParametrizedOutside(intBitsParametrizedOutside: IntBitsParametrizedOutside): (builder: Builder) => void { return ((builder: Builder) => { storeIntBitsParametrizedInside(intBitsParametrizedOutside.x)(builder); }) - } // a$_ x:(#< 4) y:(#<= 4) = LessThan; export function loadLessThan(slice: Slice): LessThan { - let x: number = slice.loadUint(bitLen((4 - 1))); - let y: number = slice.loadUint(bitLen(4)); + const x: number = slice.loadUint(bitLen((4 - 1))); + const y: number = slice.loadUint(bitLen(4)); return { kind: 'LessThan', x: x, y: y, } - } export function storeLessThan(lessThan: LessThan): (builder: Builder) => void { @@ -1933,20 +1870,18 @@ export function storeLessThan(lessThan: LessThan): (builder: Builder) => void { builder.storeUint(lessThan.x, bitLen((4 - 1))); builder.storeUint(lessThan.y, bitLen(4)); }) - } // a$_ {A:Type} t:# x:A = OneComb A; export function loadOneComb(slice: Slice, loadA: (slice: Slice) => A): OneComb { - let t: number = slice.loadUint(32); - let x: A = loadA(slice); + const t: number = slice.loadUint(32); + const x: A = loadA(slice); return { kind: 'OneComb', t: t, x: x, } - } export function storeOneComb(oneComb: OneComb, storeA: (a: A) => (builder: Builder) => void): (builder: Builder) => void { @@ -1954,27 +1889,22 @@ export function storeOneComb(oneComb: OneComb, storeA: (a: A) => (builder: builder.storeUint(oneComb.t, 32); storeA(oneComb.x)(builder); }) - } // a$_ y:(OneComb(OneComb(OneComb int3))) = ManyComb; export function loadManyComb(slice: Slice): ManyComb { - let y: OneComb>> = loadOneComb>>(slice, ((slice: Slice) => { + const y: OneComb>> = loadOneComb>>(slice, ((slice: Slice) => { return loadOneComb>(slice, ((slice: Slice) => { return loadOneComb(slice, ((slice: Slice) => { return slice.loadInt(3) - })) - })) - })); return { kind: 'ManyComb', y: y, } - } export function storeManyComb(manyComb: ManyComb): (builder: Builder) => void { @@ -1987,16 +1917,12 @@ export function storeManyComb(manyComb: ManyComb): (builder: Builder) => void { return ((builder: Builder) => { builder.storeInt(arg, 3); }) - }))(builder); }) - }))(builder); }) - }))(builder); }) - } // unary_zero$0 = Unary ~0; @@ -2004,12 +1930,10 @@ export function storeManyComb(manyComb: ManyComb): (builder: Builder) => void { export function unary_unary_succ_get_n(x: Unary): number { if ((x.kind == 'Unary_unary_zero')) { return 0 - } if ((x.kind == 'Unary_unary_succ')) { - let n = x.n; + const n = x.n; return (n + 1) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "x", but data does not satisfy any constructor'); } @@ -2022,18 +1946,16 @@ export function loadUnary(slice: Slice): Unary { return { kind: 'Unary_unary_zero', } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let x: Unary = loadUnary(slice); - let n = unary_unary_succ_get_n(x); + const x: Unary = loadUnary(slice); + const n = unary_unary_succ_get_n(x); return { kind: 'Unary_unary_succ', x: x, n: n, } - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" in loading "Unary", but data does not satisfy any constructor'); } @@ -2043,14 +1965,12 @@ export function storeUnary(unary: Unary): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((unary.kind == 'Unary_unary_succ')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeUnary(unary.x)(builder); }) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" in loading "Unary", but data does not satisfy any constructor'); } @@ -2066,41 +1986,38 @@ export function storeUnary(unary: Unary): (builder: Builder) => void { export function loadParamConst(slice: Slice, arg0: number, arg1: number): ParamConst { if (((slice.remainingBits >= 2) && ((slice.preloadUint(2) == 0b01) && ((arg0 == 2) && (arg1 == 1))))) { slice.loadUint(2); - let m: number = slice.loadUint(32); - let k: number = slice.loadUint(32); + const m: number = slice.loadUint(32); + const k: number = slice.loadUint(32); return { kind: 'ParamConst_b', m: m, k: k, } - } if (((slice.remainingBits >= 2) && ((slice.preloadUint(2) == 0b01) && ((arg0 == 3) && (arg1 == 3))))) { slice.loadUint(2); - let n: number = slice.loadUint(32); - let m: number = slice.loadUint(32); - let k: number = slice.loadUint(32); + const n: number = slice.loadUint(32); + const m: number = slice.loadUint(32); + const k: number = slice.loadUint(32); return { kind: 'ParamConst_c', n: n, m: m, k: k, } - } if (((arg0 == 1) && (arg1 == 1))) { - let n: number = slice.loadUint(32); + const n: number = slice.loadUint(32); return { kind: 'ParamConst_a', n: n, } - } if (((arg0 == 4) && (arg1 == 2))) { - let n: number = slice.loadUint(32); - let m: number = slice.loadUint(32); - let k: number = slice.loadUint(32); - let l: number = slice.loadUint(32); + const n: number = slice.loadUint(32); + const m: number = slice.loadUint(32); + const k: number = slice.loadUint(32); + const l: number = slice.loadUint(32); return { kind: 'ParamConst_d', n: n, @@ -2108,7 +2025,6 @@ export function loadParamConst(slice: Slice, arg0: number, arg1: number): ParamC k: k, l: l, } - } throw new Error('Expected one of "ParamConst_b", "ParamConst_c", "ParamConst_a", "ParamConst_d" in loading "ParamConst", but data does not satisfy any constructor'); } @@ -2120,7 +2036,6 @@ export function storeParamConst(paramConst: ParamConst): (builder: Builder) => v builder.storeUint(paramConst.m, 32); builder.storeUint(paramConst.k, 32); }) - } if ((paramConst.kind == 'ParamConst_c')) { return ((builder: Builder) => { @@ -2129,13 +2044,11 @@ export function storeParamConst(paramConst: ParamConst): (builder: Builder) => v builder.storeUint(paramConst.m, 32); builder.storeUint(paramConst.k, 32); }) - } if ((paramConst.kind == 'ParamConst_a')) { return ((builder: Builder) => { builder.storeUint(paramConst.n, 32); }) - } if ((paramConst.kind == 'ParamConst_d')) { return ((builder: Builder) => { @@ -2144,7 +2057,6 @@ export function storeParamConst(paramConst: ParamConst): (builder: Builder) => v builder.storeUint(paramConst.k, 32); builder.storeUint(paramConst.l, 32); }) - } throw new Error('Expected one of "ParamConst_b", "ParamConst_c", "ParamConst_a", "ParamConst_d" in loading "ParamConst", but data does not satisfy any constructor'); } @@ -2156,21 +2068,17 @@ export function storeParamConst(paramConst: ParamConst): (builder: Builder) => v export function paramDifNames_c_get_n(x: ParamDifNames): number { if ((x.kind == 'ParamDifNames_a')) { return 1 - } if ((x.kind == 'ParamDifNames_b')) { return 1 - } if ((x.kind == 'ParamDifNames_c')) { - let n = x.n; + const n = x.n; return (n + 1) - } if ((x.kind == 'ParamDifNames_d')) { - let m = x.m; + const m = x.m; return (m * 2) - } throw new Error('Expected one of "ParamDifNames_a", "ParamDifNames_b", "ParamDifNames_c", "ParamDifNames_d" for type "ParamDifNames" while getting "x", but data does not satisfy any constructor'); } @@ -2180,21 +2088,17 @@ export function paramDifNames_c_get_n(x: ParamDifNames): number { export function paramDifNames_d_get_m(x: ParamDifNames): number { if ((x.kind == 'ParamDifNames_a')) { return 1 - } if ((x.kind == 'ParamDifNames_b')) { return 1 - } if ((x.kind == 'ParamDifNames_c')) { - let n = x.n; + const n = x.n; return (n + 1) - } if ((x.kind == 'ParamDifNames_d')) { - let m = x.m; + const m = x.m; return (m * 2) - } throw new Error('Expected one of "ParamDifNames_a", "ParamDifNames_b", "ParamDifNames_c", "ParamDifNames_d" for type "ParamDifNames" while getting "x", but data does not satisfy any constructor'); } @@ -2207,36 +2111,32 @@ export function loadParamDifNames(slice: Slice, arg0: number): ParamDifNames { return { kind: 'ParamDifNames_a', } - } if (((slice.remainingBits >= 1) && ((slice.preloadUint(1) == 0b1) && (arg0 == 3)))) { slice.loadUint(1); return { kind: 'ParamDifNames_b', } - } if (((slice.remainingBits >= 1) && ((slice.preloadUint(1) == 0b1) && (arg0 == 2)))) { slice.loadUint(1); - let x: ParamDifNames = loadParamDifNames(slice, 2); - let n = paramDifNames_c_get_n(x); + const x: ParamDifNames = loadParamDifNames(slice, 2); + const n = paramDifNames_c_get_n(x); return { kind: 'ParamDifNames_c', x: x, n: n, } - } if (((slice.remainingBits >= 1) && ((slice.preloadUint(1) == 0b0) && (arg0 == 3)))) { slice.loadUint(1); - let x: ParamDifNames = loadParamDifNames(slice, 3); - let m = paramDifNames_d_get_m(x); + const x: ParamDifNames = loadParamDifNames(slice, 3); + const m = paramDifNames_d_get_m(x); return { kind: 'ParamDifNames_d', x: x, m: m, } - } throw new Error('Expected one of "ParamDifNames_a", "ParamDifNames_b", "ParamDifNames_c", "ParamDifNames_d" in loading "ParamDifNames", but data does not satisfy any constructor'); } @@ -2246,27 +2146,23 @@ export function storeParamDifNames(paramDifNames: ParamDifNames): (builder: Buil return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((paramDifNames.kind == 'ParamDifNames_b')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); }) - } if ((paramDifNames.kind == 'ParamDifNames_c')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); storeParamDifNames(paramDifNames.x)(builder); }) - } if ((paramDifNames.kind == 'ParamDifNames_d')) { return ((builder: Builder) => { builder.storeUint(0b0, 1); storeParamDifNames(paramDifNames.x)(builder); }) - } throw new Error('Expected one of "ParamDifNames_a", "ParamDifNames_b", "ParamDifNames_c", "ParamDifNames_d" in loading "ParamDifNames", but data does not satisfy any constructor'); } @@ -2274,21 +2170,17 @@ export function storeParamDifNames(paramDifNames: ParamDifNames): (builder: Buil export function paramDifNamesUser_get_k(x: ParamDifNames): number { if ((x.kind == 'ParamDifNames_a')) { return 1 - } if ((x.kind == 'ParamDifNames_b')) { return 1 - } if ((x.kind == 'ParamDifNames_c')) { - let n = x.n; + const n = x.n; return (n + 1) - } if ((x.kind == 'ParamDifNames_d')) { - let m = x.m; + const m = x.m; return (m * 2) - } throw new Error('Expected one of "ParamDifNames_a", "ParamDifNames_b", "ParamDifNames_c", "ParamDifNames_d" for type "ParamDifNames" while getting "x", but data does not satisfy any constructor'); } @@ -2298,14 +2190,13 @@ export function paramDifNamesUser_get_k(x: ParamDifNames): number { export function loadParamDifNamesUser(slice: Slice): ParamDifNamesUser { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let x: ParamDifNames = loadParamDifNames(slice, 2); - let k = paramDifNamesUser_get_k(x); + const x: ParamDifNames = loadParamDifNames(slice, 2); + const k = paramDifNamesUser_get_k(x); return { kind: 'ParamDifNamesUser', x: x, k: k, } - } throw new Error('Expected one of "ParamDifNamesUser" in loading "ParamDifNamesUser", but data does not satisfy any constructor'); } @@ -2315,7 +2206,6 @@ export function storeParamDifNamesUser(paramDifNamesUser: ParamDifNamesUser): (b builder.storeUint(0b0, 1); storeParamDifNames(paramDifNamesUser.x)(builder); }) - } // b$1 {y:#} t:# z:# { t = (~y) * 2} = NegationFromImplicit ~(y + 1); @@ -2323,15 +2213,14 @@ export function storeParamDifNamesUser(paramDifNamesUser: ParamDifNamesUser): (b export function loadNegationFromImplicit(slice: Slice): NegationFromImplicit { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let t: number = slice.loadUint(32); - let z: number = slice.loadUint(32); + const t: number = slice.loadUint(32); + const z: number = slice.loadUint(32); return { kind: 'NegationFromImplicit', y: (t / 2), t: t, z: z, } - } throw new Error('Expected one of "NegationFromImplicit" in loading "NegationFromImplicit", but data does not satisfy any constructor'); } @@ -2342,18 +2231,15 @@ export function storeNegationFromImplicit(negationFromImplicit: NegationFromImpl builder.storeUint(negationFromImplicit.t, 32); builder.storeUint(negationFromImplicit.z, 32); }) - } export function unaryUserCheckOrder_get_l(label: Unary): number { if ((label.kind == 'Unary_unary_zero')) { return 0 - } if ((label.kind == 'Unary_unary_succ')) { - let n = label.n; + const n = label.n; return (n + 1) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "label", but data does not satisfy any constructor'); } @@ -2361,22 +2247,20 @@ export function unaryUserCheckOrder_get_l(label: Unary): number { // hm_edge#_ {l:#} {m:#} label:(Unary ~l) {7 = (~m) + l} = UnaryUserCheckOrder; export function loadUnaryUserCheckOrder(slice: Slice): UnaryUserCheckOrder { - let label: Unary = loadUnary(slice); - let l = unaryUserCheckOrder_get_l(label); + const label: Unary = loadUnary(slice); + const l = unaryUserCheckOrder_get_l(label); return { kind: 'UnaryUserCheckOrder', m: (7 - l), label: label, l: l, } - } export function storeUnaryUserCheckOrder(unaryUserCheckOrder: UnaryUserCheckOrder): (builder: Builder) => void { return ((builder: Builder) => { storeUnary(unaryUserCheckOrder.label)(builder); }) - } /* @@ -2387,24 +2271,20 @@ a$_ {X:Type} info:int32 */ export function loadCombArgCellRef(slice: Slice, loadX: (slice: Slice) => X): CombArgCellRef { - let info: number = slice.loadInt(32); - let init: Maybe> = loadMaybe>(slice, ((slice: Slice) => { + const info: number = slice.loadInt(32); + const init: Maybe> = loadMaybe>(slice, ((slice: Slice) => { return loadEither(slice, loadX, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return slice1.loadInt(22) - })) - })); - let other: Either> = loadEither>(slice, loadX, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const other: Either> = loadEither>(slice, loadX, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadOneComb(slice1, loadX) - })); - let body: Either = loadEither(slice, loadX, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const body: Either = loadEither(slice, loadX, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadX(slice1) - })); return { kind: 'CombArgCellRef', @@ -2413,7 +2293,6 @@ export function loadCombArgCellRef(slice: Slice, loadX: (slice: Slice) => X): other: other, body: body, } - } export function storeCombArgCellRef(combArgCellRef: CombArgCellRef, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -2423,50 +2302,40 @@ export function storeCombArgCellRef(combArgCellRef: CombArgCellRef, storeX return ((builder: Builder) => { storeEither(arg, storeX, ((arg: number) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeInt(arg, 22); builder.storeRef(cell1); - }) - }))(builder); }) - }))(builder); storeEither>(combArgCellRef.other, storeX, ((arg: OneComb) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeOneComb(arg, storeX)(cell1); builder.storeRef(cell1); - }) - }))(builder); storeEither(combArgCellRef.body, storeX, ((arg: X) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } // a$_ x:(CombArgCellRef int12) = CombArgCellRefUser; export function loadCombArgCellRefUser(slice: Slice): CombArgCellRefUser { - let x: CombArgCellRef = loadCombArgCellRef(slice, ((slice: Slice) => { + const x: CombArgCellRef = loadCombArgCellRef(slice, ((slice: Slice) => { return slice.loadInt(12) - })); return { kind: 'CombArgCellRefUser', x: x, } - } export function storeCombArgCellRefUser(combArgCellRefUser: CombArgCellRefUser): (builder: Builder) => void { @@ -2475,50 +2344,44 @@ export function storeCombArgCellRefUser(combArgCellRefUser: CombArgCellRefUser): return ((builder: Builder) => { builder.storeInt(arg, 12); }) - }))(builder); }) - } // a$_ {n:#} ref:^(BitLenArg (n + 2)) = MathExprAsCombArg (n + 2); export function loadMathExprAsCombArg(slice: Slice, arg0: number): MathExprAsCombArg { - let slice1 = slice.loadRef().beginParse(true); - let ref: BitLenArg = loadBitLenArg(slice1, ((arg0 - 2) + 2)); + const slice1 = slice.loadRef().beginParse(true); + const ref: BitLenArg = loadBitLenArg(slice1, ((arg0 - 2) + 2)); return { kind: 'MathExprAsCombArg', n: (arg0 - 2), ref: ref, } - } export function storeMathExprAsCombArg(mathExprAsCombArg: MathExprAsCombArg): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeBitLenArg(mathExprAsCombArg.ref)(cell1); builder.storeRef(cell1); }) - } // _ a:# = EmptyTag; export function loadEmptyTag(slice: Slice): EmptyTag { - let a: number = slice.loadUint(32); + const a: number = slice.loadUint(32); return { kind: 'EmptyTag', a: a, } - } export function storeEmptyTag(emptyTag: EmptyTag): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(emptyTag.a, 32); }) - } // a#f4 x:# = SharpTag; @@ -2526,12 +2389,11 @@ export function storeEmptyTag(emptyTag: EmptyTag): (builder: Builder) => void { export function loadSharpTag(slice: Slice): SharpTag { if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0xf4))) { slice.loadUint(8); - let x: number = slice.loadUint(32); + const x: number = slice.loadUint(32); return { kind: 'SharpTag', x: x, } - } throw new Error('Expected one of "SharpTag" in loading "SharpTag", but data does not satisfy any constructor'); } @@ -2541,7 +2403,6 @@ export function storeSharpTag(sharpTag: SharpTag): (builder: Builder) => void { builder.storeUint(0xf4, 8); builder.storeUint(sharpTag.x, 32); }) - } // a$1011 x:# = DollarTag; @@ -2549,12 +2410,11 @@ export function storeSharpTag(sharpTag: SharpTag): (builder: Builder) => void { export function loadDollarTag(slice: Slice): DollarTag { if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1011))) { slice.loadUint(4); - let x: number = slice.loadUint(32); + const x: number = slice.loadUint(32); return { kind: 'DollarTag', x: x, } - } throw new Error('Expected one of "DollarTag" in loading "DollarTag", but data does not satisfy any constructor'); } @@ -2564,21 +2424,18 @@ export function storeDollarTag(dollarTag: DollarTag): (builder: Builder) => void builder.storeUint(0b1011, 4); builder.storeUint(dollarTag.x, 32); }) - } // a$_ s:(3 * int5) = TupleCheck; export function loadTupleCheck(slice: Slice): TupleCheck { - let s: Array = Array.from(Array(3).keys()).map(((arg: number) => { + const s: Array = Array.from(Array(3).keys()).map(((arg: number) => { return slice.loadInt(5) - })); return { kind: 'TupleCheck', s: s, } - } export function storeTupleCheck(tupleCheck: TupleCheck): (builder: Builder) => void { @@ -2587,24 +2444,20 @@ export function storeTupleCheck(tupleCheck: TupleCheck): (builder: Builder) => v builder.storeInt(arg, 5); })); }) - } export function hashmap_get_l(label: HmLabel): number { if ((label.kind == 'HmLabel_hml_short')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_long')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_same')) { - let n = label.n; + const n = label.n; return n - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); } @@ -2615,9 +2468,9 @@ hm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) */ export function loadHashmap(slice: Slice, n: number, loadX: (slice: Slice) => X): Hashmap { - let label: HmLabel = loadHmLabel(slice, n); - let l = hashmap_get_l(label); - let node: HashmapNode = loadHashmapNode(slice, (n - l), loadX); + const label: HmLabel = loadHmLabel(slice, n); + const l = hashmap_get_l(label); + const node: HashmapNode = loadHashmapNode(slice, (n - l), loadX); return { kind: 'Hashmap', n: n, @@ -2626,7 +2479,6 @@ export function loadHashmap(slice: Slice, n: number, loadX: (slice: Slice) => l: l, node: node, } - } export function storeHashmap(hashmap: Hashmap, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -2634,7 +2486,6 @@ export function storeHashmap(hashmap: Hashmap, storeX: (x: X) => (builder: storeHmLabel(hashmap.label)(builder); storeHashmapNode(hashmap.node, storeX)(builder); }) - } // hmn_leaf#_ {X:Type} value:X = HashmapNode 0 X; @@ -2646,25 +2497,23 @@ hmn_fork#_ {n:#} {X:Type} left:^(Hashmap n X) export function loadHashmapNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X): HashmapNode { if ((arg0 == 0)) { - let value: X = loadX(slice); + const value: X = loadX(slice); return { kind: 'HashmapNode_hmn_leaf', value: value, } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let left: Hashmap = loadHashmap(slice1, (arg0 - 1), loadX); - let slice2 = slice.loadRef().beginParse(true); - let right: Hashmap = loadHashmap(slice2, (arg0 - 1), loadX); + const slice1 = slice.loadRef().beginParse(true); + const left: Hashmap = loadHashmap(slice1, (arg0 - 1), loadX); + const slice2 = slice.loadRef().beginParse(true); + const right: Hashmap = loadHashmap(slice2, (arg0 - 1), loadX); return { kind: 'HashmapNode_hmn_fork', n: (arg0 - 1), left: left, right: right, } - } throw new Error('Expected one of "HashmapNode_hmn_leaf", "HashmapNode_hmn_fork" in loading "HashmapNode", but data does not satisfy any constructor'); } @@ -2674,18 +2523,16 @@ export function storeHashmapNode(hashmapNode: HashmapNode, storeX: (x: X) return ((builder: Builder) => { storeX(hashmapNode.value)(builder); }) - } if ((hashmapNode.kind == 'HashmapNode_hmn_fork')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeHashmap(hashmapNode.left, storeX)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeHashmap(hashmapNode.right, storeX)(cell2); builder.storeRef(cell2); }) - } throw new Error('Expected one of "HashmapNode_hmn_leaf", "HashmapNode_hmn_fork" in loading "HashmapNode", but data does not satisfy any constructor'); } @@ -2693,12 +2540,10 @@ export function storeHashmapNode(hashmapNode: HashmapNode, storeX: (x: X) export function hmLabel_hml_short_get_n(len: Unary): number { if ((len.kind == 'Unary_unary_zero')) { return 0 - } if ((len.kind == 'Unary_unary_succ')) { - let n = len.n; + const n = len.n; return (n + 1) - } throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "len", but data does not satisfy any constructor'); } @@ -2712,11 +2557,10 @@ export function hmLabel_hml_short_get_n(len: Unary): number { export function loadHmLabel(slice: Slice, m: number): HmLabel { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let len: Unary = loadUnary(slice); - let n = hmLabel_hml_short_get_n(len); - let s: Array = Array.from(Array(n).keys()).map(((arg: number) => { + const len: Unary = loadUnary(slice); + const n = hmLabel_hml_short_get_n(len); + const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { return slice.loadBit() - })); if ((!(n <= m))) { throw new Error('Condition (n <= m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -2728,14 +2572,12 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { n: n, s: s, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); - let n: number = slice.loadUint(bitLen(m)); - let s: Array = Array.from(Array(n).keys()).map(((arg: number) => { + const n: number = slice.loadUint(bitLen(m)); + const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { return slice.loadBit() - })); return { kind: 'HmLabel_hml_long', @@ -2743,19 +2585,17 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { n: n, s: s, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { slice.loadUint(2); - let v: boolean = slice.loadBit(); - let n: number = slice.loadUint(bitLen(m)); + const v: boolean = slice.loadBit(); + const n: number = slice.loadUint(bitLen(m)); return { kind: 'HmLabel_hml_same', m: m, v: v, n: n, } - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" in loading "HmLabel", but data does not satisfy any constructor'); } @@ -2772,7 +2612,6 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { throw new Error('Condition (hmLabel.n <= hmLabel.m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); } }) - } if ((hmLabel.kind == 'HmLabel_hml_long')) { return ((builder: Builder) => { @@ -2782,7 +2621,6 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { builder.storeBit(arg); })); }) - } if ((hmLabel.kind == 'HmLabel_hml_same')) { return ((builder: Builder) => { @@ -2790,7 +2628,6 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { builder.storeBit(hmLabel.v); builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); }) - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" in loading "HmLabel", but data does not satisfy any constructor'); } @@ -2798,18 +2635,16 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { // a$_ x:(HashmapE 8 uint16) = HashmapEUser; export function loadHashmapEUser(slice: Slice): HashmapEUser { - let x: Dictionary = Dictionary.load(Dictionary.Keys.Uint(8), { + const x: Dictionary = Dictionary.load(Dictionary.Keys.Uint(8), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadUint(16) - }), }, slice); return { kind: 'HashmapEUser', x: x, } - } export function storeHashmapEUser(hashmapEUser: HashmapEUser): (builder: Builder) => void { @@ -2820,26 +2655,23 @@ export function storeHashmapEUser(hashmapEUser: HashmapEUser): (builder: Builder return ((builder: Builder) => { builder.storeUint(arg, 16); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // _ a:(## 1) b:a?(## 32) = ConditionalField; export function loadConditionalField(slice: Slice): ConditionalField { - let a: number = slice.loadUint(1); - let b: number | undefined = (a ? slice.loadUint(32) : undefined); + const a: number = slice.loadUint(1); + const b: number | undefined = (a ? slice.loadUint(32) : undefined); return { kind: 'ConditionalField', a: a, b: b, } - } export function storeConditionalField(conditionalField: ConditionalField): (builder: Builder) => void { @@ -2849,20 +2681,18 @@ export function storeConditionalField(conditionalField: ConditionalField): (buil builder.storeUint(conditionalField.b, 32); } }) - } // _ a:(## 6) b:(a . 2)?(## 32) = BitSelection; export function loadBitSelection(slice: Slice): BitSelection { - let a: number = slice.loadUint(6); - let b: number | undefined = ((a & (1 << 2)) ? slice.loadUint(32) : undefined); + const a: number = slice.loadUint(6); + const b: number | undefined = ((a & (1 << 2)) ? slice.loadUint(32) : undefined); return { kind: 'BitSelection', a: a, b: b, } - } export function storeBitSelection(bitSelection: BitSelection): (builder: Builder) => void { @@ -2872,13 +2702,12 @@ export function storeBitSelection(bitSelection: BitSelection): (builder: Builder builder.storeUint(bitSelection.b, 32); } }) - } // _ flags:(## 10) { flags <= 100 } = ImplicitCondition; export function loadImplicitCondition(slice: Slice): ImplicitCondition { - let flags: number = slice.loadUint(10); + const flags: number = slice.loadUint(10); if ((!(flags <= 100))) { throw new Error('Condition (flags <= 100) is not satisfied while loading "ImplicitCondition" for type "ImplicitCondition"'); } @@ -2886,7 +2715,6 @@ export function loadImplicitCondition(slice: Slice): ImplicitCondition { kind: 'ImplicitCondition', flags: flags, } - } export function storeImplicitCondition(implicitCondition: ImplicitCondition): (builder: Builder) => void { @@ -2896,7 +2724,6 @@ export function storeImplicitCondition(implicitCondition: ImplicitCondition): (b throw new Error('Condition (implicitCondition.flags <= 100) is not satisfied while loading "ImplicitCondition" for type "ImplicitCondition"'); } }) - } // _ a:# = MultipleEmptyConstructor 0; @@ -2907,28 +2734,25 @@ export function storeImplicitCondition(implicitCondition: ImplicitCondition): (b export function loadMultipleEmptyConstructor(slice: Slice, arg0: number): MultipleEmptyConstructor { if ((arg0 == 0)) { - let a: number = slice.loadUint(32); + const a: number = slice.loadUint(32); return { kind: 'MultipleEmptyConstructor__', a: a, } - } if ((arg0 == 1)) { - let b: number = slice.loadUint(5); + const b: number = slice.loadUint(5); return { kind: 'MultipleEmptyConstructor__1', b: b, } - } if ((arg0 == 2)) { - let x: number = slice.loadUint(6); + const x: number = slice.loadUint(6); return { kind: 'MultipleEmptyConstructor_a', x: x, } - } throw new Error('Expected one of "MultipleEmptyConstructor__", "MultipleEmptyConstructor__1", "MultipleEmptyConstructor_a" in loading "MultipleEmptyConstructor", but data does not satisfy any constructor'); } @@ -2938,19 +2762,16 @@ export function storeMultipleEmptyConstructor(multipleEmptyConstructor: Multiple return ((builder: Builder) => { builder.storeUint(multipleEmptyConstructor.a, 32); }) - } if ((multipleEmptyConstructor.kind == 'MultipleEmptyConstructor__1')) { return ((builder: Builder) => { builder.storeUint(multipleEmptyConstructor.b, 5); }) - } if ((multipleEmptyConstructor.kind == 'MultipleEmptyConstructor_a')) { return ((builder: Builder) => { builder.storeUint(multipleEmptyConstructor.x, 6); }) - } throw new Error('Expected one of "MultipleEmptyConstructor__", "MultipleEmptyConstructor__1", "MultipleEmptyConstructor_a" in loading "MultipleEmptyConstructor", but data does not satisfy any constructor'); } @@ -2961,13 +2782,11 @@ export function loadTrue(slice: Slice): True { return { kind: 'True', } - } export function storeTrue(true0: True): (builder: Builder) => void { return ((builder: Builder) => { }) - } // a$0 {n:#} = ParamNamedArgInSecondConstr n; @@ -2981,7 +2800,6 @@ export function loadParamNamedArgInSecondConstr(slice: Slice, arg0: number): Par kind: 'ParamNamedArgInSecondConstr_a', n: arg0, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); @@ -2989,7 +2807,6 @@ export function loadParamNamedArgInSecondConstr(slice: Slice, arg0: number): Par kind: 'ParamNamedArgInSecondConstr_b', n: (arg0 - 1), } - } throw new Error('Expected one of "ParamNamedArgInSecondConstr_a", "ParamNamedArgInSecondConstr_b" in loading "ParamNamedArgInSecondConstr", but data does not satisfy any constructor'); } @@ -2999,13 +2816,11 @@ export function storeParamNamedArgInSecondConstr(paramNamedArgInSecondConstr: Pa return ((builder: Builder) => { builder.storeUint(0b0, 1); }) - } if ((paramNamedArgInSecondConstr.kind == 'ParamNamedArgInSecondConstr_b')) { return ((builder: Builder) => { builder.storeUint(0b1, 1); }) - } throw new Error('Expected one of "ParamNamedArgInSecondConstr_a", "ParamNamedArgInSecondConstr_b" in loading "ParamNamedArgInSecondConstr", but data does not satisfy any constructor'); } @@ -3013,36 +2828,32 @@ export function storeParamNamedArgInSecondConstr(paramNamedArgInSecondConstr: Pa // a$_ msg:^(Maybe Any) = RefCombinatorAny; export function loadRefCombinatorAny(slice: Slice): RefCombinatorAny { - let slice1 = slice.loadRef().beginParse(true); - let msg: Maybe = loadMaybe(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + const msg: Maybe = loadMaybe(slice1, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'RefCombinatorAny', msg: msg, } - } export function storeRefCombinatorAny(refCombinatorAny: RefCombinatorAny): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeMaybe(refCombinatorAny.msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); }) - } // a$_ n:# { 5 + n = 7 } = EqualityExpression; export function loadEqualityExpression(slice: Slice): EqualityExpression { - let n: number = slice.loadUint(32); + const n: number = slice.loadUint(32); if ((!((5 + n) == 7))) { throw new Error('Condition ((5 + n) == 7) is not satisfied while loading "EqualityExpression" for type "EqualityExpression"'); } @@ -3050,7 +2861,6 @@ export function loadEqualityExpression(slice: Slice): EqualityExpression { kind: 'EqualityExpression', n: n, } - } export function storeEqualityExpression(equalityExpression: EqualityExpression): (builder: Builder) => void { @@ -3060,37 +2870,32 @@ export function storeEqualityExpression(equalityExpression: EqualityExpression): throw new Error('Condition ((5 + equalityExpression.n) == 7) is not satisfied while loading "EqualityExpression" for type "EqualityExpression"'); } }) - } // a$_ x:(## 1) y:x?^Simple = ConditionalRef; export function loadConditionalRef(slice: Slice): ConditionalRef { - let x: number = slice.loadUint(1); - let y: Simple | undefined = (x ? ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const x: number = slice.loadUint(1); + const y: Simple | undefined = (x ? ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadSimple(slice1) - })(slice) : undefined); return { kind: 'ConditionalRef', x: x, y: y, } - } export function storeConditionalRef(conditionalRef: ConditionalRef): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(conditionalRef.x, 1); if ((conditionalRef.y != undefined)) { - let cell1 = beginCell(); + const cell1 = beginCell(); storeSimple(conditionalRef.y)(cell1); builder.storeRef(cell1); - } }) - } // block_info#9bc7a987 seq_no:# { prev_seq_no:# } { ~prev_seq_no + 1 = seq_no } = LoadFromNegationOutsideExpr; @@ -3098,13 +2903,12 @@ export function storeConditionalRef(conditionalRef: ConditionalRef): (builder: B export function loadLoadFromNegationOutsideExpr(slice: Slice): LoadFromNegationOutsideExpr { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x9bc7a987))) { slice.loadUint(32); - let seq_no: number = slice.loadUint(32); + const seq_no: number = slice.loadUint(32); return { kind: 'LoadFromNegationOutsideExpr', prev_seq_no: (seq_no - 1), seq_no: seq_no, } - } throw new Error('Expected one of "LoadFromNegationOutsideExpr" in loading "LoadFromNegationOutsideExpr", but data does not satisfy any constructor'); } @@ -3114,20 +2918,18 @@ export function storeLoadFromNegationOutsideExpr(loadFromNegationOutsideExpr: Lo builder.storeUint(0x9bc7a987, 32); builder.storeUint(loadFromNegationOutsideExpr.seq_no, 32); }) - } // bit$_ (## 1) anon0:# = AnonymousData; export function loadAnonymousData(slice: Slice): AnonymousData { - let anon0: number = slice.loadUint(1); - let anon0_0: number = slice.loadUint(32); + const anon0: number = slice.loadUint(1); + const anon0_0: number = slice.loadUint(32); return { kind: 'AnonymousData', anon0: anon0, anon0_0: anon0_0, } - } export function storeAnonymousData(anonymousData: AnonymousData): (builder: Builder) => void { @@ -3135,7 +2937,6 @@ export function storeAnonymousData(anonymousData: AnonymousData): (builder: Buil builder.storeUint(anonymousData.anon0, 1); builder.storeUint(anonymousData.anon0_0, 32); }) - } // vm_stk_int#0201_ value:int257 = FalseAnonField; @@ -3143,12 +2944,11 @@ export function storeAnonymousData(anonymousData: AnonymousData): (builder: Buil export function loadFalseAnonField(slice: Slice): FalseAnonField { if (((slice.remainingBits >= 15) && (slice.preloadUint(15) == 0x0100))) { slice.loadUint(15); - let value: bigint = slice.loadIntBig(257); + const value: bigint = slice.loadIntBig(257); return { kind: 'FalseAnonField', value: value, } - } throw new Error('Expected one of "FalseAnonField" in loading "FalseAnonField", but data does not satisfy any constructor'); } @@ -3158,7 +2958,6 @@ export function storeFalseAnonField(falseAnonField: FalseAnonField): (builder: B builder.storeUint(0x0100, 15); builder.storeInt(falseAnonField.value, 257); }) - } // b$1 Simple = ConstructorOrder; @@ -3168,21 +2967,19 @@ export function storeFalseAnonField(falseAnonField: FalseAnonField): (builder: B export function loadConstructorOrder(slice: Slice): ConstructorOrder { if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { slice.loadUint(1); - let anon0: Simple = loadSimple(slice); + const anon0: Simple = loadSimple(slice); return { kind: 'ConstructorOrder_b', anon0: anon0, } - } if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { slice.loadUint(1); - let a: Simple = loadSimple(slice); + const a: Simple = loadSimple(slice); return { kind: 'ConstructorOrder_a', a: a, } - } throw new Error('Expected one of "ConstructorOrder_b", "ConstructorOrder_a" in loading "ConstructorOrder", but data does not satisfy any constructor'); } @@ -3193,14 +2990,12 @@ export function storeConstructorOrder(constructorOrder: ConstructorOrder): (buil builder.storeUint(0b1, 1); storeSimple(constructorOrder.anon0)(builder); }) - } if ((constructorOrder.kind == 'ConstructorOrder_a')) { return ((builder: Builder) => { builder.storeUint(0b0, 1); storeSimple(constructorOrder.a)(builder); }) - } throw new Error('Expected one of "ConstructorOrder_b", "ConstructorOrder_a" in loading "ConstructorOrder", but data does not satisfy any constructor'); } @@ -3212,23 +3007,21 @@ export function storeConstructorOrder(constructorOrder: ConstructorOrder): (buil export function loadCheckCrc32(slice: Slice): CheckCrc32 { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x9d97e7a))) { slice.loadUint(32); - let a: number = slice.loadUint(32); + const a: number = slice.loadUint(32); return { kind: 'CheckCrc32_a', a: a, } - } if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xa842b3f0))) { slice.loadUint(32); - let b: number = slice.loadUint(32); - let c: number = slice.loadUint(32); + const b: number = slice.loadUint(32); + const c: number = slice.loadUint(32); return { kind: 'CheckCrc32_b', b: b, c: c, } - } throw new Error('Expected one of "CheckCrc32_a", "CheckCrc32_b" in loading "CheckCrc32", but data does not satisfy any constructor'); } @@ -3239,7 +3032,6 @@ export function storeCheckCrc32(checkCrc32: CheckCrc32): (builder: Builder) => v builder.storeUint(0x9d97e7a, 32); builder.storeUint(checkCrc32.a, 32); }) - } if ((checkCrc32.kind == 'CheckCrc32_b')) { return ((builder: Builder) => { @@ -3247,7 +3039,6 @@ export function storeCheckCrc32(checkCrc32: CheckCrc32): (builder: Builder) => v builder.storeUint(checkCrc32.b, 32); builder.storeUint(checkCrc32.c, 32); }) - } throw new Error('Expected one of "CheckCrc32_a", "CheckCrc32_b" in loading "CheckCrc32", but data does not satisfy any constructor'); } @@ -3255,36 +3046,32 @@ export function storeCheckCrc32(checkCrc32: CheckCrc32): (builder: Builder) => v // a$_ const:# = CheckKeyword; export function loadCheckKeyword(slice: Slice): CheckKeyword { - let const0: number = slice.loadUint(32); + const const0: number = slice.loadUint(32); return { kind: 'CheckKeyword', const0: const0, } - } export function storeCheckKeyword(checkKeyword: CheckKeyword): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(checkKeyword.const0, 32); }) - } // a$_ {X:Type} t:# y:(Maybe ^X) = RefCombinatorInRefHelper X; export function loadRefCombinatorInRefHelper(slice: Slice, loadX: (slice: Slice) => X): RefCombinatorInRefHelper { - let t: number = slice.loadUint(32); - let y: Maybe = loadMaybe(slice, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const t: number = slice.loadUint(32); + const y: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadX(slice1) - })); return { kind: 'RefCombinatorInRefHelper', t: t, y: y, } - } export function storeRefCombinatorInRefHelper(refCombinatorInRefHelper: RefCombinatorInRefHelper, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { @@ -3292,62 +3079,53 @@ export function storeRefCombinatorInRefHelper(refCombinatorInRefHelper: RefCo builder.storeUint(refCombinatorInRefHelper.t, 32); storeMaybe(refCombinatorInRefHelper.y, ((arg: X) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } // a$_ msg:^(RefCombinatorInRefHelper Any) = RefCombinatorInRef; export function loadRefCombinatorInRef(slice: Slice): RefCombinatorInRef { - let slice1 = slice.loadRef().beginParse(true); - let msg: RefCombinatorInRefHelper = loadRefCombinatorInRefHelper(slice1, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + const msg: RefCombinatorInRefHelper = loadRefCombinatorInRefHelper(slice1, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'RefCombinatorInRef', msg: msg, } - } export function storeRefCombinatorInRef(refCombinatorInRef: RefCombinatorInRef): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeRefCombinatorInRefHelper(refCombinatorInRef.msg, ((arg: Cell) => { return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(cell1); builder.storeRef(cell1); }) - } // _ a:Bool = BoolUser; export function loadBoolUser(slice: Slice): BoolUser { - let a: Bool = loadBool(slice); + const a: Bool = loadBool(slice); return { kind: 'BoolUser', a: a, } - } export function storeBoolUser(boolUser: BoolUser): (builder: Builder) => void { return ((builder: Builder) => { storeBool(boolUser.a)(builder); }) - } /* @@ -3356,8 +3134,8 @@ anycast_info$_ depth:(#<= 30) { depth >= 1 } */ export function loadAnycast(slice: Slice): Anycast { - let depth: number = slice.loadUint(bitLen(30)); - let rewrite_pfx: BitString = slice.loadBits(depth); + const depth: number = slice.loadUint(bitLen(30)); + const rewrite_pfx: BitString = slice.loadBits(depth); if ((!(depth >= 1))) { throw new Error('Condition (depth >= 1) is not satisfied while loading "Anycast" for type "Anycast"'); } @@ -3366,7 +3144,6 @@ export function loadAnycast(slice: Slice): Anycast { depth: depth, rewrite_pfx: rewrite_pfx, } - } export function storeAnycast(anycast: Anycast): (builder: Builder) => void { @@ -3377,157 +3154,140 @@ export function storeAnycast(anycast: Anycast): (builder: Builder) => void { throw new Error('Condition (anycast.depth >= 1) is not satisfied while loading "Anycast" for type "Anycast"'); } }) - } // _ src:MsgAddressInt = AddressUser; export function loadAddressUser(slice: Slice): AddressUser { - let src: Address = slice.loadAddress(); + const src: Address = slice.loadAddress(); return { kind: 'AddressUser', src: src, } - } export function storeAddressUser(addressUser: AddressUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeAddress(addressUser.src); }) - } // _ src:MsgAddressExt = ExtAddressUser; export function loadExtAddressUser(slice: Slice): ExtAddressUser { - let src: ExternalAddress | null = slice.loadMaybeExternalAddress(); + const src: ExternalAddress | null = slice.loadMaybeExternalAddress(); return { kind: 'ExtAddressUser', src: src, } - } export function storeExtAddressUser(extAddressUser: ExtAddressUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeAddress(extAddressUser.src); }) - } // _ src:MsgAddress = AnyAddressUser; export function loadAnyAddressUser(slice: Slice): AnyAddressUser { - let src: Address | ExternalAddress | null = slice.loadAddressAny(); + const src: Address | ExternalAddress | null = slice.loadAddressAny(); return { kind: 'AnyAddressUser', src: src, } - } export function storeAnyAddressUser(anyAddressUser: AnyAddressUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeAddress(anyAddressUser.src); }) - } // _ inside:AddressUser = InsideAddressUser; export function loadInsideAddressUser(slice: Slice): InsideAddressUser { - let inside: AddressUser = loadAddressUser(slice); + const inside: AddressUser = loadAddressUser(slice); return { kind: 'InsideAddressUser', inside: inside, } - } export function storeInsideAddressUser(insideAddressUser: InsideAddressUser): (builder: Builder) => void { return ((builder: Builder) => { storeAddressUser(insideAddressUser.inside)(builder); }) - } // a$_ b:Bit = BitUser; export function loadBitUser(slice: Slice): BitUser { - let b: boolean = slice.loadBit(); + const b: boolean = slice.loadBit(); return { kind: 'BitUser', b: b, } - } export function storeBitUser(bitUser: BitUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeBit(bitUser.b); }) - } // a$_ v:(VarUInteger 5) = VarUIntegerUser; export function loadVarUIntegerUser(slice: Slice): VarUIntegerUser { - let v: bigint = slice.loadVarUintBig(bitLen((5 - 1))); + const v: bigint = slice.loadVarUintBig(bitLen((5 - 1))); return { kind: 'VarUIntegerUser', v: v, } - } export function storeVarUIntegerUser(varUIntegerUser: VarUIntegerUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeVarUint(varUIntegerUser.v, bitLen((5 - 1))); }) - } // a$_ v:(VarInteger 5) = VarIntegerUser; export function loadVarIntegerUser(slice: Slice): VarIntegerUser { - let v: bigint = slice.loadVarIntBig(5); + const v: bigint = slice.loadVarIntBig(5); return { kind: 'VarIntegerUser', v: v, } - } export function storeVarIntegerUser(varIntegerUser: VarIntegerUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeVarInt(varIntegerUser.v, 5); }) - } // a$_ g:Grams = GramsUser; export function loadGramsUser(slice: Slice): GramsUser { - let g: bigint = slice.loadCoins(); + const g: bigint = slice.loadCoins(); return { kind: 'GramsUser', g: g, } - } export function storeGramsUser(gramsUser: GramsUser): (builder: Builder) => void { return ((builder: Builder) => { builder.storeCoins(gramsUser.g); }) - } // a$_ x:(HashmapE 100 VarUIntegerUser) = HashmapVUIUser; export function loadHashmapVUIUser(slice: Slice): HashmapVUIUser { - let x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(100), { + const x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(100), { serialize: () => { throw new Error('Not implemented') }, parse: loadVarUIntegerUser, }, slice); @@ -3535,7 +3295,6 @@ export function loadHashmapVUIUser(slice: Slice): HashmapVUIUser { kind: 'HashmapVUIUser', x: x, } - } export function storeHashmapVUIUser(hashmapVUIUser: HashmapVUIUser): (builder: Builder) => void { @@ -3547,25 +3306,22 @@ export function storeHashmapVUIUser(hashmapVUIUser: HashmapVUIUser): (builder: B parse: () => { throw new Error('Not implemented') }, }); }) - } // a$_ x:(HashmapE 100 ^TypedParam) = HashmapTPCell; export function loadHashmapTPCell(slice: Slice): HashmapTPCell { - let x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(100), { + const x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(100), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return loadTypedParam(slice1) - }), }, slice); return { kind: 'HashmapTPCell', x: x, } - } export function storeHashmapTPCell(hashmapTPCell: HashmapTPCell): (builder: Builder) => void { @@ -3574,28 +3330,24 @@ export function storeHashmapTPCell(hashmapTPCell: HashmapTPCell): (builder: Buil serialize: ((arg: TypedParam, builder: Builder) => { ((arg: TypedParam) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeTypedParam(arg)(cell1); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // a$_ {n:#} x:(HashmapE n uint5) = HashmapVarKey n; export function loadHashmapVarKey(slice: Slice, n: number): HashmapVarKey { - let x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(n), { + const x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(n), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadUint(5) - }), }, slice); return { @@ -3603,7 +3355,6 @@ export function loadHashmapVarKey(slice: Slice, n: number): HashmapVarKey { n: n, x: x, } - } export function storeHashmapVarKey(hashmapVarKey: HashmapVarKey): (builder: Builder) => void { @@ -3614,41 +3365,36 @@ export function storeHashmapVarKey(hashmapVarKey: HashmapVarKey): (builder: Buil return ((builder: Builder) => { builder.storeUint(arg, 5); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // a$_ x:(HashmapVarKey 5) = HashmapVarKeyUser; export function loadHashmapVarKeyUser(slice: Slice): HashmapVarKeyUser { - let x: HashmapVarKey = loadHashmapVarKey(slice, 5); + const x: HashmapVarKey = loadHashmapVarKey(slice, 5); return { kind: 'HashmapVarKeyUser', x: x, } - } export function storeHashmapVarKeyUser(hashmapVarKeyUser: HashmapVarKeyUser): (builder: Builder) => void { return ((builder: Builder) => { storeHashmapVarKey(hashmapVarKeyUser.x)(builder); }) - } // a$_ {n:#} x:(HashmapE (n+2) uint5) = HashmapExprKey n; export function loadHashmapExprKey(slice: Slice, n: number): HashmapExprKey { - let x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint((n + 2)), { + const x: Dictionary = Dictionary.load(Dictionary.Keys.BigUint((n + 2)), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return slice.loadUint(5) - }), }, slice); return { @@ -3656,7 +3402,6 @@ export function loadHashmapExprKey(slice: Slice, n: number): HashmapExprKey { n: n, x: x, } - } export function storeHashmapExprKey(hashmapExprKey: HashmapExprKey): (builder: Builder) => void { @@ -3667,48 +3412,42 @@ export function storeHashmapExprKey(hashmapExprKey: HashmapExprKey): (builder: B return ((builder: Builder) => { builder.storeUint(arg, 5); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // a$_ x:(HashmapExprKey 5) = HashmapExprKeyUser; export function loadHashmapExprKeyUser(slice: Slice): HashmapExprKeyUser { - let x: HashmapExprKey = loadHashmapExprKey(slice, 5); + const x: HashmapExprKey = loadHashmapExprKey(slice, 5); return { kind: 'HashmapExprKeyUser', x: x, } - } export function storeHashmapExprKeyUser(hashmapExprKeyUser: HashmapExprKeyUser): (builder: Builder) => void { return ((builder: Builder) => { storeHashmapExprKey(hashmapExprKeyUser.x)(builder); }) - } // a$_ {A: Type} x:(HashmapE 200 (OneComb A)) = HashmapOneComb A; export function loadHashmapOneComb(slice: Slice, loadA: (slice: Slice) => A): HashmapOneComb { - let x: Dictionary> = Dictionary.load(Dictionary.Keys.BigUint(200), { + const x: Dictionary> = Dictionary.load(Dictionary.Keys.BigUint(200), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return loadOneComb(slice, loadA) - }), }, slice); return { kind: 'HashmapOneComb', x: x, } - } export function storeHashmapOneComb(hashmapOneComb: HashmapOneComb, storeA: (a: A) => (builder: Builder) => void): (builder: Builder) => void { @@ -3719,27 +3458,23 @@ export function storeHashmapOneComb(hashmapOneComb: HashmapOneComb, storeA return ((builder: Builder) => { storeOneComb(arg, storeA)(builder); }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // a$_ x:(HashmapOneComb uint5) = HashmapOneCombUser; export function loadHashmapOneCombUser(slice: Slice): HashmapOneCombUser { - let x: HashmapOneComb = loadHashmapOneComb(slice, ((slice: Slice) => { + const x: HashmapOneComb = loadHashmapOneComb(slice, ((slice: Slice) => { return slice.loadUint(5) - })); return { kind: 'HashmapOneCombUser', x: x, } - } export function storeHashmapOneCombUser(hashmapOneCombUser: HashmapOneCombUser): (builder: Builder) => void { @@ -3748,27 +3483,22 @@ export function storeHashmapOneCombUser(hashmapOneCombUser: HashmapOneCombUser): return ((builder: Builder) => { builder.storeUint(arg, 5); }) - }))(builder); }) - } export function hashmapAug_get_l(label: HmLabel): number { if ((label.kind == 'HmLabel_hml_short')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_long')) { - let n = label.n; + const n = label.n; return n - } if ((label.kind == 'HmLabel_hml_same')) { - let n = label.n; + const n = label.n; return n - } throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); } @@ -3780,9 +3510,9 @@ ahm_edge#_ {n:#} {X:Type} {Y:Type} {l:#} {m:#} */ export function loadHashmapAug(slice: Slice, n: number, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): HashmapAug { - let label: HmLabel = loadHmLabel(slice, n); - let l = hashmapAug_get_l(label); - let node: HashmapAugNode = loadHashmapAugNode(slice, (n - l), loadX, loadY); + const label: HmLabel = loadHmLabel(slice, n); + const l = hashmapAug_get_l(label); + const node: HashmapAugNode = loadHashmapAugNode(slice, (n - l), loadX, loadY); return { kind: 'HashmapAug', n: n, @@ -3791,7 +3521,6 @@ export function loadHashmapAug(slice: Slice, n: number, loadX: (slice: Sli l: l, node: node, } - } export function storeHashmapAug(hashmapAug: HashmapAug, storeX: (x: X) => (builder: Builder) => void, storeY: (y: Y) => (builder: Builder) => void): (builder: Builder) => void { @@ -3799,7 +3528,6 @@ export function storeHashmapAug(hashmapAug: HashmapAug, storeX: (x: storeHmLabel(hashmapAug.label)(builder); storeHashmapAugNode(hashmapAug.node, storeX, storeY)(builder); }) - } // ahmn_leaf#_ {X:Type} {Y:Type} extra:Y value:X = HashmapAugNode 0 X Y; @@ -3811,21 +3539,20 @@ ahmn_fork#_ {n:#} {X:Type} {Y:Type} left:^(HashmapAug n X Y) export function loadHashmapAugNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X, loadY: (slice: Slice) => Y): HashmapAugNode { if ((arg0 == 0)) { - let extra: Y = loadY(slice); - let value: X = loadX(slice); + const extra: Y = loadY(slice); + const value: X = loadX(slice); return { kind: 'HashmapAugNode_ahmn_leaf', extra: extra, value: value, } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let left: HashmapAug = loadHashmapAug(slice1, (arg0 - 1), loadX, loadY); - let slice2 = slice.loadRef().beginParse(true); - let right: HashmapAug = loadHashmapAug(slice2, (arg0 - 1), loadX, loadY); - let extra: Y = loadY(slice); + const slice1 = slice.loadRef().beginParse(true); + const left: HashmapAug = loadHashmapAug(slice1, (arg0 - 1), loadX, loadY); + const slice2 = slice.loadRef().beginParse(true); + const right: HashmapAug = loadHashmapAug(slice2, (arg0 - 1), loadX, loadY); + const extra: Y = loadY(slice); return { kind: 'HashmapAugNode_ahmn_fork', n: (arg0 - 1), @@ -3833,7 +3560,6 @@ export function loadHashmapAugNode(slice: Slice, arg0: number, loadX: (sli right: right, extra: extra, } - } throw new Error('Expected one of "HashmapAugNode_ahmn_leaf", "HashmapAugNode_ahmn_fork" in loading "HashmapAugNode", but data does not satisfy any constructor'); } @@ -3844,19 +3570,17 @@ export function storeHashmapAugNode(hashmapAugNode: HashmapAugNode, storeY(hashmapAugNode.extra)(builder); storeX(hashmapAugNode.value)(builder); }) - } if ((hashmapAugNode.kind == 'HashmapAugNode_ahmn_fork')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeHashmapAug(hashmapAugNode.left, storeX, storeY)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeHashmapAug(hashmapAugNode.right, storeX, storeY)(cell2); builder.storeRef(cell2); storeY(hashmapAugNode.extra)(builder); }) - } throw new Error('Expected one of "HashmapAugNode_ahmn_leaf", "HashmapAugNode_ahmn_fork" in loading "HashmapAugNode", but data does not satisfy any constructor'); } @@ -3864,21 +3588,19 @@ export function storeHashmapAugNode(hashmapAugNode: HashmapAugNode, // a$_ x:(HashmapAugE 16 Grams FixedIntParam) = HashmapAugEUser; export function loadHashmapAugEUser(slice: Slice): HashmapAugEUser { - let x: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { + const x: Dictionary = Dictionary.load(Dictionary.Keys.Uint(16), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { return { extra: loadFixedIntParam(slice), value: slice.loadCoins(), } - }), }, slice); return { kind: 'HashmapAugEUser', x: x, } - } export function storeHashmapAugEUser(hashmapAugEUser: HashmapAugEUser): (builder: Builder) => void { @@ -3889,63 +3611,53 @@ export function storeHashmapAugEUser(hashmapAugEUser: HashmapAugEUser): (builder return ((builder: Builder) => { storeFixedIntParam(arg)(builder); }) - })(arg.extra)(builder); ((arg: bigint) => { return ((builder: Builder) => { builder.storeCoins(arg); }) - })(arg.value)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } // message$_ {X:Type} body:(Either X ^X) = Message X; export function loadMessage(slice: Slice, loadX: (slice: Slice) => X): Message { - let body: Either = loadEither(slice, loadX, ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const body: Either = loadEither(slice, loadX, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); return loadX(slice1) - })); return { kind: 'Message', body: body, } - } export function storeMessage(message: Message, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { return ((builder: Builder) => { storeEither(message.body, storeX, ((arg: X) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(arg)(cell1); builder.storeRef(cell1); - }) - }))(builder); }) - } // _ (Message Any) = MessageAny; export function loadMessageAny(slice: Slice): MessageAny { - let anon0: Message = loadMessage(slice, ((slice: Slice) => { + const anon0: Message = loadMessage(slice, ((slice: Slice) => { return slice.asCell() - })); return { kind: 'MessageAny', anon0: anon0, } - } export function storeMessageAny(messageAny: MessageAny): (builder: Builder) => void { @@ -3954,73 +3666,65 @@ export function storeMessageAny(messageAny: MessageAny): (builder: Builder) => v return ((builder: Builder) => { builder.storeSlice(arg.beginParse(true)); }) - }))(builder); }) - } // _ x:^FixedIntParam = ShardState; export function loadShardState(slice: Slice): ShardState { - let slice1 = slice.loadRef().beginParse(true); - let x: FixedIntParam = loadFixedIntParam(slice1); + const slice1 = slice.loadRef().beginParse(true); + const x: FixedIntParam = loadFixedIntParam(slice1); return { kind: 'ShardState', x: x, } - } export function storeShardState(shardState: ShardState): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeFixedIntParam(shardState.x)(cell1); builder.storeRef(cell1); }) - } // a$_ {X:Type} a:^X = InsideCell X; export function loadInsideCell(slice: Slice, loadX: (slice: Slice) => X): InsideCell { - let slice1 = slice.loadRef().beginParse(true); - let a: X = loadX(slice1); + const slice1 = slice.loadRef().beginParse(true); + const a: X = loadX(slice1); return { kind: 'InsideCell', a: a, } - } export function storeInsideCell(insideCell: InsideCell, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeX(insideCell.a)(cell1); builder.storeRef(cell1); }) - } // a$_ inside_cell:^(InsideCell ShardState) = InsideCellUser; export function loadInsideCellUser(slice: Slice): InsideCellUser { - let slice1 = slice.loadRef().beginParse(true); - let inside_cell: InsideCell = loadInsideCell(slice1, loadShardState); + const slice1 = slice.loadRef().beginParse(true); + const inside_cell: InsideCell = loadInsideCell(slice1, loadShardState); return { kind: 'InsideCellUser', inside_cell: inside_cell, } - } export function storeInsideCellUser(insideCellUser: InsideCellUser): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeInsideCell(insideCellUser.inside_cell, storeShardState)(cell1); builder.storeRef(cell1); }) - } // vm_stk_null#00 = VmStackValue; @@ -4047,81 +3751,72 @@ export function loadVmStackValue(slice: Slice): VmStackValue { return { kind: 'VmStackValue_vm_stk_null', } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x01))) { slice.loadUint(8); - let value: bigint = slice.loadIntBig(64); + const value: bigint = slice.loadIntBig(64); return { kind: 'VmStackValue_vm_stk_tinyint', value: value, } - } if (((slice.remainingBits >= 15) && (slice.preloadUint(15) == 0x0100))) { slice.loadUint(15); - let value: bigint = slice.loadIntBig(257); + const value: bigint = slice.loadIntBig(257); return { kind: 'VmStackValue_vm_stk_int', value: value, } - } if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x02ff))) { slice.loadUint(16); return { kind: 'VmStackValue_vm_stk_nan', } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x03))) { slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let _cell: Cell = slice1.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const _cell: Cell = slice1.asCell(); return { kind: 'VmStackValue_vm_stk_cell', _cell: _cell, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x04))) { slice.loadUint(8); - let _: VmCellSlice = loadVmCellSlice(slice); + const _: VmCellSlice = loadVmCellSlice(slice); return { kind: 'VmStackValue_vm_stk_slice', _: _, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x05))) { slice.loadUint(8); - let slice1 = slice.loadRef().beginParse(true); - let _cell: Cell = slice1.asCell(); + const slice1 = slice.loadRef().beginParse(true); + const _cell: Cell = slice1.asCell(); return { kind: 'VmStackValue_vm_stk_builder', _cell: _cell, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x06))) { slice.loadUint(8); - let cont: VmCont = loadVmCont(slice); + const cont: VmCont = loadVmCont(slice); return { kind: 'VmStackValue_vm_stk_cont', cont: cont, } - } if (((slice.remainingBits >= 8) && (slice.preloadUint(8) == 0x07))) { slice.loadUint(8); - let len: number = slice.loadUint(16); - let data: VmTuple = loadVmTuple(slice, len); + const len: number = slice.loadUint(16); + const data: VmTuple = loadVmTuple(slice, len); return { kind: 'VmStackValue_vm_stk_tuple', len: len, data: data, } - } throw new Error('Expected one of "VmStackValue_vm_stk_null", "VmStackValue_vm_stk_tinyint", "VmStackValue_vm_stk_int", "VmStackValue_vm_stk_nan", "VmStackValue_vm_stk_cell", "VmStackValue_vm_stk_slice", "VmStackValue_vm_stk_builder", "VmStackValue_vm_stk_cont", "VmStackValue_vm_stk_tuple" in loading "VmStackValue", but data does not satisfy any constructor'); } @@ -4131,59 +3826,51 @@ export function storeVmStackValue(vmStackValue: VmStackValue): (builder: Builder return ((builder: Builder) => { builder.storeUint(0x00, 8); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_tinyint')) { return ((builder: Builder) => { builder.storeUint(0x01, 8); builder.storeInt(vmStackValue.value, 64); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_int')) { return ((builder: Builder) => { builder.storeUint(0x0100, 15); builder.storeInt(vmStackValue.value, 257); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_nan')) { return ((builder: Builder) => { builder.storeUint(0x02ff, 16); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_cell')) { return ((builder: Builder) => { builder.storeUint(0x03, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(vmStackValue._cell.beginParse(true)); builder.storeRef(cell1); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_slice')) { return ((builder: Builder) => { builder.storeUint(0x04, 8); storeVmCellSlice(vmStackValue._)(builder); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_builder')) { return ((builder: Builder) => { builder.storeUint(0x05, 8); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(vmStackValue._cell.beginParse(true)); builder.storeRef(cell1); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_cont')) { return ((builder: Builder) => { builder.storeUint(0x06, 8); storeVmCont(vmStackValue.cont)(builder); }) - } if ((vmStackValue.kind == 'VmStackValue_vm_stk_tuple')) { return ((builder: Builder) => { @@ -4191,7 +3878,6 @@ export function storeVmStackValue(vmStackValue: VmStackValue): (builder: Builder builder.storeUint(vmStackValue.len, 16); storeVmTuple(vmStackValue.data)(builder); }) - } throw new Error('Expected one of "VmStackValue_vm_stk_null", "VmStackValue_vm_stk_tinyint", "VmStackValue_vm_stk_int", "VmStackValue_vm_stk_nan", "VmStackValue_vm_stk_cell", "VmStackValue_vm_stk_slice", "VmStackValue_vm_stk_builder", "VmStackValue_vm_stk_cont", "VmStackValue_vm_stk_tuple" in loading "VmStackValue", but data does not satisfy any constructor'); } @@ -4202,12 +3888,12 @@ _ cell:^Cell st_bits:(## 10) end_bits:(## 10) { st_bits <= end_bits } */ export function loadVmCellSlice(slice: Slice): VmCellSlice { - let slice1 = slice.loadRef().beginParse(true); - let _cell: Cell = slice1.asCell(); - let st_bits: number = slice.loadUint(10); - let end_bits: number = slice.loadUint(10); - let st_ref: number = slice.loadUint(bitLen(4)); - let end_ref: number = slice.loadUint(bitLen(4)); + const slice1 = slice.loadRef().beginParse(true); + const _cell: Cell = slice1.asCell(); + const st_bits: number = slice.loadUint(10); + const end_bits: number = slice.loadUint(10); + const st_ref: number = slice.loadUint(bitLen(4)); + const end_ref: number = slice.loadUint(bitLen(4)); if ((!(st_bits <= end_bits))) { throw new Error('Condition (st_bits <= end_bits) is not satisfied while loading "VmCellSlice" for type "VmCellSlice"'); } @@ -4222,12 +3908,11 @@ export function loadVmCellSlice(slice: Slice): VmCellSlice { st_ref: st_ref, end_ref: end_ref, } - } export function storeVmCellSlice(vmCellSlice: VmCellSlice): (builder: Builder) => void { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(vmCellSlice._cell.beginParse(true)); builder.storeRef(cell1); builder.storeUint(vmCellSlice.st_bits, 10); @@ -4241,7 +3926,6 @@ export function storeVmCellSlice(vmCellSlice: VmCellSlice): (builder: Builder) = throw new Error('Condition (vmCellSlice.st_ref <= vmCellSlice.end_ref) is not satisfied while loading "VmCellSlice" for type "VmCellSlice"'); } }) - } // vm_tupref_nil$_ = VmTupleRef 0; @@ -4255,26 +3939,23 @@ export function loadVmTupleRef(slice: Slice, arg0: number): VmTupleRef { return { kind: 'VmTupleRef_vm_tupref_nil', } - } if ((arg0 == 1)) { - let slice1 = slice.loadRef().beginParse(true); - let entry: VmStackValue = loadVmStackValue(slice1); + const slice1 = slice.loadRef().beginParse(true); + const entry: VmStackValue = loadVmStackValue(slice1); return { kind: 'VmTupleRef_vm_tupref_single', entry: entry, } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let ref: VmTuple = loadVmTuple(slice1, ((arg0 - 2) + 2)); + const slice1 = slice.loadRef().beginParse(true); + const ref: VmTuple = loadVmTuple(slice1, ((arg0 - 2) + 2)); return { kind: 'VmTupleRef_vm_tupref_any', n: (arg0 - 2), ref: ref, } - } throw new Error('Expected one of "VmTupleRef_vm_tupref_nil", "VmTupleRef_vm_tupref_single", "VmTupleRef_vm_tupref_any" in loading "VmTupleRef", but data does not satisfy any constructor'); } @@ -4283,23 +3964,20 @@ export function storeVmTupleRef(vmTupleRef: VmTupleRef): (builder: Builder) => v if ((vmTupleRef.kind == 'VmTupleRef_vm_tupref_nil')) { return ((builder: Builder) => { }) - } if ((vmTupleRef.kind == 'VmTupleRef_vm_tupref_single')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmStackValue(vmTupleRef.entry)(cell1); builder.storeRef(cell1); }) - } if ((vmTupleRef.kind == 'VmTupleRef_vm_tupref_any')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmTuple(vmTupleRef.ref)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VmTupleRef_vm_tupref_nil", "VmTupleRef_vm_tupref_single", "VmTupleRef_vm_tupref_any" in loading "VmTupleRef", but data does not satisfy any constructor'); } @@ -4313,19 +3991,17 @@ export function loadVmTuple(slice: Slice, arg0: number): VmTuple { return { kind: 'VmTuple_vm_tuple_nil', } - } if (true) { - let head: VmTupleRef = loadVmTupleRef(slice, (arg0 - 1)); - let slice1 = slice.loadRef().beginParse(true); - let tail: VmStackValue = loadVmStackValue(slice1); + const head: VmTupleRef = loadVmTupleRef(slice, (arg0 - 1)); + const slice1 = slice.loadRef().beginParse(true); + const tail: VmStackValue = loadVmStackValue(slice1); return { kind: 'VmTuple_vm_tuple_tcons', n: (arg0 - 1), head: head, tail: tail, } - } throw new Error('Expected one of "VmTuple_vm_tuple_nil", "VmTuple_vm_tuple_tcons" in loading "VmTuple", but data does not satisfy any constructor'); } @@ -4334,16 +4010,14 @@ export function storeVmTuple(vmTuple: VmTuple): (builder: Builder) => void { if ((vmTuple.kind == 'VmTuple_vm_tuple_nil')) { return ((builder: Builder) => { }) - } if ((vmTuple.kind == 'VmTuple_vm_tuple_tcons')) { return ((builder: Builder) => { storeVmTupleRef(vmTuple.head)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmStackValue(vmTuple.tail)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VmTuple_vm_tuple_nil", "VmTuple_vm_tuple_tcons" in loading "VmTuple", but data does not satisfy any constructor'); } @@ -4351,14 +4025,13 @@ export function storeVmTuple(vmTuple: VmTuple): (builder: Builder) => void { // vm_stack#_ depth:(## 24) stack:(VmStackList depth) = VmStack; export function loadVmStack(slice: Slice): VmStack { - let depth: number = slice.loadUint(24); - let stack: VmStackList = loadVmStackList(slice, depth); + const depth: number = slice.loadUint(24); + const stack: VmStackList = loadVmStackList(slice, depth); return { kind: 'VmStack', depth: depth, stack: stack, } - } export function storeVmStack(vmStack: VmStack): (builder: Builder) => void { @@ -4366,7 +4039,6 @@ export function storeVmStack(vmStack: VmStack): (builder: Builder) => void { builder.storeUint(vmStack.depth, 24); storeVmStackList(vmStack.stack)(builder); }) - } // vm_stk_nil#_ = VmStackList 0; @@ -4378,19 +4050,17 @@ export function loadVmStackList(slice: Slice, arg0: number): VmStackList { return { kind: 'VmStackList_vm_stk_nil', } - } if (true) { - let slice1 = slice.loadRef().beginParse(true); - let rest: VmStackList = loadVmStackList(slice1, (arg0 - 1)); - let tos: VmStackValue = loadVmStackValue(slice); + const slice1 = slice.loadRef().beginParse(true); + const rest: VmStackList = loadVmStackList(slice1, (arg0 - 1)); + const tos: VmStackValue = loadVmStackValue(slice); return { kind: 'VmStackList_vm_stk_cons', n: (arg0 - 1), rest: rest, tos: tos, } - } throw new Error('Expected one of "VmStackList_vm_stk_nil", "VmStackList_vm_stk_cons" in loading "VmStackList", but data does not satisfy any constructor'); } @@ -4399,16 +4069,14 @@ export function storeVmStackList(vmStackList: VmStackList): (builder: Builder) = if ((vmStackList.kind == 'VmStackList_vm_stk_nil')) { return ((builder: Builder) => { }) - } if ((vmStackList.kind == 'VmStackList_vm_stk_cons')) { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmStackList(vmStackList.rest)(cell1); builder.storeRef(cell1); storeVmStackValue(vmStackList.tos)(builder); }) - } throw new Error('Expected one of "VmStackList_vm_stk_nil", "VmStackList_vm_stk_cons" in loading "VmStackList", but data does not satisfy any constructor'); } @@ -4416,7 +4084,7 @@ export function storeVmStackList(vmStackList: VmStackList): (builder: Builder) = // _ cregs:(HashmapE 4 VmStackValue) = VmSaveList; export function loadVmSaveList(slice: Slice): VmSaveList { - let cregs: Dictionary = Dictionary.load(Dictionary.Keys.Uint(4), { + const cregs: Dictionary = Dictionary.load(Dictionary.Keys.Uint(4), { serialize: () => { throw new Error('Not implemented') }, parse: loadVmStackValue, }, slice); @@ -4424,7 +4092,6 @@ export function loadVmSaveList(slice: Slice): VmSaveList { kind: 'VmSaveList', cregs: cregs, } - } export function storeVmSaveList(vmSaveList: VmSaveList): (builder: Builder) => void { @@ -4436,7 +4103,6 @@ export function storeVmSaveList(vmSaveList: VmSaveList): (builder: Builder) => v parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -4445,11 +4111,11 @@ gas_limits#_ remaining:int64 _:^[ max_limit:int64 cur_limit:int64 credit:int64 ] */ export function loadVmGasLimits(slice: Slice): VmGasLimits { - let remaining: bigint = slice.loadIntBig(64); - let slice1 = slice.loadRef().beginParse(true); - let max_limit: bigint = slice1.loadIntBig(64); - let cur_limit: bigint = slice1.loadIntBig(64); - let credit: bigint = slice1.loadIntBig(64); + const remaining: bigint = slice.loadIntBig(64); + const slice1 = slice.loadRef().beginParse(true); + const max_limit: bigint = slice1.loadIntBig(64); + const cur_limit: bigint = slice1.loadIntBig(64); + const credit: bigint = slice1.loadIntBig(64); return { kind: 'VmGasLimits', remaining: remaining, @@ -4457,37 +4123,33 @@ export function loadVmGasLimits(slice: Slice): VmGasLimits { cur_limit: cur_limit, credit: credit, } - } export function storeVmGasLimits(vmGasLimits: VmGasLimits): (builder: Builder) => void { return ((builder: Builder) => { builder.storeInt(vmGasLimits.remaining, 64); - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeInt(vmGasLimits.max_limit, 64); cell1.storeInt(vmGasLimits.cur_limit, 64); cell1.storeInt(vmGasLimits.credit, 64); builder.storeRef(cell1); }) - } // _ libraries:(HashmapE 256 ^Cell) = VmLibraries; export function loadVmLibraries(slice: Slice): VmLibraries { - let libraries: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + const libraries: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { serialize: () => { throw new Error('Not implemented') }, parse: ((slice: Slice) => { - let slice1 = slice.loadRef().beginParse(true); + const slice1 = slice.loadRef().beginParse(true); return slice1.asCell() - }), }, slice); return { kind: 'VmLibraries', libraries: libraries, } - } export function storeVmLibraries(vmLibraries: VmLibraries): (builder: Builder) => void { @@ -4496,18 +4158,15 @@ export function storeVmLibraries(vmLibraries: VmLibraries): (builder: Builder) = serialize: ((arg: Cell, builder: Builder) => { ((arg: Cell) => { return ((builder: Builder) => { - let cell1 = beginCell(); + const cell1 = beginCell(); cell1.storeSlice(arg.beginParse(true)); builder.storeRef(cell1); - }) - })(arg)(builder); }), parse: () => { throw new Error('Not implemented') }, }); }) - } /* @@ -4516,18 +4175,15 @@ cp:(Maybe int16) = VmControlData; */ export function loadVmControlData(slice: Slice): VmControlData { - let nargs: Maybe = loadMaybe(slice, ((slice: Slice) => { + const nargs: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadUint(13) - })); - let stack: Maybe = loadMaybe(slice, ((slice: Slice) => { + const stack: Maybe = loadMaybe(slice, ((slice: Slice) => { return parseTuple(slice.asCell()) - })); - let save: VmSaveList = loadVmSaveList(slice); - let cp: Maybe = loadMaybe(slice, ((slice: Slice) => { + const save: VmSaveList = loadVmSaveList(slice); + const cp: Maybe = loadMaybe(slice, ((slice: Slice) => { return slice.loadInt(16) - })); return { kind: 'VmControlData', @@ -4536,7 +4192,6 @@ export function loadVmControlData(slice: Slice): VmControlData { save: save, cp: cp, } - } export function storeVmControlData(vmControlData: VmControlData): (builder: Builder) => void { @@ -4545,23 +4200,19 @@ export function storeVmControlData(vmControlData: VmControlData): (builder: Buil return ((builder: Builder) => { builder.storeUint(arg, 13); }) - }))(builder); storeMaybe(vmControlData.stack, ((arg: TupleItem[]) => { return ((builder: Builder) => { copyCellToBuilder(serializeTuple(arg), builder); }) - }))(builder); storeVmSaveList(vmControlData.save)(builder); storeMaybe(vmControlData.cp, ((arg: number) => { return ((builder: Builder) => { builder.storeInt(arg, 16); }) - }))(builder); }) - } // vmc_std$00 cdata:VmControlData code:VmCellSlice = VmCont; @@ -4593,124 +4244,114 @@ after:^VmCont = VmCont; export function loadVmCont(slice: Slice): VmCont { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b00))) { slice.loadUint(2); - let cdata: VmControlData = loadVmControlData(slice); - let code: VmCellSlice = loadVmCellSlice(slice); + const cdata: VmControlData = loadVmControlData(slice); + const code: VmCellSlice = loadVmCellSlice(slice); return { kind: 'VmCont_vmc_std', cdata: cdata, code: code, } - } if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b01))) { slice.loadUint(2); - let cdata: VmControlData = loadVmControlData(slice); - let slice1 = slice.loadRef().beginParse(true); - let next: VmCont = loadVmCont(slice1); + const cdata: VmControlData = loadVmControlData(slice); + const slice1 = slice.loadRef().beginParse(true); + const next: VmCont = loadVmCont(slice1); return { kind: 'VmCont_vmc_envelope', cdata: cdata, next: next, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1000))) { slice.loadUint(4); - let exit_code: number = slice.loadInt(32); + const exit_code: number = slice.loadInt(32); return { kind: 'VmCont_vmc_quit', exit_code: exit_code, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1001))) { slice.loadUint(4); return { kind: 'VmCont_vmc_quit_exc', } - } if (((slice.remainingBits >= 5) && (slice.preloadUint(5) == 0b10100))) { slice.loadUint(5); - let count: bigint = slice.loadUintBig(63); - let slice1 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice2); + const count: bigint = slice.loadUintBig(63); + const slice1 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice2); return { kind: 'VmCont_vmc_repeat', count: count, body: body, after: after, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110000))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice2); + const slice1 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice2); return { kind: 'VmCont_vmc_until', body: body, after: after, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110001))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice1); + const slice1 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice1); return { kind: 'VmCont_vmc_again', body: body, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110010))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let cond: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice2); - let slice3 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice3); + const slice1 = slice.loadRef().beginParse(true); + const cond: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice2); + const slice3 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice3); return { kind: 'VmCont_vmc_while_cond', cond: cond, body: body, after: after, } - } if (((slice.remainingBits >= 6) && (slice.preloadUint(6) == 0b110011))) { slice.loadUint(6); - let slice1 = slice.loadRef().beginParse(true); - let cond: VmCont = loadVmCont(slice1); - let slice2 = slice.loadRef().beginParse(true); - let body: VmCont = loadVmCont(slice2); - let slice3 = slice.loadRef().beginParse(true); - let after: VmCont = loadVmCont(slice3); + const slice1 = slice.loadRef().beginParse(true); + const cond: VmCont = loadVmCont(slice1); + const slice2 = slice.loadRef().beginParse(true); + const body: VmCont = loadVmCont(slice2); + const slice3 = slice.loadRef().beginParse(true); + const after: VmCont = loadVmCont(slice3); return { kind: 'VmCont_vmc_while_body', cond: cond, body: body, after: after, } - } if (((slice.remainingBits >= 4) && (slice.preloadUint(4) == 0b1111))) { slice.loadUint(4); - let value: number = slice.loadInt(32); - let slice1 = slice.loadRef().beginParse(true); - let next: VmCont = loadVmCont(slice1); + const value: number = slice.loadInt(32); + const slice1 = slice.loadRef().beginParse(true); + const next: VmCont = loadVmCont(slice1); return { kind: 'VmCont_vmc_pushint', value: value, next: next, } - } throw new Error('Expected one of "VmCont_vmc_std", "VmCont_vmc_envelope", "VmCont_vmc_quit", "VmCont_vmc_quit_exc", "VmCont_vmc_repeat", "VmCont_vmc_until", "VmCont_vmc_again", "VmCont_vmc_while_cond", "VmCont_vmc_while_body", "VmCont_vmc_pushint" in loading "VmCont", but data does not satisfy any constructor'); } @@ -4722,104 +4363,94 @@ export function storeVmCont(vmCont: VmCont): (builder: Builder) => void { storeVmControlData(vmCont.cdata)(builder); storeVmCellSlice(vmCont.code)(builder); }) - } if ((vmCont.kind == 'VmCont_vmc_envelope')) { return ((builder: Builder) => { builder.storeUint(0b01, 2); storeVmControlData(vmCont.cdata)(builder); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.next)(cell1); builder.storeRef(cell1); }) - } if ((vmCont.kind == 'VmCont_vmc_quit')) { return ((builder: Builder) => { builder.storeUint(0b1000, 4); builder.storeInt(vmCont.exit_code, 32); }) - } if ((vmCont.kind == 'VmCont_vmc_quit_exc')) { return ((builder: Builder) => { builder.storeUint(0b1001, 4); }) - } if ((vmCont.kind == 'VmCont_vmc_repeat')) { return ((builder: Builder) => { builder.storeUint(0b10100, 5); builder.storeUint(vmCont.count, 63); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.body)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.after)(cell2); builder.storeRef(cell2); }) - } if ((vmCont.kind == 'VmCont_vmc_until')) { return ((builder: Builder) => { builder.storeUint(0b110000, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.body)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.after)(cell2); builder.storeRef(cell2); }) - } if ((vmCont.kind == 'VmCont_vmc_again')) { return ((builder: Builder) => { builder.storeUint(0b110001, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.body)(cell1); builder.storeRef(cell1); }) - } if ((vmCont.kind == 'VmCont_vmc_while_cond')) { return ((builder: Builder) => { builder.storeUint(0b110010, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.cond)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.body)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeVmCont(vmCont.after)(cell3); builder.storeRef(cell3); }) - } if ((vmCont.kind == 'VmCont_vmc_while_body')) { return ((builder: Builder) => { builder.storeUint(0b110011, 6); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.cond)(cell1); builder.storeRef(cell1); - let cell2 = beginCell(); + const cell2 = beginCell(); storeVmCont(vmCont.body)(cell2); builder.storeRef(cell2); - let cell3 = beginCell(); + const cell3 = beginCell(); storeVmCont(vmCont.after)(cell3); builder.storeRef(cell3); }) - } if ((vmCont.kind == 'VmCont_vmc_pushint')) { return ((builder: Builder) => { builder.storeUint(0b1111, 4); builder.storeInt(vmCont.value, 32); - let cell1 = beginCell(); + const cell1 = beginCell(); storeVmCont(vmCont.next)(cell1); builder.storeRef(cell1); }) - } throw new Error('Expected one of "VmCont_vmc_std", "VmCont_vmc_envelope", "VmCont_vmc_quit", "VmCont_vmc_quit_exc", "VmCont_vmc_repeat", "VmCont_vmc_until", "VmCont_vmc_again", "VmCont_vmc_while_cond", "VmCont_vmc_while_body", "VmCont_vmc_pushint" in loading "VmCont", but data does not satisfy any constructor'); } @@ -4827,55 +4458,49 @@ export function storeVmCont(vmCont: VmCont): (builder: Builder) => void { // _ t:VmStack = VMStackUser; export function loadVMStackUser(slice: Slice): VMStackUser { - let t: TupleItem[] = parseTuple(slice.asCell()); + const t: TupleItem[] = parseTuple(slice.asCell()); return { kind: 'VMStackUser', t: t, } - } export function storeVMStackUser(vMStackUser: VMStackUser): (builder: Builder) => void { return ((builder: Builder) => { copyCellToBuilder(serializeTuple(vMStackUser.t), builder); }) - } // bool_false_user$_ x:BoolFalse = BoolFalseUser; export function loadBoolFalseUser(slice: Slice): BoolFalseUser { - let x: Bool = loadBoolFalse(slice); + const x: Bool = loadBoolFalse(slice); return { kind: 'BoolFalseUser', x: x, } - } export function storeBoolFalseUser(boolFalseUser: BoolFalseUser): (builder: Builder) => void { return ((builder: Builder) => { storeBool(boolFalseUser.x)(builder); }) - } // bool_true_user$_ x:BoolTrue = BoolTrueUser; export function loadBoolTrueUser(slice: Slice): BoolTrueUser { - let x: Bool = loadBoolTrue(slice); + const x: Bool = loadBoolTrue(slice); return { kind: 'BoolTrueUser', x: x, } - } export function storeBoolTrueUser(boolTrueUser: BoolTrueUser): (builder: Builder) => void { return ((builder: Builder) => { storeBool(boolTrueUser.x)(builder); }) - } // tag_calculator_example seq_no : # seq_no_2 : # { prev_seq_no: # } { 2 + ~prev_seq_no + 1 = 2 + seq_no + 2 } { prev_seq_no_2 : # } { ~prev_seq_no_2 = 100 + seq_no_2 * 8 * 7} = TagCalculatorExample; @@ -4883,8 +4508,8 @@ export function storeBoolTrueUser(boolTrueUser: BoolTrueUser): (builder: Builder export function loadTagCalculatorExample(slice: Slice): TagCalculatorExample { if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xa63f2977))) { slice.loadUint(32); - let seq_no: number = slice.loadUint(32); - let seq_no_2: number = slice.loadUint(32); + const seq_no: number = slice.loadUint(32); + const seq_no_2: number = slice.loadUint(32); return { kind: 'TagCalculatorExample', prev_seq_no: (((2 + (seq_no + 2)) - 2) - 1), @@ -4892,7 +4517,6 @@ export function loadTagCalculatorExample(slice: Slice): TagCalculatorExample { seq_no: seq_no, seq_no_2: seq_no_2, } - } throw new Error('Expected one of "TagCalculatorExample" in loading "TagCalculatorExample", but data does not satisfy any constructor'); } @@ -4903,6 +4527,5 @@ export function storeTagCalculatorExample(tagCalculatorExample: TagCalculatorExa builder.storeUint(tagCalculatorExample.seq_no, 32); builder.storeUint(tagCalculatorExample.seq_no_2, 32); }) - } diff --git a/test/main.spec.ts b/test/main.spec.ts index dbda5b1..6da3422 100644 --- a/test/main.spec.ts +++ b/test/main.spec.ts @@ -8,4 +8,8 @@ describe('main', () => { test('getTLBCode', () => { expect(getTLBCode('_ x:# = Foo;')).toMatchSnapshot(); }); + + test('generateCode for cell as ref', () => { + expect(generateCode('_ n:(## 3) c:(n * ^Cell) = T;', 'typescript')).toMatchSnapshot(); + }); }); From e1e66d60be24a58ab9347e3e2b897f463b796c93 Mon Sep 17 00:00:00 2001 From: Ilyar Date: Thu, 4 Dec 2025 07:23:25 +0100 Subject: [PATCH 3/7] fixup! chore: update dependencies --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d0870f..dc9ffa7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "2.0.0-beta.3", "license": "MIT", "dependencies": { - "@ton-community/tlb-parser": "^0.1.5", + "@ton-community/tlb-parser": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/29eef5db84610e08f1f9ad5af67d400a3b84d22a/ton-community-tlb-parser-dev.tgz", "@ton/core": "^0.62.0", "meow": "^9.0.0" }, @@ -1389,11 +1389,11 @@ }, "node_modules/@ton-community/tlb-parser": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@ton-community/tlb-parser/-/tlb-parser-0.1.5.tgz", - "integrity": "sha512-gHCy+5h8UwVQ2gCEd0LfS6cAisZtsbX4BXlq71JYUxHstPT6yTlB0Nv5UTOx0b5ua+pSpwsRqY6TE3II/VH6Sw==", + "resolved": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/29eef5db84610e08f1f9ad5af67d400a3b84d22a/ton-community-tlb-parser-dev.tgz", + "integrity": "sha512-4Bk4CZPo9KBKFguaL/SFdG5W+pFXQD4NNVXH2fomXPyzii4VzCdv1RNus0lo3k4fcOp/2dp/j/x6LgL8sVAVzA==", "license": "MIT", "dependencies": { - "ohm-js": "^16.6.0" + "ohm-js": "^v17.2.1" }, "bin": { "tlb-parser": "dist/cli.js" @@ -6279,9 +6279,9 @@ } }, "node_modules/ohm-js": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/ohm-js/-/ohm-js-16.6.0.tgz", - "integrity": "sha512-X9P4koSGa7swgVQ0gt71UCYtkAQGOjciJPJAz74kDxWt8nXbH5HrDOQG6qBDH7SR40ktNv4x61BwpTDE9q4lRA==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/ohm-js/-/ohm-js-17.2.1.tgz", + "integrity": "sha512-4cXF0G09fAYU9z61kTfkNbKK1Kz/sGEZ5NbVWHoe9Qi7VB7y+Spwk051CpUTfUENdlIr+vt8tMV4/LosTE2cDQ==", "license": "MIT", "engines": { "node": ">=0.12.1" diff --git a/package.json b/package.json index 8062d39..e629793 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "typescript": "^5.9.3" }, "dependencies": { - "@ton-community/tlb-parser": "^0.1.5", + "@ton-community/tlb-parser": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/29eef5db84610e08f1f9ad5af67d400a3b84d22a/ton-community-tlb-parser-dev.tgz", "@ton/core": "^0.62.0", "meow": "^9.0.0" } From 598c8566acecc6228c6832aba69c3f2a2192377d Mon Sep 17 00:00:00 2001 From: Ilyar Date: Fri, 5 Dec 2025 07:17:22 +0100 Subject: [PATCH 4/7] fixup! chore: update dependencies --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index dc9ffa7..20a8639 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "2.0.0-beta.3", "license": "MIT", "dependencies": { - "@ton-community/tlb-parser": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/29eef5db84610e08f1f9ad5af67d400a3b84d22a/ton-community-tlb-parser-dev.tgz", + "@ton-community/tlb-parser": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/8675d8d44816b7047f721b795b29561d4249a7db/ton-community-tlb-parser-0.2.0.tgz", "@ton/core": "^0.62.0", "meow": "^9.0.0" }, @@ -1388,9 +1388,9 @@ } }, "node_modules/@ton-community/tlb-parser": { - "version": "0.1.5", - "resolved": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/29eef5db84610e08f1f9ad5af67d400a3b84d22a/ton-community-tlb-parser-dev.tgz", - "integrity": "sha512-4Bk4CZPo9KBKFguaL/SFdG5W+pFXQD4NNVXH2fomXPyzii4VzCdv1RNus0lo3k4fcOp/2dp/j/x6LgL8sVAVzA==", + "version": "0.2.0", + "resolved": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/8675d8d44816b7047f721b795b29561d4249a7db/ton-community-tlb-parser-0.2.0.tgz", + "integrity": "sha512-e72Wl6HD6vlT1n3IMse1hXceyIhgr73Ggpvk9VMVRAMtH/Qnj7f9CD26aVfC/mxaW5p0zPIdECfc7puowyZD0g==", "license": "MIT", "dependencies": { "ohm-js": "^v17.2.1" diff --git a/package.json b/package.json index e629793..6cd2ec4 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "typescript": "^5.9.3" }, "dependencies": { - "@ton-community/tlb-parser": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/29eef5db84610e08f1f9ad5af67d400a3b84d22a/ton-community-tlb-parser-dev.tgz", + "@ton-community/tlb-parser": "https://gist.github.com/ilyar/baac357ceafa1112161418d7df5247b9/raw/8675d8d44816b7047f721b795b29561d4249a7db/ton-community-tlb-parser-0.2.0.tgz", "@ton/core": "^0.62.0", "meow": "^9.0.0" } From c4ca2811d3963435c86962b3b29cd51f1d471feb Mon Sep 17 00:00:00 2001 From: Ilyar Date: Fri, 5 Dec 2025 08:41:59 +0100 Subject: [PATCH 5/7] fix: generator code correct behavior for store method for Bit selection expression #56 --- CHANGELOG.md | 1 + src/generators/typescript/complex_expr.ts | 31 +- src/generators/typescript/generator.ts | 47 +- src/generators/typescript/tsgen.ts | 21 +- src/generators/typescript/utils.ts | 40 +- test/__snapshots__/main.spec.ts.snap | 135 +++ test/generated_files/generated_block.ts | 26 +- .../generated_tep-81-dns-standard.ts | 827 ++++++++++++++++++ test/generated_files/generated_test.ts | 10 +- test/main.spec.ts | 6 + test/tlb/tep-81-dns-standard.tlb | 50 ++ test/tlbgen.spec.ts | 90 +- tsconfig.json | 2 +- 13 files changed, 1245 insertions(+), 41 deletions(-) create mode 100644 test/generated_files/generated_tep-81-dns-standard.ts create mode 100644 test/tlb/tep-81-dns-standard.tlb diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c5fe1a..1923e85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixed - Fix generate code for cell as ref [issues #59](https://github.com/ton-community/tlb-codegen/issues/59) +- Fix generator code correct behavior for store method for Bit selection expression [issues #56](https://github.com/ton-community/tlb-codegen/issues/56) ### Chore diff --git a/src/generators/typescript/complex_expr.ts b/src/generators/typescript/complex_expr.ts index ddd8f00..45b036b 100644 --- a/src/generators/typescript/complex_expr.ts +++ b/src/generators/typescript/complex_expr.ts @@ -33,6 +33,7 @@ import { tTypeWithParameters, tTypedIdentifier, tUnaryOpExpression, + tPostfixExpression, toCode, } from './tsgen'; import { ExprForParam, convertToAST, getNegationDerivationFunctionBody, isBigIntExpr } from './utils'; @@ -138,12 +139,14 @@ export function storeExprForParam( theCell: string, exprForParam: ExprForParam, insideStoreParameters: Expression[], + isOptional: boolean = false, ): Statement { + let params = insideStoreParameters; + if (isOptional && params.length > 0) { + params = [tPostfixExpression(params[0], '!'), ...params.slice(1)]; + } return tExpressionStatement( - tFunctionCall( - tMemberExpression(id(theCell), id('store' + exprForParam.fieldStoreSuffix)), - insideStoreParameters, - ), + tFunctionCall(tMemberExpression(id(theCell), id('store' + exprForParam.fieldStoreSuffix)), params), ); } export function returnSliceFunc(): Expression { @@ -210,17 +213,27 @@ export function loadTupleExpr(arrayLength: Expression, loadExpr: Expression): Ex [tArrowFunctionExpression([tTypedIdentifier(id('arg'), id('number'))], [tReturnStatement(loadExpr)])], ); } -export function storeExprCond(currentParam: Expression, storeExpr: Statement): Statement { - return tIfStatement(tBinaryExpression(currentParam, '!=', id('undefined')), [storeExpr]); +export function storeExprCond(currentParam: Expression, storeExpr: Statement, conditionExpr?: Expression): Statement { + let condition: Expression; + if (conditionExpr) { + const undefinedCheck = tBinaryExpression(currentParam, '!=', id('undefined')); + condition = tBinaryExpression(conditionExpr, '&&', undefinedCheck); + } else { + condition = tBinaryExpression(currentParam, '!=', id('undefined')); + } + return tIfStatement(condition, [storeExpr]); } export function storeExpressionNamedType( typeName: string, insideStoreParameters: Expression[], currentCell: string, + isOptional: boolean = false, ): Statement { - return tExpressionStatement( - tFunctionCall(tFunctionCall(id('store' + typeName), insideStoreParameters), [id(currentCell)]), - ); + let params = insideStoreParameters; + if (isOptional && params.length > 0) { + params = [tPostfixExpression(params[0], '!'), ...params.slice(1)]; + } + return tExpressionStatement(tFunctionCall(tFunctionCall(id('store' + typeName), params), [id(currentCell)])); } export function storeRefObjectStmt(currentCell: string, ctx: ConstructorContext, field: TLBField): Statement { return tExpressionStatement( diff --git a/src/generators/typescript/generator.ts b/src/generators/typescript/generator.ts index 798de2e..f49e562 100644 --- a/src/generators/typescript/generator.ts +++ b/src/generators/typescript/generator.ts @@ -558,7 +558,7 @@ export function loadBoolTrue(slice: Slice): Bool { ctx.storeStatements.push(storeRefObjectStmt(currentCell, ctx, field)); }); } else if (field.subFields.length == 0) { - let fieldInfo = this.handleType(field, field.fieldType, true, ctx, slicePrefix, 0); + let fieldInfo = this.handleType(field, field.fieldType, true, ctx, slicePrefix, 0, false); if (fieldInfo.loadExpr) { addLoadProperty(field.name, fieldInfo.loadExpr, fieldInfo.typeParamExpr, ctx); } @@ -581,6 +581,7 @@ export function loadBoolTrue(slice: Slice): Bool { ctx: ConstructorContext, slicePrefix: Array, argIndex: number, + isConditional: boolean = false, ): FieldInfoType { let currentSlice = getCurrentSlice(slicePrefix, 'slice'); let currentCell = getCurrentSlice(slicePrefix, 'cell'); @@ -748,8 +749,18 @@ export function loadBoolTrue(slice: Slice): Bool { result.typeParamExpr = id(typeName); if (isField) { result.loadExpr = tFunctionCall(id('load' + typeName), [id(theSlice)]); - result.storeStmtOutside = storeExpressionNamedType(typeName, storeParametersOutside, currentCell); - result.storeStmtInside = storeExpressionNamedType(typeName, storeParametersInside, currentCell); + result.storeStmtOutside = storeExpressionNamedType( + typeName, + storeParametersOutside, + currentCell, + isConditional, + ); + result.storeStmtInside = storeExpressionNamedType( + typeName, + storeParametersInside, + currentCell, + isConditional, + ); } else { result.loadExpr = id('load' + typeName); result.storeStmtOutside = tExpressionStatement(id('store' + typeName)); @@ -757,7 +768,7 @@ export function loadBoolTrue(slice: Slice): Bool { } else if (fieldType.kind == 'TLBCondType') { let subExprInfo: FieldInfoType; let conditionExpr: Expression; - subExprInfo = this.handleType(field, fieldType.value, true, ctx, slicePrefix, argIndex); + subExprInfo = this.handleType(field, fieldType.value, true, ctx, slicePrefix, argIndex, true); conditionExpr = convertToAST(fieldType.condition, ctx.constructor); if (subExprInfo.typeParamExpr) { result.typeParamExpr = tUnionTypeExpression([subExprInfo.typeParamExpr, id('undefined')]); @@ -768,14 +779,32 @@ export function loadBoolTrue(slice: Slice): Bool { let currentParamOutside = storeParametersOutside[0]; let currentParamInside = storeParametersInside[0]; if (currentParamOutside && currentParamInside && subExprInfo.storeStmtOutside) { - result.storeStmtOutside = storeExprCond(currentParamOutside, subExprInfo.storeStmtOutside); - result.storeStmtInside = storeExprCond(currentParamInside, subExprInfo.storeStmtOutside); + let storeConditionExpr: Expression | undefined; + if (fieldType.condition) { + let objectParam = id(ctx.typeName); + storeConditionExpr = convertToAST(fieldType.condition, ctx.constructor, objectParam); + } + result.storeStmtOutside = storeExprCond( + currentParamOutside, + subExprInfo.storeStmtOutside, + storeConditionExpr, + ); + if (storeConditionExpr && fieldType.condition) { + const storeConditionExprInside = convertToAST(fieldType.condition, ctx.constructor, id('arg')); + result.storeStmtInside = storeExprCond( + currentParamInside, + subExprInfo.storeStmtOutside, + storeConditionExprInside, + ); + } else { + result.storeStmtInside = storeExprCond(currentParamInside, subExprInfo.storeStmtOutside); + } } } else if (fieldType.kind == 'TLBMultipleType') { let arrayLength: Expression; let subExprInfo: FieldInfoType; arrayLength = convertToAST(fieldType.times, ctx.constructor); - subExprInfo = this.handleType(field, fieldType.value, false, ctx, slicePrefix, argIndex); + subExprInfo = this.handleType(field, fieldType.value, false, ctx, slicePrefix, argIndex, false); let currentParamOutside = storeParametersOutside[0]; let currentParamInside = storeParametersInside[0]; if (subExprInfo.loadExpr) { @@ -1002,8 +1031,8 @@ export function loadBoolTrue(slice: Slice): Bool { result.loadFunctionExpr = returnSliceFunc(); } result.typeParamExpr = id(exprForParam.paramType); - result.storeStmtOutside = storeExprForParam(theCell, exprForParam, storeParametersOutside); - result.storeStmtInside = storeExprForParam(theCell, exprForParam, storeParametersInside); + result.storeStmtOutside = storeExprForParam(theCell, exprForParam, storeParametersOutside, isConditional); + result.storeStmtInside = storeExprForParam(theCell, exprForParam, storeParametersInside, isConditional); } if (result.loadExpr && !result.loadFunctionExpr) { diff --git a/src/generators/typescript/tsgen.ts b/src/generators/typescript/tsgen.ts index bc50593..383b19b 100644 --- a/src/generators/typescript/tsgen.ts +++ b/src/generators/typescript/tsgen.ts @@ -154,6 +154,12 @@ export interface UnaryOpExpression extends ASTNode { expr: Expression; } +export interface PostfixExpression extends ASTNode { + type: 'PostfixExpression'; + expr: Expression; + operator: string; +} + export interface BinaryExpression extends ASTNode { type: 'BinaryExpression'; binarySign: string; @@ -205,7 +211,8 @@ export type Expression = | TypeParametersExpression | DeclareVariable | TernaryExpression - | UnaryOpExpression; + | UnaryOpExpression + | PostfixExpression; export type GenDeclaration = | ImportDeclaration | StructDeclaration @@ -367,6 +374,14 @@ export function tUnaryOpExpression(unaryOperator: string, expr: Expression): Una }; } +export function tPostfixExpression(expr: Expression, operator: string): PostfixExpression { + return { + type: 'PostfixExpression', + expr: expr, + operator: operator, + }; +} + export function tBinaryExpression(left: Expression, binarySign: string, right: Expression): BinaryExpression { return { type: 'BinaryExpression', @@ -594,6 +609,10 @@ export function toCode(node: TheNode, code: CodeBuilder = new CodeBuilder()): Co code.add(`(${node.unaryOperator}${toCode(node.expr).render()})`, false); } + if (node.type == 'PostfixExpression') { + code.add(`(${toCode(node.expr).render()}${node.operator})`, false); + } + if (node.type == 'BinaryExpression') { code.add(`(${toCode(node.left).render()} ${node.binarySign} ${toCode(node.right).render()})`, false); } diff --git a/src/generators/typescript/utils.ts b/src/generators/typescript/utils.ts index 7b594c5..267fc90 100644 --- a/src/generators/typescript/utils.ts +++ b/src/generators/typescript/utils.ts @@ -141,11 +141,47 @@ export function addLoadProperty( ctx.loadProperties.push(tObjectProperty(nameId, nameId)); } -export function convertToAST(mathExpr: TLBMathExpr, constructor: TLBConstructor, objectId?: Identifier): Expression { +export function convertToAST( + mathExpr: TLBMathExpr, + constructor: TLBConstructor, + objectId?: Identifier | Expression, +): Expression { if (mathExpr instanceof TLBVarExpr) { let varName = mathExpr.x; if (objectId != undefined) { - return tMemberExpression(objectId, id(varName)); + let fieldName = varName; + let field = constructor.fields.find((f) => f.name === varName); + if (field) { + fieldName = field.name; + } else { + const parameter = constructor.parameters.find((p) => { + let paramName = p.variable.name; + if (p.argName) { + paramName = p.argName; + } + return paramName === varName; + }); + if (parameter) { + const paramVarName = parameter.variable.name; + if (paramVarName) { + field = constructor.fields.find((f) => f.name === paramVarName); + if (field) { + fieldName = field.name; + } else { + fieldName = paramVarName; + } + } + } else { + const variable = constructor.variablesMap.get(varName); + if (variable?.isField) { + field = constructor.fields.find((f) => f.name === varName); + if (field) { + fieldName = field.name; + } + } + } + } + return tMemberExpression(objectId, id(fieldName)); } return id(varName); } diff --git a/test/__snapshots__/main.spec.ts.snap b/test/__snapshots__/main.spec.ts.snap index b7e8258..fd2f39c 100644 --- a/test/__snapshots__/main.spec.ts.snap +++ b/test/__snapshots__/main.spec.ts.snap @@ -208,6 +208,141 @@ export function storeT(t: T): (builder: Builder) => void { " `; +exports[`main generateCode with bit selection 1`] = ` +"import { Builder } from '@ton/core' +import { Slice } from '@ton/core' +import { beginCell } from '@ton/core' +import { BitString } from '@ton/core' +import { Cell } from '@ton/core' +import { Address } from '@ton/core' +import { ExternalAddress } from '@ton/core' +import { Dictionary } from '@ton/core' +import { DictionaryValue } from '@ton/core' +import { TupleItem } from '@ton/core' +import { parseTuple } from '@ton/core' +import { serializeTuple } from '@ton/core' +export function bitLen(n: number) { + return n.toString(2).length; +} + +export interface Bool { + readonly kind: 'Bool'; + readonly value: boolean; +} + +export function loadBool(slice: Slice): Bool { + if (slice.remainingBits >= 1) { + let value = slice.loadUint(1); + return { + kind: 'Bool', + value: value == 1 + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function storeBool(bool: Bool): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(bool.value ? 1: 0, 1); + }) + +} + + + +export function loadBoolFalse(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: false + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function loadBoolTrue(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: true + } + + } + throw new Error('Expected one of "BoolTrue" in loading "BoolTrue", but data does not satisfy any constructor'); +} + +export function copyCellToBuilder(from: Cell, to: Builder): void { + let slice = from.beginParse(); + to.storeBits(slice.loadBits(slice.remainingBits)); + while (slice.remainingRefs) { + to.storeRef(slice.loadRef()); + } +} +// _ a:(## 2) b:(a . 1)?uint32 = T1; + +export interface T1 { + readonly kind: 'T1'; + readonly a: number; + readonly b: number | undefined; +} + +// _ a:(## 2) b:(a . 1)?uint32 = T1; + +export interface T2 { + readonly kind: 'T2'; + readonly a: number; + readonly b: bigint | undefined; +} + +// _ a:(## 2) b:(a . 1)?uint32 = T1; + +export function loadT1(slice: Slice): T1 { + const a: number = slice.loadUint(2); + const b: number | undefined = ((a & (1 << 1)) ? slice.loadUint(32) : undefined); + return { + kind: 'T1', + a: a, + b: b, + } +} + +export function storeT1(t1: T1): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(t1.a, 2); + if (((t1.a & (1 << 1)) && (t1.b != undefined))) { + builder.storeUint((t1.b!), 32); + } + }) +} + +// _ a:(## 2) b:(a . 1)?uint32 = T1; + +export function loadT2(slice: Slice): T2 { + const a: number = slice.loadUint(2); + const b: bigint | undefined = ((a & (1 << 2)) ? slice.loadUintBig(128) : undefined); + return { + kind: 'T2', + a: a, + b: b, + } +} + +export function storeT2(t2: T2): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(t2.a, 2); + if (((t2.a & (1 << 2)) && (t2.b != undefined))) { + builder.storeUint((t2.b!), 128); + } + }) +} + +" +`; + exports[`main getTLBCode 1`] = ` TLBCode { "types": Map { diff --git a/test/generated_files/generated_block.ts b/test/generated_files/generated_block.ts index d4a089e..da72e87 100644 --- a/test/generated_files/generated_block.ts +++ b/test/generated_files/generated_block.ts @@ -8092,10 +8092,10 @@ export function storeBlockInfo(blockInfo: BlockInfo): (builder: Builder) => void builder.storeUint(blockInfo.gen_catchain_seqno, 32); builder.storeUint(blockInfo.min_ref_mc_seqno, 32); builder.storeUint(blockInfo.prev_key_block_seqno, 32); - if ((blockInfo.gen_software != undefined)) { - storeGlobalVersion(blockInfo.gen_software)(builder); + if (((blockInfo.flags & (1 << 0)) && (blockInfo.gen_software != undefined))) { + storeGlobalVersion((blockInfo.gen_software!))(builder); } - if ((blockInfo.master_ref != undefined)) { + if ((blockInfo.not_master && (blockInfo.master_ref != undefined))) { const cell1 = beginCell(); storeBlkMasterInfo(blockInfo.master_ref)(cell1); builder.storeRef(cell1); @@ -8103,7 +8103,7 @@ export function storeBlockInfo(blockInfo: BlockInfo): (builder: Builder) => void const cell1 = beginCell(); storeBlkPrevInfo(blockInfo.prev_ref)(cell1); builder.storeRef(cell1); - if ((blockInfo.prev_vert_ref != undefined)) { + if ((blockInfo.vert_seqno_incr && (blockInfo.prev_vert_ref != undefined))) { const cell1 = beginCell(); storeBlkPrevInfo(blockInfo.prev_vert_ref)(cell1); builder.storeRef(cell1); @@ -9188,8 +9188,8 @@ export function storeMcStateExtra(mcStateExtra: McStateExtra): (builder: Builder storeOldMcBlocksInfo(mcStateExtra.prev_blocks)(cell1); storeBool(mcStateExtra.after_key_block)(builder); storeMaybe(mcStateExtra.last_key_block, storeExtBlkRef)(cell1); - if ((mcStateExtra.block_create_stats != undefined)) { - storeBlockCreateStats(mcStateExtra.block_create_stats)(cell1); + if (((mcStateExtra.flags & (1 << 0)) && (mcStateExtra.block_create_stats != undefined))) { + storeBlockCreateStats((mcStateExtra.block_create_stats!))(cell1); } builder.storeRef(cell1); storeCurrencyCollection(mcStateExtra.global_balance)(builder); @@ -9451,8 +9451,8 @@ export function storeMcBlockExtra(mcBlockExtra: McBlockExtra): (builder: Builder }) }))(cell1); builder.storeRef(cell1); - if ((mcBlockExtra.config != undefined)) { - storeConfigParams(mcBlockExtra.config)(builder); + if ((mcBlockExtra.key_block && (mcBlockExtra.config != undefined))) { + storeConfigParams((mcBlockExtra.config!))(builder); } }) } @@ -12058,7 +12058,7 @@ export function storeProofChain(proofChain: ProofChain): (builder: Builder) => v const cell1 = beginCell(); cell1.storeSlice(proofChain.root.beginParse(true)); builder.storeRef(cell1); - if ((proofChain.prev != undefined)) { + if (((proofChain.n - 1) && (proofChain.prev != undefined))) { const cell1 = beginCell(); storeProofChain(proofChain.prev)(cell1); builder.storeRef(cell1); @@ -13289,8 +13289,8 @@ export function storeDNSRecord(dNSRecord: DNSRecord): (builder: Builder) => void builder.storeUint(0xad01, 16); builder.storeBuffer(dNSRecord.adnl_addr, (256 / 8)); builder.storeUint(dNSRecord.flags, 8); - if ((dNSRecord.proto_list != undefined)) { - storeProtoList(dNSRecord.proto_list)(builder); + if (((dNSRecord.flags & (1 << 0)) && (dNSRecord.proto_list != undefined))) { + storeProtoList((dNSRecord.proto_list!))(builder); } if ((!(dNSRecord.flags <= 1))) { throw new Error('Condition (dNSRecord.flags <= 1) is not satisfied while loading "DNSRecord_dns_adnl_address" for type "DNSRecord"'); @@ -13302,8 +13302,8 @@ export function storeDNSRecord(dNSRecord: DNSRecord): (builder: Builder) => void builder.storeUint(0x9fd3, 16); builder.storeAddress(dNSRecord.smc_addr); builder.storeUint(dNSRecord.flags, 8); - if ((dNSRecord.cap_list != undefined)) { - storeSmcCapList(dNSRecord.cap_list)(builder); + if (((dNSRecord.flags & (1 << 0)) && (dNSRecord.cap_list != undefined))) { + storeSmcCapList((dNSRecord.cap_list!))(builder); } if ((!(dNSRecord.flags <= 1))) { throw new Error('Condition (dNSRecord.flags <= 1) is not satisfied while loading "DNSRecord_dns_smc_address" for type "DNSRecord"'); diff --git a/test/generated_files/generated_tep-81-dns-standard.ts b/test/generated_files/generated_tep-81-dns-standard.ts new file mode 100644 index 0000000..3708f81 --- /dev/null +++ b/test/generated_files/generated_tep-81-dns-standard.ts @@ -0,0 +1,827 @@ +import { Builder } from '@ton/core' +import { Slice } from '@ton/core' +import { beginCell } from '@ton/core' +import { BitString } from '@ton/core' +import { Cell } from '@ton/core' +import { Address } from '@ton/core' +import { ExternalAddress } from '@ton/core' +import { Dictionary } from '@ton/core' +import { DictionaryValue } from '@ton/core' +import { TupleItem } from '@ton/core' +import { parseTuple } from '@ton/core' +import { serializeTuple } from '@ton/core' +export function bitLen(n: number) { + return n.toString(2).length; +} + +export interface Bool { + readonly kind: 'Bool'; + readonly value: boolean; +} + +export function loadBool(slice: Slice): Bool { + if (slice.remainingBits >= 1) { + let value = slice.loadUint(1); + return { + kind: 'Bool', + value: value == 1 + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function storeBool(bool: Bool): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(bool.value ? 1: 0, 1); + }) + +} + + + +export function loadBoolFalse(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: false + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function loadBoolTrue(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: true + } + + } + throw new Error('Expected one of "BoolTrue" in loading "BoolTrue", but data does not satisfy any constructor'); +} + +export function copyCellToBuilder(from: Cell, to: Builder): void { + let slice = from.beginParse(); + to.storeBits(slice.loadBits(slice.remainingBits)); + while (slice.remainingRefs) { + to.storeRef(slice.loadRef()); + } +} +// unary_zero$0 = Unary ~0; + +// unary_succ$1 {n:#} x:(Unary ~n) = Unary ~(n + 1); + +export type Unary = Unary_unary_zero | Unary_unary_succ; + +export interface Unary_unary_zero { + readonly kind: 'Unary_unary_zero'; +} + +export interface Unary_unary_succ { + readonly kind: 'Unary_unary_succ'; + readonly n: number; + readonly x: Unary; +} + +// nothing$0 {X:Type} = Maybe X; + +// just$1 {X:Type} value:X = Maybe X; + +export type Maybe = Maybe_nothing | Maybe_just; + +export interface Maybe_nothing { + readonly kind: 'Maybe_nothing'; +} + +export interface Maybe_just { + readonly kind: 'Maybe_just'; + readonly value: X; +} + +// hml_short$0 {m:#} {n:#} len:(Unary ~n) {n <= m} s:(n * Bit) = HmLabel ~n m; + +// hml_long$10 {m:#} n:(#<= m) s:(n * Bit) = HmLabel ~n m; + +// hml_same$11 {m:#} v:Bit n:(#<= m) = HmLabel ~n m; + +export type HmLabel = HmLabel_hml_short | HmLabel_hml_long | HmLabel_hml_same; + +export interface HmLabel_hml_short { + readonly kind: 'HmLabel_hml_short'; + readonly m: number; + readonly n: number; + readonly len: Unary; + readonly s: Array; +} + +export interface HmLabel_hml_long { + readonly kind: 'HmLabel_hml_long'; + readonly m: number; + readonly n: number; + readonly s: Array; +} + +export interface HmLabel_hml_same { + readonly kind: 'HmLabel_hml_same'; + readonly m: number; + readonly v: boolean; + readonly n: number; +} + +// hmn_leaf#_ {X:Type} value:X = HashmapNode 0 X; + +/* +hmn_fork#_ {n:#} {X:Type} left:^(Hashmap n X) + right:^(Hashmap n X) = HashmapNode (n + 1) X; +*/ + +export type HashmapNode = HashmapNode_hmn_leaf | HashmapNode_hmn_fork; + +export interface HashmapNode_hmn_leaf { + readonly kind: 'HashmapNode_hmn_leaf'; + readonly value: X; +} + +export interface HashmapNode_hmn_fork { + readonly kind: 'HashmapNode_hmn_fork'; + readonly n: number; + readonly left: Hashmap; + readonly right: Hashmap; +} + +/* +hm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) + {n = (~m) + l} node:(HashmapNode m X) = Hashmap n X; +*/ + +export interface Hashmap { + readonly kind: 'Hashmap'; + readonly n: number; + readonly l?: number; + readonly m?: number; + readonly label: HmLabel; + readonly node: HashmapNode; +} + +/* +anycast_info$_ depth:(#<= 30) { depth >= 1 } + rewrite_pfx:(bits depth) = Anycast; +*/ + +export interface Anycast { + readonly kind: 'Anycast'; + readonly depth: number; + readonly rewrite_pfx: BitString; +} + +// proto_http#4854 = Protocol; + +export interface Protocol { + readonly kind: 'Protocol'; +} + +// proto_list_nil$0 = ProtoList; + +// proto_list_next$1 head:Protocol tail:ProtoList = ProtoList; + +export type ProtoList = ProtoList_proto_list_nil | ProtoList_proto_list_next; + +export interface ProtoList_proto_list_nil { + readonly kind: 'ProtoList_proto_list_nil'; +} + +export interface ProtoList_proto_list_next { + readonly kind: 'ProtoList_proto_list_next'; + readonly head: Protocol; + readonly tail: ProtoList; +} + +// cap_is_wallet#2177 = SmcCapability; + +export interface SmcCapability { + readonly kind: 'SmcCapability'; +} + +// cap_list_nil$0 = SmcCapList; + +// cap_list_next$1 head:SmcCapability tail:SmcCapList = SmcCapList; + +export type SmcCapList = SmcCapList_cap_list_nil | SmcCapList_cap_list_next; + +export interface SmcCapList_cap_list_nil { + readonly kind: 'SmcCapList_cap_list_nil'; +} + +export interface SmcCapList_cap_list_next { + readonly kind: 'SmcCapList_cap_list_next'; + readonly head: SmcCapability; + readonly tail: SmcCapList; +} + +/* +dns_smc_address#9fd3 smc_addr:MsgAddressInt flags:(## 8) { flags <= 1 } + cap_list:flags . 0?SmcCapList = DNSRecord; +*/ + +// dns_next_resolver#ba93 resolver:MsgAddressInt = DNSRecord; + +/* +dns_adnl_address#ad01 adnl_addr:bits256 flags:(## 8) { flags <= 1 } + proto_list:flags . 0?ProtoList = DNSRecord; +*/ + +// dns_storage_address#7473 bag_id:bits256 = DNSRecord; + +export type DNSRecord = DNSRecord_dns_smc_address | DNSRecord_dns_next_resolver | DNSRecord_dns_adnl_address | DNSRecord_dns_storage_address; + +export interface DNSRecord_dns_smc_address { + readonly kind: 'DNSRecord_dns_smc_address'; + readonly smc_addr: Address; + readonly flags: number; + readonly cap_list: SmcCapList | undefined; +} + +export interface DNSRecord_dns_next_resolver { + readonly kind: 'DNSRecord_dns_next_resolver'; + readonly resolver: Address; +} + +export interface DNSRecord_dns_adnl_address { + readonly kind: 'DNSRecord_dns_adnl_address'; + readonly adnl_addr: Buffer; + readonly flags: number; + readonly proto_list: ProtoList | undefined; +} + +export interface DNSRecord_dns_storage_address { + readonly kind: 'DNSRecord_dns_storage_address'; + readonly bag_id: Buffer; +} + +// _ (HashmapE 256 ^DNSRecord) = DNS_RecordSet; + +export interface DNS_RecordSet { + readonly kind: 'DNS_RecordSet'; + readonly anon0: Dictionary; +} + +// unary_zero$0 = Unary ~0; + +export function unary_unary_succ_get_n(x: Unary): number { + if ((x.kind == 'Unary_unary_zero')) { + return 0 + } + if ((x.kind == 'Unary_unary_succ')) { + const n = x.n; + return (n + 1) + } + throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "x", but data does not satisfy any constructor'); +} + +// unary_succ$1 {n:#} x:(Unary ~n) = Unary ~(n + 1); + +export function loadUnary(slice: Slice): Unary { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Unary_unary_zero', + } + } + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + const x: Unary = loadUnary(slice); + const n = unary_unary_succ_get_n(x); + return { + kind: 'Unary_unary_succ', + x: x, + n: n, + } + } + throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" in loading "Unary", but data does not satisfy any constructor'); +} + +export function storeUnary(unary: Unary): (builder: Builder) => void { + if ((unary.kind == 'Unary_unary_zero')) { + return ((builder: Builder) => { + builder.storeUint(0b0, 1); + }) + } + if ((unary.kind == 'Unary_unary_succ')) { + return ((builder: Builder) => { + builder.storeUint(0b1, 1); + storeUnary(unary.x)(builder); + }) + } + throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" in loading "Unary", but data does not satisfy any constructor'); +} + +// nothing$0 {X:Type} = Maybe X; + +// just$1 {X:Type} value:X = Maybe X; + +export function loadMaybe(slice: Slice, loadX: (slice: Slice) => X): Maybe { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Maybe_nothing', + } + } + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + const value: X = loadX(slice); + return { + kind: 'Maybe_just', + value: value, + } + } + throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); +} + +export function storeMaybe(maybe: Maybe, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { + if ((maybe.kind == 'Maybe_nothing')) { + return ((builder: Builder) => { + builder.storeUint(0b0, 1); + }) + } + if ((maybe.kind == 'Maybe_just')) { + return ((builder: Builder) => { + builder.storeUint(0b1, 1); + storeX(maybe.value)(builder); + }) + } + throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); +} + +export function hmLabel_hml_short_get_n(len: Unary): number { + if ((len.kind == 'Unary_unary_zero')) { + return 0 + } + if ((len.kind == 'Unary_unary_succ')) { + const n = len.n; + return (n + 1) + } + throw new Error('Expected one of "Unary_unary_zero", "Unary_unary_succ" for type "Unary" while getting "len", but data does not satisfy any constructor'); +} + +// hml_short$0 {m:#} {n:#} len:(Unary ~n) {n <= m} s:(n * Bit) = HmLabel ~n m; + +// hml_long$10 {m:#} n:(#<= m) s:(n * Bit) = HmLabel ~n m; + +// hml_same$11 {m:#} v:Bit n:(#<= m) = HmLabel ~n m; + +export function loadHmLabel(slice: Slice, m: number): HmLabel { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + const len: Unary = loadUnary(slice); + const n = hmLabel_hml_short_get_n(len); + const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { + return slice.loadBit() + })); + if ((!(n <= m))) { + throw new Error('Condition (n <= m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); + } + return { + kind: 'HmLabel_hml_short', + m: m, + len: len, + n: n, + s: s, + } + } + if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { + slice.loadUint(2); + const n: number = slice.loadUint(bitLen(m)); + const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { + return slice.loadBit() + })); + return { + kind: 'HmLabel_hml_long', + m: m, + n: n, + s: s, + } + } + if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b11))) { + slice.loadUint(2); + const v: boolean = slice.loadBit(); + const n: number = slice.loadUint(bitLen(m)); + return { + kind: 'HmLabel_hml_same', + m: m, + v: v, + n: n, + } + } + throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" in loading "HmLabel", but data does not satisfy any constructor'); +} + +export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { + if ((hmLabel.kind == 'HmLabel_hml_short')) { + return ((builder: Builder) => { + builder.storeUint(0b0, 1); + storeUnary(hmLabel.len)(builder); + hmLabel.s.forEach(((arg: boolean) => { + builder.storeBit(arg); + })); + if ((!(hmLabel.n <= hmLabel.m))) { + throw new Error('Condition (hmLabel.n <= hmLabel.m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); + } + }) + } + if ((hmLabel.kind == 'HmLabel_hml_long')) { + return ((builder: Builder) => { + builder.storeUint(0b10, 2); + builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); + hmLabel.s.forEach(((arg: boolean) => { + builder.storeBit(arg); + })); + }) + } + if ((hmLabel.kind == 'HmLabel_hml_same')) { + return ((builder: Builder) => { + builder.storeUint(0b11, 2); + builder.storeBit(hmLabel.v); + builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); + }) + } + throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" in loading "HmLabel", but data does not satisfy any constructor'); +} + +// hmn_leaf#_ {X:Type} value:X = HashmapNode 0 X; + +/* +hmn_fork#_ {n:#} {X:Type} left:^(Hashmap n X) + right:^(Hashmap n X) = HashmapNode (n + 1) X; +*/ + +export function loadHashmapNode(slice: Slice, arg0: number, loadX: (slice: Slice) => X): HashmapNode { + if ((arg0 == 0)) { + const value: X = loadX(slice); + return { + kind: 'HashmapNode_hmn_leaf', + value: value, + } + } + if (true) { + const slice1 = slice.loadRef().beginParse(true); + const left: Hashmap = loadHashmap(slice1, (arg0 - 1), loadX); + const slice2 = slice.loadRef().beginParse(true); + const right: Hashmap = loadHashmap(slice2, (arg0 - 1), loadX); + return { + kind: 'HashmapNode_hmn_fork', + n: (arg0 - 1), + left: left, + right: right, + } + } + throw new Error('Expected one of "HashmapNode_hmn_leaf", "HashmapNode_hmn_fork" in loading "HashmapNode", but data does not satisfy any constructor'); +} + +export function storeHashmapNode(hashmapNode: HashmapNode, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { + if ((hashmapNode.kind == 'HashmapNode_hmn_leaf')) { + return ((builder: Builder) => { + storeX(hashmapNode.value)(builder); + }) + } + if ((hashmapNode.kind == 'HashmapNode_hmn_fork')) { + return ((builder: Builder) => { + const cell1 = beginCell(); + storeHashmap(hashmapNode.left, storeX)(cell1); + builder.storeRef(cell1); + const cell2 = beginCell(); + storeHashmap(hashmapNode.right, storeX)(cell2); + builder.storeRef(cell2); + }) + } + throw new Error('Expected one of "HashmapNode_hmn_leaf", "HashmapNode_hmn_fork" in loading "HashmapNode", but data does not satisfy any constructor'); +} + +export function hashmap_get_l(label: HmLabel): number { + if ((label.kind == 'HmLabel_hml_short')) { + const n = label.n; + return n + } + if ((label.kind == 'HmLabel_hml_long')) { + const n = label.n; + return n + } + if ((label.kind == 'HmLabel_hml_same')) { + const n = label.n; + return n + } + throw new Error('Expected one of "HmLabel_hml_short", "HmLabel_hml_long", "HmLabel_hml_same" for type "HmLabel" while getting "label", but data does not satisfy any constructor'); +} + +/* +hm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) + {n = (~m) + l} node:(HashmapNode m X) = Hashmap n X; +*/ + +export function loadHashmap(slice: Slice, n: number, loadX: (slice: Slice) => X): Hashmap { + const label: HmLabel = loadHmLabel(slice, n); + const l = hashmap_get_l(label); + const node: HashmapNode = loadHashmapNode(slice, (n - l), loadX); + return { + kind: 'Hashmap', + n: n, + m: (n - l), + label: label, + l: l, + node: node, + } +} + +export function storeHashmap(hashmap: Hashmap, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { + return ((builder: Builder) => { + storeHmLabel(hashmap.label)(builder); + storeHashmapNode(hashmap.node, storeX)(builder); + }) +} + +/* +anycast_info$_ depth:(#<= 30) { depth >= 1 } + rewrite_pfx:(bits depth) = Anycast; +*/ + +export function loadAnycast(slice: Slice): Anycast { + const depth: number = slice.loadUint(bitLen(30)); + const rewrite_pfx: BitString = slice.loadBits(depth); + if ((!(depth >= 1))) { + throw new Error('Condition (depth >= 1) is not satisfied while loading "Anycast" for type "Anycast"'); + } + return { + kind: 'Anycast', + depth: depth, + rewrite_pfx: rewrite_pfx, + } +} + +export function storeAnycast(anycast: Anycast): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(anycast.depth, bitLen(30)); + builder.storeBits(anycast.rewrite_pfx); + if ((!(anycast.depth >= 1))) { + throw new Error('Condition (anycast.depth >= 1) is not satisfied while loading "Anycast" for type "Anycast"'); + } + }) +} + +// proto_http#4854 = Protocol; + +export function loadProtocol(slice: Slice): Protocol { + if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x4854))) { + slice.loadUint(16); + return { + kind: 'Protocol', + } + } + throw new Error('Expected one of "Protocol" in loading "Protocol", but data does not satisfy any constructor'); +} + +export function storeProtocol(protocol: Protocol): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(0x4854, 16); + }) +} + +// proto_list_nil$0 = ProtoList; + +// proto_list_next$1 head:Protocol tail:ProtoList = ProtoList; + +export function loadProtoList(slice: Slice): ProtoList { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'ProtoList_proto_list_nil', + } + } + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + const head: Protocol = loadProtocol(slice); + const tail: ProtoList = loadProtoList(slice); + return { + kind: 'ProtoList_proto_list_next', + head: head, + tail: tail, + } + } + throw new Error('Expected one of "ProtoList_proto_list_nil", "ProtoList_proto_list_next" in loading "ProtoList", but data does not satisfy any constructor'); +} + +export function storeProtoList(protoList: ProtoList): (builder: Builder) => void { + if ((protoList.kind == 'ProtoList_proto_list_nil')) { + return ((builder: Builder) => { + builder.storeUint(0b0, 1); + }) + } + if ((protoList.kind == 'ProtoList_proto_list_next')) { + return ((builder: Builder) => { + builder.storeUint(0b1, 1); + storeProtocol(protoList.head)(builder); + storeProtoList(protoList.tail)(builder); + }) + } + throw new Error('Expected one of "ProtoList_proto_list_nil", "ProtoList_proto_list_next" in loading "ProtoList", but data does not satisfy any constructor'); +} + +// cap_is_wallet#2177 = SmcCapability; + +export function loadSmcCapability(slice: Slice): SmcCapability { + if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x2177))) { + slice.loadUint(16); + return { + kind: 'SmcCapability', + } + } + throw new Error('Expected one of "SmcCapability" in loading "SmcCapability", but data does not satisfy any constructor'); +} + +export function storeSmcCapability(smcCapability: SmcCapability): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(0x2177, 16); + }) +} + +// cap_list_nil$0 = SmcCapList; + +// cap_list_next$1 head:SmcCapability tail:SmcCapList = SmcCapList; + +export function loadSmcCapList(slice: Slice): SmcCapList { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'SmcCapList_cap_list_nil', + } + } + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + const head: SmcCapability = loadSmcCapability(slice); + const tail: SmcCapList = loadSmcCapList(slice); + return { + kind: 'SmcCapList_cap_list_next', + head: head, + tail: tail, + } + } + throw new Error('Expected one of "SmcCapList_cap_list_nil", "SmcCapList_cap_list_next" in loading "SmcCapList", but data does not satisfy any constructor'); +} + +export function storeSmcCapList(smcCapList: SmcCapList): (builder: Builder) => void { + if ((smcCapList.kind == 'SmcCapList_cap_list_nil')) { + return ((builder: Builder) => { + builder.storeUint(0b0, 1); + }) + } + if ((smcCapList.kind == 'SmcCapList_cap_list_next')) { + return ((builder: Builder) => { + builder.storeUint(0b1, 1); + storeSmcCapability(smcCapList.head)(builder); + storeSmcCapList(smcCapList.tail)(builder); + }) + } + throw new Error('Expected one of "SmcCapList_cap_list_nil", "SmcCapList_cap_list_next" in loading "SmcCapList", but data does not satisfy any constructor'); +} + +/* +dns_smc_address#9fd3 smc_addr:MsgAddressInt flags:(## 8) { flags <= 1 } + cap_list:flags . 0?SmcCapList = DNSRecord; +*/ + +// dns_next_resolver#ba93 resolver:MsgAddressInt = DNSRecord; + +/* +dns_adnl_address#ad01 adnl_addr:bits256 flags:(## 8) { flags <= 1 } + proto_list:flags . 0?ProtoList = DNSRecord; +*/ + +// dns_storage_address#7473 bag_id:bits256 = DNSRecord; + +export function loadDNSRecord(slice: Slice): DNSRecord { + if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x9fd3))) { + slice.loadUint(16); + const smc_addr: Address = slice.loadAddress(); + const flags: number = slice.loadUint(8); + const cap_list: SmcCapList | undefined = ((flags & (1 << 0)) ? loadSmcCapList(slice) : undefined); + if ((!(flags <= 1))) { + throw new Error('Condition (flags <= 1) is not satisfied while loading "DNSRecord_dns_smc_address" for type "DNSRecord"'); + } + return { + kind: 'DNSRecord_dns_smc_address', + smc_addr: smc_addr, + flags: flags, + cap_list: cap_list, + } + } + if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0xba93))) { + slice.loadUint(16); + const resolver: Address = slice.loadAddress(); + return { + kind: 'DNSRecord_dns_next_resolver', + resolver: resolver, + } + } + if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0xad01))) { + slice.loadUint(16); + const adnl_addr: Buffer = slice.loadBuffer((256 / 8)); + const flags: number = slice.loadUint(8); + const proto_list: ProtoList | undefined = ((flags & (1 << 0)) ? loadProtoList(slice) : undefined); + if ((!(flags <= 1))) { + throw new Error('Condition (flags <= 1) is not satisfied while loading "DNSRecord_dns_adnl_address" for type "DNSRecord"'); + } + return { + kind: 'DNSRecord_dns_adnl_address', + adnl_addr: adnl_addr, + flags: flags, + proto_list: proto_list, + } + } + if (((slice.remainingBits >= 16) && (slice.preloadUint(16) == 0x7473))) { + slice.loadUint(16); + const bag_id: Buffer = slice.loadBuffer((256 / 8)); + return { + kind: 'DNSRecord_dns_storage_address', + bag_id: bag_id, + } + } + throw new Error('Expected one of "DNSRecord_dns_smc_address", "DNSRecord_dns_next_resolver", "DNSRecord_dns_adnl_address", "DNSRecord_dns_storage_address" in loading "DNSRecord", but data does not satisfy any constructor'); +} + +export function storeDNSRecord(dNSRecord: DNSRecord): (builder: Builder) => void { + if ((dNSRecord.kind == 'DNSRecord_dns_smc_address')) { + return ((builder: Builder) => { + builder.storeUint(0x9fd3, 16); + builder.storeAddress(dNSRecord.smc_addr); + builder.storeUint(dNSRecord.flags, 8); + if (((dNSRecord.flags & (1 << 0)) && (dNSRecord.cap_list != undefined))) { + storeSmcCapList((dNSRecord.cap_list!))(builder); + } + if ((!(dNSRecord.flags <= 1))) { + throw new Error('Condition (dNSRecord.flags <= 1) is not satisfied while loading "DNSRecord_dns_smc_address" for type "DNSRecord"'); + } + }) + } + if ((dNSRecord.kind == 'DNSRecord_dns_next_resolver')) { + return ((builder: Builder) => { + builder.storeUint(0xba93, 16); + builder.storeAddress(dNSRecord.resolver); + }) + } + if ((dNSRecord.kind == 'DNSRecord_dns_adnl_address')) { + return ((builder: Builder) => { + builder.storeUint(0xad01, 16); + builder.storeBuffer(dNSRecord.adnl_addr, (256 / 8)); + builder.storeUint(dNSRecord.flags, 8); + if (((dNSRecord.flags & (1 << 0)) && (dNSRecord.proto_list != undefined))) { + storeProtoList((dNSRecord.proto_list!))(builder); + } + if ((!(dNSRecord.flags <= 1))) { + throw new Error('Condition (dNSRecord.flags <= 1) is not satisfied while loading "DNSRecord_dns_adnl_address" for type "DNSRecord"'); + } + }) + } + if ((dNSRecord.kind == 'DNSRecord_dns_storage_address')) { + return ((builder: Builder) => { + builder.storeUint(0x7473, 16); + builder.storeBuffer(dNSRecord.bag_id, (256 / 8)); + }) + } + throw new Error('Expected one of "DNSRecord_dns_smc_address", "DNSRecord_dns_next_resolver", "DNSRecord_dns_adnl_address", "DNSRecord_dns_storage_address" in loading "DNSRecord", but data does not satisfy any constructor'); +} + +// _ (HashmapE 256 ^DNSRecord) = DNS_RecordSet; + +export function loadDNS_RecordSet(slice: Slice): DNS_RecordSet { + const anon0: Dictionary = Dictionary.load(Dictionary.Keys.BigUint(256), { + serialize: () => { throw new Error('Not implemented') }, + parse: ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + return loadDNSRecord(slice1) + }), + }, slice); + return { + kind: 'DNS_RecordSet', + anon0: anon0, + } +} + +export function storeDNS_RecordSet(dNS_RecordSet: DNS_RecordSet): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeDict(dNS_RecordSet.anon0, Dictionary.Keys.BigUint(256), { + serialize: ((arg: DNSRecord, builder: Builder) => { + ((arg: DNSRecord) => { + return ((builder: Builder) => { + const cell1 = beginCell(); + storeDNSRecord(arg)(cell1); + builder.storeRef(cell1); + }) + })(arg)(builder); + }), + parse: () => { throw new Error('Not implemented') }, + }); + }) +} + diff --git a/test/generated_files/generated_test.ts b/test/generated_files/generated_test.ts index 2a57030..c12bc2e 100644 --- a/test/generated_files/generated_test.ts +++ b/test/generated_files/generated_test.ts @@ -2677,8 +2677,8 @@ export function loadConditionalField(slice: Slice): ConditionalField { export function storeConditionalField(conditionalField: ConditionalField): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(conditionalField.a, 1); - if ((conditionalField.b != undefined)) { - builder.storeUint(conditionalField.b, 32); + if ((conditionalField.a && (conditionalField.b != undefined))) { + builder.storeUint((conditionalField.b!), 32); } }) } @@ -2698,8 +2698,8 @@ export function loadBitSelection(slice: Slice): BitSelection { export function storeBitSelection(bitSelection: BitSelection): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(bitSelection.a, 6); - if ((bitSelection.b != undefined)) { - builder.storeUint(bitSelection.b, 32); + if (((bitSelection.a & (1 << 2)) && (bitSelection.b != undefined))) { + builder.storeUint((bitSelection.b!), 32); } }) } @@ -2890,7 +2890,7 @@ export function loadConditionalRef(slice: Slice): ConditionalRef { export function storeConditionalRef(conditionalRef: ConditionalRef): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(conditionalRef.x, 1); - if ((conditionalRef.y != undefined)) { + if ((conditionalRef.x && (conditionalRef.y != undefined))) { const cell1 = beginCell(); storeSimple(conditionalRef.y)(cell1); builder.storeRef(cell1); diff --git a/test/main.spec.ts b/test/main.spec.ts index 6da3422..82069c8 100644 --- a/test/main.spec.ts +++ b/test/main.spec.ts @@ -12,4 +12,10 @@ describe('main', () => { test('generateCode for cell as ref', () => { expect(generateCode('_ n:(## 3) c:(n * ^Cell) = T;', 'typescript')).toMatchSnapshot(); }); + + test('generateCode with bit selection', () => { + expect( + generateCode('_ a:(## 2) b:(a . 1)?uint32 = T1; _ a:(## 2) b:(a . 2)?uint128 = T2;', 'typescript'), + ).toMatchSnapshot(); + }); }); diff --git a/test/tlb/tep-81-dns-standard.tlb b/test/tlb/tep-81-dns-standard.tlb new file mode 100644 index 0000000..4b819fd --- /dev/null +++ b/test/tlb/tep-81-dns-standard.tlb @@ -0,0 +1,50 @@ +// block.tlb +bit$_ (## 1) = Bit; +unary_zero$0 = Unary ~0; +unary_succ$1 {n:#} x:(Unary ~n) = Unary ~(n + 1); +nothing$0 {X:Type} = Maybe X; +just$1 {X:Type} value:X = Maybe X; + +hml_short$0 {m:#} {n:#} len:(Unary ~n) {n <= m} s:(n * Bit) = HmLabel ~n m; +hml_long$10 {m:#} n:(#<= m) s:(n * Bit) = HmLabel ~n m; +hml_same$11 {m:#} v:Bit n:(#<= m) = HmLabel ~n m; + +hmn_leaf#_ {X:Type} value:X = HashmapNode 0 X; +hmn_fork#_ {n:#} {X:Type} left:^(Hashmap n X) + right:^(Hashmap n X) = HashmapNode (n + 1) X; +hm_edge#_ {n:#} {X:Type} {l:#} {m:#} label:(HmLabel ~l n) + {n = (~m) + l} node:(HashmapNode m X) = Hashmap n X; +hme_empty$0 {n:#} {X:Type} = HashmapE n X; +hme_root$1 {n:#} {X:Type} root:^(Hashmap n X) = HashmapE n X; + +addr_none$00 = MsgAddressExt; +addr_extern$01 len:(## 9) external_address:(bits len) + = MsgAddressExt; +anycast_info$_ depth:(#<= 30) { depth >= 1 } + rewrite_pfx:(bits depth) = Anycast; +addr_std$10 anycast:(Maybe Anycast) + workchain_id:int8 address:bits256 = MsgAddressInt; +addr_var$11 anycast:(Maybe Anycast) addr_len:(## 9) + workchain_id:int32 address:(bits addr_len) = MsgAddressInt; +_ _:MsgAddressInt = MsgAddress; +_ _:MsgAddressExt = MsgAddress; + +// TEP-81 +proto_http#4854 = Protocol; +proto_list_nil$0 = ProtoList; + +proto_list_next$1 head:Protocol tail:ProtoList = ProtoList; + +cap_is_wallet#2177 = SmcCapability; + +cap_list_nil$0 = SmcCapList; +cap_list_next$1 head:SmcCapability tail:SmcCapList = SmcCapList; + +dns_smc_address#9fd3 smc_addr:MsgAddressInt flags:(## 8) { flags <= 1 } + cap_list:flags . 0?SmcCapList = DNSRecord; +dns_next_resolver#ba93 resolver:MsgAddressInt = DNSRecord; +dns_adnl_address#ad01 adnl_addr:bits256 flags:(## 8) { flags <= 1 } + proto_list:flags . 0?ProtoList = DNSRecord; +dns_storage_address#7473 bag_id:bits256 = DNSRecord; + +_ (HashmapE 256 ^DNSRecord) = DNS_RecordSet; diff --git a/test/tlbgen.spec.ts b/test/tlbgen.spec.ts index 8ca8088..db7528e 100644 --- a/test/tlbgen.spec.ts +++ b/test/tlbgen.spec.ts @@ -1,6 +1,17 @@ -import { Address, BitString, Cell, Dictionary, ExternalAddress, Slice, beginCell } from '@ton/core'; +import { Address, BitString, Cell, Dictionary, ExternalAddress, Slice, beginCell, Builder, address } from '@ton/core'; import { loadBlock, storeBlock } from './generated_files/generated_block'; +import { + DNSRecord, + storeDNS_RecordSet, + loadDNS_RecordSet, + ProtoList, + DNSRecord_dns_next_resolver, + DNSRecord_dns_adnl_address, + DNSRecord_dns_storage_address, + DNSRecord_dns_smc_address, + SmcCapList, +} from './generated_files/generated_tep-81-dns-standard'; import { AddressUser, AnonymousData, @@ -309,6 +320,7 @@ describe('Generating tlb code', () => { beforeAll(async () => { await genCodeForTest('block'); await genCodeForTest('test'); + await genCodeForTest('tep-81-dns-standard'); }); test('Basic types', () => { @@ -990,4 +1002,80 @@ describe('Generating tlb code', () => { expect(slice.loadUint(32)).toBe(0xa63f2977); }); + + test('DNS RecordSet', () => { + const builder = new Builder(); + const zeroAddress = address(`0:${'00'.repeat(32)}`); + const zeroAdnlAddress = Buffer.from('00'.repeat(32), 'hex'); + const anon0: Dictionary = Dictionary.empty(Dictionary.Keys.BigUint(256)); + const smcCapList: SmcCapList = { + kind: 'SmcCapList_cap_list_next', + head: { + kind: 'SmcCapability', + }, + tail: { + kind: 'SmcCapList_cap_list_nil', + }, + }; + const protoList: ProtoList = { + kind: 'ProtoList_proto_list_next', + head: { + kind: 'Protocol', + }, + tail: { + kind: 'ProtoList_proto_list_nil', + }, + }; + anon0.set(0n, { kind: 'DNSRecord_dns_smc_address', smc_addr: zeroAddress, flags: 0b0, cap_list: smcCapList }); + anon0.set(1n, { kind: 'DNSRecord_dns_smc_address', smc_addr: zeroAddress, flags: 0b1, cap_list: smcCapList }); + anon0.set(2n, { kind: 'DNSRecord_dns_next_resolver', resolver: zeroAddress }); + anon0.set(3n, { + kind: 'DNSRecord_dns_adnl_address', + adnl_addr: zeroAdnlAddress, + flags: 0b0, + proto_list: protoList, + }); + anon0.set(4n, { + kind: 'DNSRecord_dns_adnl_address', + adnl_addr: zeroAdnlAddress, + flags: 0b1, + proto_list: protoList, + }); + anon0.set(5n, { kind: 'DNSRecord_dns_storage_address', bag_id: zeroAdnlAddress }); + storeDNS_RecordSet({ + kind: 'DNS_RecordSet', + anon0, + })(builder); + const list = loadDNS_RecordSet(builder.endCell().asSlice()).anon0; + + const record0 = list.get(0n)! as DNSRecord_dns_smc_address; + expect(record0.kind).toBe('DNSRecord_dns_smc_address'); + expect(record0.smc_addr.toString()).toEqual(zeroAddress.toString()); + expect(record0.cap_list).toBeUndefined(); + + const record1 = list.get(1n)! as DNSRecord_dns_smc_address; + expect(record1.kind).toBe('DNSRecord_dns_smc_address'); + expect(record0.smc_addr.toString()).toEqual(zeroAddress.toString()); + expect(record1.cap_list).not.toBeUndefined(); + + const record2 = list.get(2n)! as DNSRecord_dns_next_resolver; + expect(record2.kind).toBe('DNSRecord_dns_next_resolver'); + expect(record2.resolver.toString()).toEqual(zeroAddress.toString()); + + const record3 = list.get(3n)! as DNSRecord_dns_adnl_address; + expect(record3.proto_list).toBeUndefined(); + expect(record3.kind).toBe('DNSRecord_dns_adnl_address'); + expect(record3.adnl_addr.toString('hex')).toEqual(zeroAdnlAddress.toString('hex')); + expect(record3.proto_list).toBeUndefined(); + + const record4 = list.get(4n)! as DNSRecord_dns_adnl_address; + expect(record4.proto_list).not.toBeUndefined(); + expect(record4.kind).toBe('DNSRecord_dns_adnl_address'); + expect(record4.adnl_addr.toString('hex')).toEqual(zeroAdnlAddress.toString('hex')); + expect(record4.proto_list).not.toBeUndefined(); + + const record5 = list.get(5n)! as DNSRecord_dns_storage_address; + expect(record5.kind).toBe('DNSRecord_dns_storage_address'); + expect(record5.bag_id.toString('hex')).toEqual(zeroAdnlAddress.toString('hex')); + }); }); diff --git a/tsconfig.json b/tsconfig.json index fd3c923..c347146 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ES2020", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ "module": "commonjs", /* Specify what module code is generated. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ From da81cf5fd9affa43d7a01acad1d4f42fa78901bc Mon Sep 17 00:00:00 2001 From: Ilyar Date: Fri, 5 Dec 2025 09:04:39 +0100 Subject: [PATCH 6/7] chore: update project setup --- .github/workflows/qa.yml | 9 ++++++++- README.md | 3 +++ eslint.config.js | 2 +- jest.config.ts | 11 +++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index e43e175..9991b86 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -41,6 +41,8 @@ jobs: os: - ubuntu-latest node_version: + - 25 + - 24 - 18 - 20 - 22 @@ -62,4 +64,9 @@ jobs: - name: run build run: npm run build - name: run test - run: npm test + run: | + if [ "${{ matrix.node_version }}" = "25" ]; then + npm test -- --coverage + else + npm test + fi diff --git a/README.md b/README.md index 297d8cc..438dcfc 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,9 @@ This package allows you to generate `Typescript` code for serializing and deseri This package uses [TLB-Parser](https://github.com/ton-community/tlb-parser) to get AST of the scheme. +[![npm @ton-community/tlb-codegen version](https://img.shields.io/npm/v/@ton-community/tlb-codegen)](https://www.npmjs.com/package/@ton-community/tlb-codegen) +[![qa](https://github.com/ton-community/tlb-codegen/actions/workflows/qa.yml/badge.svg)](https://github.com/ton-community/tlb-codegen/actions/workflows/qa.yml) + ## Installation ```bash diff --git a/eslint.config.js b/eslint.config.js index b94104d..bc302f3 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,3 +1,3 @@ const base = require('@ton/toolchain'); -module.exports = [...base, { ignores: ['test/generated_files*'] }]; +module.exports = [...base, { ignores: ['test/generated_files*', '*local*'] }]; diff --git a/jest.config.ts b/jest.config.ts index 94a9d27..07846b3 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -5,6 +5,17 @@ const config: Config = { testEnvironment: 'node', testMatch: ['**/*.spec.ts'], preset: 'ts-jest', + silent: false, + coverageThreshold: { + global: { + statements: 91.06, + branches: 82.69, + functions: 93.25, + lines: 91.64, + }, + }, + coveragePathIgnorePatterns: ['test/', 'src/index.ts'], + coverageReporters: ['json-summary', 'text', 'lcov'], }; export default config; From 57b33fd45b38508292eb602ce69a41f095c1f601 Mon Sep 17 00:00:00 2001 From: Ilyar Date: Fri, 5 Dec 2025 10:21:03 +0100 Subject: [PATCH 7/7] fix: cannot apply Semantics to match failed #41 --- CHANGELOG.md | 1 + jest.config.ts | 8 +- src/astbuilder/fill_constructors.ts | 66 ++ src/astbuilder/handle_field.ts | 3 + src/astbuilder/handle_type.ts | 118 +++- src/generators/typescript/generator.ts | 264 +++++++- src/generators/typescript/utils.ts | 24 +- src/utils.ts | 12 +- test/boc.spec.ts | 45 ++ test/generated_files/generated_block.ts | 68 +- test/generated_files/generated_boc.ts | 611 ++++++++++++++++++ .../generated_tep-81-dns-standard.ts | 20 +- test/generated_files/generated_test.ts | 48 +- test/tlb/boc.tlb | 50 ++ test/utils.spec.ts | 34 + 15 files changed, 1243 insertions(+), 129 deletions(-) create mode 100644 test/boc.spec.ts create mode 100644 test/generated_files/generated_boc.ts create mode 100644 test/tlb/boc.tlb create mode 100644 test/utils.spec.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 1923e85..4584a28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Fix generate code for cell as ref [issues #59](https://github.com/ton-community/tlb-codegen/issues/59) - Fix generator code correct behavior for store method for Bit selection expression [issues #56](https://github.com/ton-community/tlb-codegen/issues/56) +- Fix: cannot apply Semantics to match failed [issues #41](https://github.com/ton-community/tlb-codegen/issues/41) ### Chore diff --git a/jest.config.ts b/jest.config.ts index 07846b3..5479afc 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -8,10 +8,10 @@ const config: Config = { silent: false, coverageThreshold: { global: { - statements: 91.06, - branches: 82.69, - functions: 93.25, - lines: 91.64, + statements: 88.74, + branches: 80.53, + functions: 93.77, + lines: 89.22, }, }, coveragePathIgnorePatterns: ['test/', 'src/index.ts'], diff --git a/src/astbuilder/fill_constructors.ts b/src/astbuilder/fill_constructors.ts index 67e1a06..9c9a7ee 100644 --- a/src/astbuilder/fill_constructors.ts +++ b/src/astbuilder/fill_constructors.ts @@ -28,6 +28,7 @@ import { TLBMathExpr, TLBNumberExpr, TLBParameter, + TLBUnaryOp, TLBType, TLBVarExpr, TLBVariable, @@ -441,6 +442,38 @@ function findAvailableVarNamesForCode(tlbCode: TLBCodeBuild) { tlbType.constructors.forEach((constructor) => { let variablesSet = new Set(); findAvailableFieldsNames(constructor.fields, variablesSet); + + const renamedVars = new Map(); + constructor.variables.forEach((variable) => { + if (variable.name) { + const newName = findNotReservedName(variable.name); + if (newName !== variable.name) { + renamedVars.set(variable.name, newName); + variable.name = newName; + } + } + }); + // Update variablesMap with new names + if (renamedVars.size > 0) { + const newVariablesMap = new Map(); + constructor.variablesMap.forEach((variable, oldName) => { + const newName = renamedVars.get(oldName) || oldName; + newVariablesMap.set(newName, variable); + }); + constructor.variablesMap = newVariablesMap; + // Update variable names in constraints and deriveExpr + for (let i = 0; i < constructor.constraints.length; i++) { + constructor.constraints[i] = updateVariableNamesInExpr(constructor.constraints[i], renamedVars); + } + constructor.variables.forEach((variable) => { + if (variable.deriveExpr) { + variable.deriveExpr = updateVariableNamesInExpr(variable.deriveExpr, renamedVars); + } + if (variable.initialExpr) { + variable.initialExpr = updateVariableNamesInExpr(variable.initialExpr, renamedVars); + } + }); + } }); }); } @@ -461,6 +494,39 @@ function findAvailableFieldName(field: TLBField, variablesSet: Set) { } variablesSet.add(field.name); } + +function updateVariableNamesInExpr(expr: TLBMathExpr, renamedVars: Map): TLBMathExpr { + if (expr instanceof TLBVarExpr) { + const newName = renamedVars.get(expr.x); + if (newName) { + const newVars = new Set(); + newVars.add(newName); + return new TLBVarExpr(newName, newVars, expr.hasNeg); + } + return expr; + } else if (expr instanceof TLBBinaryOp) { + const newLeft = updateVariableNamesInExpr(expr.left, renamedVars); + const newRight = updateVariableNamesInExpr(expr.right, renamedVars); + const newVars = new Set(); + if (newLeft instanceof TLBVarExpr) { + newVars.add(newLeft.x); + } + if (newRight instanceof TLBVarExpr) { + newVars.add(newRight.x); + } + return new TLBBinaryOp(newLeft, newRight, expr.operation, newVars, expr.hasNeg); + } else if (expr instanceof TLBUnaryOp) { + const newValue = updateVariableNamesInExpr(expr.value, renamedVars); + const newVars = new Set(); + if (newValue instanceof TLBVarExpr) { + newVars.add(newValue.x); + } + return new TLBUnaryOp(newValue, expr.operation, newVars, expr.hasNeg); + } else if (expr instanceof TLBNumberExpr) { + return expr; + } + return expr; +} export function convertCodeToReadonly(tlbCode: TLBCodeBuild): TLBCode { let newTypes = new Map(); tlbCode.types.forEach((value, key) => { diff --git a/src/astbuilder/handle_field.ts b/src/astbuilder/handle_field.ts index e011ca3..3017403 100644 --- a/src/astbuilder/handle_field.ts +++ b/src/astbuilder/handle_field.ts @@ -98,6 +98,9 @@ function getField(field: FieldDefinition, constructor: TLBConstructorBuild, fiel fieldType: fieldInfo, subFields: [], }; + } else { + const exprType = field.expr.constructor.name; + throw new Error(`Unsupported field expression type ${exprType} in field ${fieldName}`); } } return undefined; diff --git a/src/astbuilder/handle_type.ts b/src/astbuilder/handle_type.ts index c7564e1..f7f9175 100644 --- a/src/astbuilder/handle_type.ts +++ b/src/astbuilder/handle_type.ts @@ -4,6 +4,8 @@ import { CellRefExpr, CombinatorExpr, CondExpr, + FieldAnonExpr, + FieldExprDef, MathExpr, NameExpr, NegateExpr, @@ -41,7 +43,11 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild if (expr.arg instanceof NameExpr) { let parameter = constructor.parametersMap.get(expr.arg.name); if (!parameter || !parameter.variable.deriveExpr || !parameter.variable.initialExpr) { - throw new Error(`Couldn't handle expression ${expr}`); + const argType = expr.arg.constructor.name; + const argName = expr.arg.name; + throw new Error( + `Couldn't handle ## expression with NameExpr arg '${argName}' (type: ${argType}): parameter not found or missing deriveExpr/initialExpr`, + ); } return { kind: 'TLBNumberType', @@ -50,8 +56,19 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild signed: false, maxBits: undefined, }; + } else if (expr.arg instanceof MathExpr) { + return { + kind: 'TLBNumberType', + bits: getCalculatedExpression(convertToMathExpr(expr.arg), constructor), + storeBits: convertToMathExpr(expr.arg), + signed: false, + maxBits: undefined, + }; } else { - throw new Error(`Couldn't handle expression ${expr}`); + const argType = expr.arg.constructor.name; + throw new Error( + `Couldn't handle ## expression with arg of type ${argType} (expected NumberExpr, NameExpr, or MathExpr)`, + ); } } else if (expr.name == '#<') { if (expr.arg instanceof NumberExpr || expr.arg instanceof NameExpr) { @@ -71,7 +88,10 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild maxBits: 32, }; } else { - throw new Error(`Couldn't handle expression ${expr}`); + const argType = expr.arg.constructor.name; + throw new Error( + `Couldn't handle #< expression with arg of type ${argType} (expected NumberExpr or NameExpr)`, + ); } } else if (expr.name == '#<=') { if (expr.arg instanceof NumberExpr || expr.arg instanceof NameExpr) { @@ -84,8 +104,13 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild maxBits: 32, }; } else { - throw new Error(`Couldn't handle expression ${expr}`); + const argType = expr.arg.constructor.name; + throw new Error( + `Couldn't handle #<= expression with arg of type ${argType} (expected NumberExpr or NameExpr)`, + ); } + } else { + throw new Error(`Couldn't handle BuiltinOneArgExpr with name ${expr.name}`); } } else if (expr instanceof CombinatorExpr) { if ( @@ -169,9 +194,22 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild }; } else { let argumentTypes: TLBFieldType[] = []; - expr.args.forEach((arg) => { - let thefield = getType(arg, constructor, fieldTypeName); - argumentTypes.push(thefield); + expr.args.forEach((arg, index) => { + try { + const argType = arg.constructor.name; + if (argType === 'FieldAnonExpr' || argType.includes('Field')) { + throw new Error( + `CombinatorExpr '${expr.name}' argument ${index} is of type ${argType}, which is a field expression, not a type expression`, + ); + } + let thefield = getType(arg, constructor, fieldTypeName); + argumentTypes.push(thefield); + } catch (error) { + const argType = arg.constructor.name; + throw new Error( + `Couldn't handle CombinatorExpr '${expr.name}' argument ${index} of type ${argType}: ${error instanceof Error ? error.message : String(error)}`, + ); + } }); return { kind: 'TLBNamedType', @@ -273,6 +311,27 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild }; } } + + if (expr.right instanceof FieldAnonExpr && expr.right.fields.length === 1) { + const fieldDef = expr.right.fields[0]; + if (fieldDef instanceof FieldExprDef && fieldDef.expr instanceof NameExpr) { + const typeName = fieldDef.expr.name; + const numBits = splitForTypeValue(typeName, 'uint') || splitForTypeValue(typeName, 'int'); + if (numBits !== undefined) { + return { + kind: 'TLBMultipleType', + times: getCalculatedExpression(convertToMathExpr(expr.left), constructor), + value: { + kind: 'TLBNumberType', + bits: new TLBNumberExpr(numBits), + storeBits: new TLBNumberExpr(numBits), + signed: typeName.startsWith('int'), + maxBits: numBits, + }, + }; + } + } + } let subExprInfo = getType(expr.right, constructor, fieldTypeName); return { kind: 'TLBMultipleType', @@ -280,7 +339,10 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild value: subExprInfo, }; } else { - throw new Error(`Couldn't handle expression ${expr}`); + const op = expr.op; + throw new Error( + `Couldn't handle MathExpr with operation '${op}' when fieldTypeName is empty (only '*' is supported)`, + ); } } else { return { @@ -301,9 +363,45 @@ export function getType(expr: ParserExpression, constructor: TLBConstructorBuild ); } return { kind: 'TLBCondType', value: subExprInfo, condition: condition }; + } else { + try { + let condition: TLBMathExpr = getCalculatedExpression(convertToMathExpr(expr.left), constructor); + if (expr.dotExpr != null) { + condition = new TLBBinaryOp( + condition, + new TLBBinaryOp(new TLBNumberExpr(1), new TLBNumberExpr(expr.dotExpr), '<<'), + '&', + ); + } + return { kind: 'TLBCondType', value: subExprInfo, condition: condition }; + } catch (error) { + const leftType = expr.left.constructor.name; + throw new Error( + `Couldn't handle CondExpr with left side of type ${leftType}: ${error instanceof Error ? error.message : String(error)}`, + ); + } } } else { - throw new Error(`Couldn't handle expression ${expr}`); + const exprType = expr.constructor.name; + if (exprType === 'FieldAnonExpr') { + return { kind: 'TLBCellType' }; + } + if ( + exprType.includes('Field') && + exprType !== 'FieldExprDef' && + exprType !== 'FieldNamedDef' && + exprType !== 'FieldAnonymousDef' && + exprType !== 'FieldBuiltinDef' && + exprType !== 'FieldCurlyExprDef' + ) { + throw new Error(`Field expression type ${exprType} should not be processed as a type expression`); + } + let exprDetails: string; + try { + exprDetails = JSON.stringify(expr, null, 2); + } catch { + exprDetails = String(expr); + } + throw new Error(`Couldn't handle expression of type ${exprType}: ${exprDetails}`); } - throw new Error(`Couldn't handle expression ${expr}`); } diff --git a/src/generators/typescript/generator.ts b/src/generators/typescript/generator.ts index f49e562..abb3990 100644 --- a/src/generators/typescript/generator.ts +++ b/src/generators/typescript/generator.ts @@ -87,6 +87,7 @@ import { tUnionTypeDeclaration, tUnionTypeExpression, toCode, + tDeclareVariable, } from './tsgen'; import { ExprForParam, @@ -807,9 +808,81 @@ export function loadBoolTrue(slice: Slice): Bool { subExprInfo = this.handleType(field, fieldType.value, false, ctx, slicePrefix, argIndex, false); let currentParamOutside = storeParametersOutside[0]; let currentParamInside = storeParametersInside[0]; - if (subExprInfo.loadExpr) { - // Special handling for arrays of Cell references - use loadRef() instead of asCell() - if (fieldType.value.kind == 'TLBCellType') { + + // For arrays of primitive types (TLBNumberType, TLBBitsType), generate Slice instead of Array + // This matches C++ implementation which uses fetch_subslice_to for such cases + // Also handle arrays of named types that represent primitives (e.g., uint8, uint32) + const isPrimitiveArray = + fieldType.value.kind === 'TLBNumberType' || + fieldType.value.kind === 'TLBBitsType' || + (fieldType.value.kind === 'TLBNamedType' && + (fieldType.value.name.startsWith('uint') || + fieldType.value.name.startsWith('int') || + fieldType.value.name === 'Uint' || + fieldType.value.name === 'Int')); + + if (isPrimitiveArray) { + // Calculate total bits: arrayLength * bitsPerElement + let bitsPerElement: Expression; + let isFixedBits = false; + let fixedBitsValue: number | undefined = undefined; + + if (fieldType.value.kind === 'TLBNumberType') { + bitsPerElement = convertToAST(fieldType.value.bits, ctx.constructor); + // Check if bits is a fixed number (TLBNumberExpr with a number) + if (fieldType.value.bits instanceof TLBNumberExpr) { + isFixedBits = true; + fixedBitsValue = fieldType.value.bits.n; + } + } else if (fieldType.value.kind === 'TLBBitsType') { + bitsPerElement = convertToAST(fieldType.value.bits, ctx.constructor); + if (fieldType.value.bits instanceof TLBNumberExpr) { + isFixedBits = true; + fixedBitsValue = fieldType.value.bits.n; + } + } else if (fieldType.value.kind === 'TLBNamedType') { + // Handle named types like uint8, uint32, etc. + // Extract number from name (e.g., "uint8" -> 8, "uint32" -> 32) + const name = fieldType.value.name; + let numBits: number | undefined; + if (name.startsWith('uint')) { + numBits = parseInt(name.substring(4)); + } else if (name.startsWith('int')) { + numBits = parseInt(name.substring(3)); + } else if (name === 'Uint') { + numBits = 257; // Uint is 257 bits + } else if (name === 'Int') { + numBits = 257; // Int is 257 bits + } + if (numBits === undefined || isNaN(numBits)) { + throw new Error(`Could not extract bit size from named type: ${name}`); + } + bitsPerElement = tNumericLiteral(numBits); + isFixedBits = true; + fixedBitsValue = numBits; + } else { + throw new Error(`Unexpected primitive type in TLBMultipleType: ${fieldType.value.kind}`); + } + + // Special handling for arrays of bytes (8 bits per element) - use Buffer + if (isFixedBits && fixedBitsValue === 8) { + // For arrays of bytes, use loadBuffer/storeBuffer + result.loadExpr = tFunctionCall(tMemberExpression(id(theSlice), id('loadBuffer')), [ + tFunctionCall(id('Number'), [arrayLength]), + ]); + result.typeParamExpr = id('Buffer'); + + if (currentParamOutside && currentParamInside) { + result.storeStmtOutside = tExpressionStatement( + tFunctionCall(tMemberExpression(id(currentCell), id('storeBuffer')), [currentParamOutside]), + ); + result.storeStmtInside = tExpressionStatement( + tFunctionCall(tMemberExpression(id(currentCell), id('storeBuffer')), [currentParamInside]), + ); + } + } else if (isFixedBits && fixedBitsValue !== undefined) { + // For arrays of fixed-size numbers, generate array of numbers + // Generate code to load array of numbers result.loadExpr = tFunctionCall( tMemberExpression( tFunctionCall(tMemberExpression(id('Array'), id('from')), [ @@ -823,30 +896,29 @@ export function loadBoolTrue(slice: Slice): Bool { [ tArrowFunctionExpression( [], - [tReturnStatement(tFunctionCall(tMemberExpression(id(theSlice), id('loadRef')), []))], + [ + tReturnStatement( + tFunctionCall(tMemberExpression(id(theSlice), id('loadUint')), [ + tNumericLiteral(fixedBitsValue), + ]), + ), + ], ), ], ); - } else { - result.loadExpr = loadTupleExpr(arrayLength, subExprInfo.loadExpr); - } - } - if ( - currentParamOutside && - currentParamInside && - subExprInfo.typeParamExpr && - subExprInfo.storeStmtOutside - ) { - if (subExprInfo.storeFunctionExpr && subExprInfo.storeStmtInside) { - // Special handling for arrays of Cell references - use storeRef() instead of storeSlice() - if (fieldType.value.kind == 'TLBCellType') { + result.typeParamExpr = id('number[]'); + + if (currentParamOutside && currentParamInside) { result.storeStmtOutside = tExpressionStatement( tFunctionCall(tMemberExpression(currentParamOutside, id('forEach')), [ tArrowFunctionExpression( - [tTypedIdentifier(id('arg'), id('Cell'))], + [tTypedIdentifier(id('arg'), id('number'))], [ tExpressionStatement( - tFunctionCall(tMemberExpression(id(theCell), id('storeRef')), [id('arg')]), + tFunctionCall(tMemberExpression(id(currentCell), id('storeUint')), [ + id('arg'), + tNumericLiteral(fixedBitsValue), + ]), ), ], ), @@ -855,31 +927,157 @@ export function loadBoolTrue(slice: Slice): Bool { result.storeStmtInside = tExpressionStatement( tFunctionCall(tMemberExpression(currentParamInside, id('forEach')), [ tArrowFunctionExpression( - [tTypedIdentifier(id('arg'), id('Cell'))], + [tTypedIdentifier(id('arg'), id('number'))], [ tExpressionStatement( - tFunctionCall(tMemberExpression(id(theCell), id('storeRef')), [id('arg')]), + tFunctionCall(tMemberExpression(id(currentCell), id('storeUint')), [ + id('arg'), + tNumericLiteral(fixedBitsValue), + ]), ), ], ), ]), ); - } else { - result.storeStmtOutside = storeTupleStmt( - currentParamOutside, - subExprInfo.storeStmtInside, - subExprInfo.typeParamExpr, + } + } else { + // For arrays of variable-length numbers, generate Slice (existing behavior) + // Convert to Number for multiplication to avoid BigInt mixing issues + // The result will be used as number of bits, which should fit in Number + let totalBits = tBinaryExpression( + tFunctionCall(id('Number'), [arrayLength]), + '*', + tFunctionCall(id('Number'), [bitsPerElement]), + ); + + // Generate code to load a subslice: clone slice, load bits, create cell, return slice + // This matches C++ fetch_subslice_to behavior + let subsliceVar = getCurrentSlice(slicePrefix, 'subslice'); + let tempCellVar = getCurrentSlice(slicePrefix, 'tempCell'); + // Create an IIFE (Immediately Invoked Function Expression) to load the subslice + result.loadExpr = tFunctionCall( + tArrowFunctionExpression(typedSlice(), [ + tExpressionStatement( + tDeclareVariable( + id(subsliceVar), + tFunctionCall(tMemberExpression(id(theSlice), id('clone')), []), + ), + ), + tExpressionStatement(tDeclareVariable(id(tempCellVar), tFunctionCall(id('beginCell'), []))), + tExpressionStatement( + tFunctionCall(tMemberExpression(id(tempCellVar), id('storeBits')), [ + tFunctionCall(tMemberExpression(id(subsliceVar), id('loadBits')), [totalBits]), + ]), + ), + tReturnStatement( + tFunctionCall( + tMemberExpression( + tFunctionCall(tMemberExpression(id(tempCellVar), id('endCell')), []), + id('beginParse'), + ), + [id('true')], + ), + ), + ]), + [id(theSlice)], + ); + result.typeParamExpr = id('Slice'); + + // For store, we need to store the slice bits + // Slice is already a slice, so we can use storeSlice directly + if (currentParamOutside && currentParamInside) { + result.storeStmtOutside = tExpressionStatement( + tFunctionCall(tMemberExpression(id(currentCell), id('storeSlice')), [currentParamOutside]), ); - result.storeStmtInside = storeTupleStmt( - currentParamInside, - subExprInfo.storeStmtInside, - subExprInfo.typeParamExpr, + result.storeStmtInside = tExpressionStatement( + tFunctionCall(tMemberExpression(id(currentCell), id('storeSlice')), [currentParamInside]), ); } } - } - if (subExprInfo.typeParamExpr) { - result.typeParamExpr = arrayedType(subExprInfo.typeParamExpr); + } else { + // For non-primitive arrays, use the existing array logic + if (subExprInfo.loadExpr) { + // Special handling for arrays of Cell references - use loadRef() instead of asCell() + if (fieldType.value.kind == 'TLBCellType') { + result.loadExpr = tFunctionCall( + tMemberExpression( + tFunctionCall(tMemberExpression(id('Array'), id('from')), [ + tFunctionCall( + tMemberExpression(tFunctionCall(id('Array'), [arrayLength]), id('keys')), + [], + ), + ]), + id('map'), + ), + [ + tArrowFunctionExpression( + [], + [ + tReturnStatement( + tFunctionCall(tMemberExpression(id(theSlice), id('loadRef')), []), + ), + ], + ), + ], + ); + } else { + result.loadExpr = loadTupleExpr(arrayLength, subExprInfo.loadExpr); + } + } + if ( + currentParamOutside && + currentParamInside && + subExprInfo.typeParamExpr && + subExprInfo.storeStmtOutside + ) { + if (subExprInfo.storeFunctionExpr && subExprInfo.storeStmtInside) { + // Special handling for arrays of Cell references - use storeRef() instead of storeSlice() + if (fieldType.value.kind == 'TLBCellType') { + result.storeStmtOutside = tExpressionStatement( + tFunctionCall(tMemberExpression(currentParamOutside, id('forEach')), [ + tArrowFunctionExpression( + [tTypedIdentifier(id('arg'), id('Cell'))], + [ + tExpressionStatement( + tFunctionCall(tMemberExpression(id(theCell), id('storeRef')), [ + id('arg'), + ]), + ), + ], + ), + ]), + ); + result.storeStmtInside = tExpressionStatement( + tFunctionCall(tMemberExpression(currentParamInside, id('forEach')), [ + tArrowFunctionExpression( + [tTypedIdentifier(id('arg'), id('Cell'))], + [ + tExpressionStatement( + tFunctionCall(tMemberExpression(id(theCell), id('storeRef')), [ + id('arg'), + ]), + ), + ], + ), + ]), + ); + } else { + result.storeStmtOutside = storeTupleStmt( + currentParamOutside, + subExprInfo.storeStmtInside, + subExprInfo.typeParamExpr, + ); + result.storeStmtInside = storeTupleStmt( + currentParamInside, + subExprInfo.storeStmtInside, + subExprInfo.typeParamExpr, + ); + } + } + } + if (subExprInfo.typeParamExpr) { + result.typeParamExpr = arrayedType(subExprInfo.typeParamExpr); + } } } else if (fieldType.kind == 'TLBCellInsideType') { let currentCell = getCurrentSlice([1, 0], 'cell'); diff --git a/src/generators/typescript/utils.ts b/src/generators/typescript/utils.ts index 267fc90..fb4f7c9 100644 --- a/src/generators/typescript/utils.ts +++ b/src/generators/typescript/utils.ts @@ -193,11 +193,25 @@ export function convertToAST( if (operation == '=') { operation = '=='; } - return tBinaryExpression( - convertToAST(mathExpr.left, constructor, objectId), - operation, - convertToAST(mathExpr.right, constructor, objectId), - ); + let leftExpr = convertToAST(mathExpr.left, constructor, objectId); + let rightExpr = convertToAST(mathExpr.right, constructor, objectId); + + if (mathExpr.left instanceof TLBVarExpr) { + const varName = mathExpr.left.x; + const field = constructor.fields.find((f) => f.name === varName); + if (field && field.fieldType.kind === 'TLBNumberType' && isBigInt(field.fieldType)) { + leftExpr = tFunctionCall(id('Number'), [leftExpr]); + } + } + if (mathExpr.right instanceof TLBVarExpr) { + const varName = mathExpr.right.x; + const field = constructor.fields.find((f) => f.name === varName); + if (field && field.fieldType.kind === 'TLBNumberType' && isBigInt(field.fieldType)) { + rightExpr = tFunctionCall(id('Number'), [rightExpr]); + } + } + + return tBinaryExpression(leftExpr, operation, rightExpr); } if (mathExpr instanceof TLBUnaryOp) { if (mathExpr.operation == '.') { diff --git a/src/utils.ts b/src/utils.ts index efb5d19..4b4c699 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -91,19 +91,13 @@ export function isNameReserved(name: string): boolean { if (tsReserved.includes(name)) { return true; } - if (name.startsWith('slice')) { + if (name == 'slice' || name == 'cell') { return true; } - if (name.startsWith('cell')) { - return true; - } - if (name == 'builder') { - return true; - } - return false; + return name == 'builder'; } export function findNotReservedName(name: string, possibleSuffix: string = '0'): string { - if (name.startsWith('slice') || name.startsWith('cell')) { + if (name == 'slice' || name == 'cell') { name = '_' + name; } while (isNameReserved(name)) { diff --git a/test/boc.spec.ts b/test/boc.spec.ts new file mode 100644 index 0000000..37adb04 --- /dev/null +++ b/test/boc.spec.ts @@ -0,0 +1,45 @@ +import { Cell, Builder, BitString, BitReader, Slice } from '@ton/core'; + +import { genCodeForTest } from './generate'; +import { loadBagOfCells, loadCompiledSmartContract, storeCompiledSmartContract } from './generated_files/generated_boc'; + +describe('Generating boc.tlb code', () => { + beforeAll(async () => { + await genCodeForTest('boc'); + }); + + test('CompiledSmartContract', () => { + const builder = new Builder(); + storeCompiledSmartContract({ + kind: 'CompiledSmartContract', + compiled_at: 0, + code: Cell.EMPTY, + data: Cell.EMPTY, + compiler_version: { + kind: 'Maybe_nothing', + }, + description: { + kind: 'Maybe_nothing', + }, + source_file: { + kind: 'Maybe_just', + value: { + kind: 'TinyString', + len: 0, + str: Buffer.alloc(0), + }, + }, + })(builder); + const cell = builder.endCell(); + const data = loadCompiledSmartContract(cell.asSlice()); + expect(data.kind).toEqual('CompiledSmartContract'); + }); + + test('BagOfCells_serialized_boc', () => { + const u8 = (v: number) => new Builder().storeUint(v, 8).endCell(); + const boc = u8(42).toBoc(); + const slice = new Slice(new BitReader(new BitString(boc, 0, boc.length * 8)), []); + const data = loadBagOfCells(slice); + expect(data.kind).toEqual('BagOfCells_serialized_boc'); + }); +}); diff --git a/test/generated_files/generated_block.ts b/test/generated_files/generated_block.ts index da72e87..2a0b9d3 100644 --- a/test/generated_files/generated_block.ts +++ b/test/generated_files/generated_block.ts @@ -170,14 +170,14 @@ export interface HmLabel_hml_short { readonly m: number; readonly n: number; readonly len: Unary; - readonly s: Array; + readonly s: number[]; } export interface HmLabel_hml_long { readonly kind: 'HmLabel_hml_long'; readonly m: number; readonly n: number; - readonly s: Array; + readonly s: number[]; } export interface HmLabel_hml_same { @@ -897,7 +897,7 @@ storage_used$_ cells:(VarUInteger 7) bits:(VarUInteger 7) export interface StorageUsed { readonly kind: 'StorageUsed'; - readonly _cells: bigint; + readonly cells: bigint; readonly bits: bigint; readonly public_cells: bigint; } @@ -909,7 +909,7 @@ storage_used_short$_ cells:(VarUInteger 7) export interface StorageUsedShort { readonly kind: 'StorageUsedShort'; - readonly _cells: bigint; + readonly cells: bigint; readonly bits: bigint; } @@ -2595,7 +2595,7 @@ export interface ConfigProposalSetup { readonly min_store_sec: number; readonly max_store_sec: number; readonly bit_price: number; - readonly _cell_price: number; + readonly cell_price: number; } // cfg_vote_setup#91 normal_params:^ConfigProposalSetup critical_params:^ConfigProposalSetup = ConfigVotingSetup; @@ -2738,7 +2738,7 @@ export interface ComplaintPricing { readonly kind: 'ComplaintPricing'; readonly deposit: bigint; readonly bit_price: bigint; - readonly _cell_price: bigint; + readonly cell_price: bigint; } /* @@ -2761,7 +2761,7 @@ export interface StoragePrices { readonly kind: 'StoragePrices'; readonly utime_since: number; readonly bit_price_ps: bigint; - readonly _cell_price_ps: bigint; + readonly cell_price_ps: bigint; readonly mc_bit_price_ps: bigint; readonly mc_cell_price_ps: bigint; } @@ -2846,7 +2846,7 @@ export interface MsgForwardPrices { readonly kind: 'MsgForwardPrices'; readonly lump_price: bigint; readonly bit_price: bigint; - readonly _cell_price: bigint; + readonly cell_price: bigint; readonly ihr_price_factor: number; readonly first_frac: number; readonly next_frac: number; @@ -4030,8 +4030,8 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { slice.loadUint(1); const len: Unary = loadUnary(slice); const n = hmLabel_hml_short_get_n(len); - const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { - return slice.loadBit() + const s: number[] = Array.from(Array(n).keys()).map((() => { + return slice.loadUint(1) })); if ((!(n <= m))) { throw new Error('Condition (n <= m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -4047,8 +4047,8 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); const n: number = slice.loadUint(bitLen(m)); - const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { - return slice.loadBit() + const s: number[] = Array.from(Array(n).keys()).map((() => { + return slice.loadUint(1) })); return { kind: 'HmLabel_hml_long', @@ -4076,8 +4076,8 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b0, 1); storeUnary(hmLabel.len)(builder); - hmLabel.s.forEach(((arg: boolean) => { - builder.storeBit(arg); + hmLabel.s.forEach(((arg: number) => { + builder.storeUint(arg, 1); })); if ((!(hmLabel.n <= hmLabel.m))) { throw new Error('Condition (hmLabel.n <= hmLabel.m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -4088,8 +4088,8 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b10, 2); builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); - hmLabel.s.forEach(((arg: boolean) => { - builder.storeBit(arg); + hmLabel.s.forEach(((arg: number) => { + builder.storeUint(arg, 1); })); }) } @@ -6045,12 +6045,12 @@ storage_used$_ cells:(VarUInteger 7) bits:(VarUInteger 7) */ export function loadStorageUsed(slice: Slice): StorageUsed { - const _cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); const bits: bigint = slice.loadVarUintBig(bitLen((7 - 1))); const public_cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); return { kind: 'StorageUsed', - _cells: _cells, + cells: cells, bits: bits, public_cells: public_cells, } @@ -6058,7 +6058,7 @@ export function loadStorageUsed(slice: Slice): StorageUsed { export function storeStorageUsed(storageUsed: StorageUsed): (builder: Builder) => void { return ((builder: Builder) => { - builder.storeVarUint(storageUsed._cells, bitLen((7 - 1))); + builder.storeVarUint(storageUsed.cells, bitLen((7 - 1))); builder.storeVarUint(storageUsed.bits, bitLen((7 - 1))); builder.storeVarUint(storageUsed.public_cells, bitLen((7 - 1))); }) @@ -6070,18 +6070,18 @@ storage_used_short$_ cells:(VarUInteger 7) */ export function loadStorageUsedShort(slice: Slice): StorageUsedShort { - const _cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); + const cells: bigint = slice.loadVarUintBig(bitLen((7 - 1))); const bits: bigint = slice.loadVarUintBig(bitLen((7 - 1))); return { kind: 'StorageUsedShort', - _cells: _cells, + cells: cells, bits: bits, } } export function storeStorageUsedShort(storageUsedShort: StorageUsedShort): (builder: Builder) => void { return ((builder: Builder) => { - builder.storeVarUint(storageUsedShort._cells, bitLen((7 - 1))); + builder.storeVarUint(storageUsedShort.cells, bitLen((7 - 1))); builder.storeVarUint(storageUsedShort.bits, bitLen((7 - 1))); }) } @@ -10447,7 +10447,7 @@ export function loadConfigProposalSetup(slice: Slice): ConfigProposalSetup { const min_store_sec: number = slice.loadUint(32); const max_store_sec: number = slice.loadUint(32); const bit_price: number = slice.loadUint(32); - const _cell_price: number = slice.loadUint(32); + const cell_price: number = slice.loadUint(32); return { kind: 'ConfigProposalSetup', min_tot_rounds: min_tot_rounds, @@ -10457,7 +10457,7 @@ export function loadConfigProposalSetup(slice: Slice): ConfigProposalSetup { min_store_sec: min_store_sec, max_store_sec: max_store_sec, bit_price: bit_price, - _cell_price: _cell_price, + cell_price: cell_price, } } throw new Error('Expected one of "ConfigProposalSetup" in loading "ConfigProposalSetup", but data does not satisfy any constructor'); @@ -10473,7 +10473,7 @@ export function storeConfigProposalSetup(configProposalSetup: ConfigProposalSetu builder.storeUint(configProposalSetup.min_store_sec, 32); builder.storeUint(configProposalSetup.max_store_sec, 32); builder.storeUint(configProposalSetup.bit_price, 32); - builder.storeUint(configProposalSetup._cell_price, 32); + builder.storeUint(configProposalSetup.cell_price, 32); }) } @@ -10890,12 +10890,12 @@ export function loadComplaintPricing(slice: Slice): ComplaintPricing { slice.loadUint(8); const deposit: bigint = slice.loadCoins(); const bit_price: bigint = slice.loadCoins(); - const _cell_price: bigint = slice.loadCoins(); + const cell_price: bigint = slice.loadCoins(); return { kind: 'ComplaintPricing', deposit: deposit, bit_price: bit_price, - _cell_price: _cell_price, + cell_price: cell_price, } } throw new Error('Expected one of "ComplaintPricing" in loading "ComplaintPricing", but data does not satisfy any constructor'); @@ -10906,7 +10906,7 @@ export function storeComplaintPricing(complaintPricing: ComplaintPricing): (buil builder.storeUint(0x1a, 8); builder.storeCoins(complaintPricing.deposit); builder.storeCoins(complaintPricing.bit_price); - builder.storeCoins(complaintPricing._cell_price); + builder.storeCoins(complaintPricing.cell_price); }) } @@ -10947,14 +10947,14 @@ export function loadStoragePrices(slice: Slice): StoragePrices { slice.loadUint(8); const utime_since: number = slice.loadUint(32); const bit_price_ps: bigint = slice.loadUintBig(64); - const _cell_price_ps: bigint = slice.loadUintBig(64); + const cell_price_ps: bigint = slice.loadUintBig(64); const mc_bit_price_ps: bigint = slice.loadUintBig(64); const mc_cell_price_ps: bigint = slice.loadUintBig(64); return { kind: 'StoragePrices', utime_since: utime_since, bit_price_ps: bit_price_ps, - _cell_price_ps: _cell_price_ps, + cell_price_ps: cell_price_ps, mc_bit_price_ps: mc_bit_price_ps, mc_cell_price_ps: mc_cell_price_ps, } @@ -10967,7 +10967,7 @@ export function storeStoragePrices(storagePrices: StoragePrices): (builder: Buil builder.storeUint(0xcc, 8); builder.storeUint(storagePrices.utime_since, 32); builder.storeUint(storagePrices.bit_price_ps, 64); - builder.storeUint(storagePrices._cell_price_ps, 64); + builder.storeUint(storagePrices.cell_price_ps, 64); builder.storeUint(storagePrices.mc_bit_price_ps, 64); builder.storeUint(storagePrices.mc_cell_price_ps, 64); }) @@ -11161,7 +11161,7 @@ export function loadMsgForwardPrices(slice: Slice): MsgForwardPrices { slice.loadUint(8); const lump_price: bigint = slice.loadUintBig(64); const bit_price: bigint = slice.loadUintBig(64); - const _cell_price: bigint = slice.loadUintBig(64); + const cell_price: bigint = slice.loadUintBig(64); const ihr_price_factor: number = slice.loadUint(32); const first_frac: number = slice.loadUint(16); const next_frac: number = slice.loadUint(16); @@ -11169,7 +11169,7 @@ export function loadMsgForwardPrices(slice: Slice): MsgForwardPrices { kind: 'MsgForwardPrices', lump_price: lump_price, bit_price: bit_price, - _cell_price: _cell_price, + cell_price: cell_price, ihr_price_factor: ihr_price_factor, first_frac: first_frac, next_frac: next_frac, @@ -11183,7 +11183,7 @@ export function storeMsgForwardPrices(msgForwardPrices: MsgForwardPrices): (buil builder.storeUint(0xea, 8); builder.storeUint(msgForwardPrices.lump_price, 64); builder.storeUint(msgForwardPrices.bit_price, 64); - builder.storeUint(msgForwardPrices._cell_price, 64); + builder.storeUint(msgForwardPrices.cell_price, 64); builder.storeUint(msgForwardPrices.ihr_price_factor, 32); builder.storeUint(msgForwardPrices.first_frac, 16); builder.storeUint(msgForwardPrices.next_frac, 16); diff --git a/test/generated_files/generated_boc.ts b/test/generated_files/generated_boc.ts new file mode 100644 index 0000000..8071661 --- /dev/null +++ b/test/generated_files/generated_boc.ts @@ -0,0 +1,611 @@ +import { Builder } from '@ton/core' +import { Slice } from '@ton/core' +import { beginCell } from '@ton/core' +import { BitString } from '@ton/core' +import { Cell } from '@ton/core' +import { Address } from '@ton/core' +import { ExternalAddress } from '@ton/core' +import { Dictionary } from '@ton/core' +import { DictionaryValue } from '@ton/core' +import { TupleItem } from '@ton/core' +import { parseTuple } from '@ton/core' +import { serializeTuple } from '@ton/core' +export function bitLen(n: number) { + return n.toString(2).length; +} + +export interface Bool { + readonly kind: 'Bool'; + readonly value: boolean; +} + +export function loadBool(slice: Slice): Bool { + if (slice.remainingBits >= 1) { + let value = slice.loadUint(1); + return { + kind: 'Bool', + value: value == 1 + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function storeBool(bool: Bool): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(bool.value ? 1: 0, 1); + }) + +} + + + +export function loadBoolFalse(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: false + } + + } + throw new Error('Expected one of "BoolFalse" in loading "BoolFalse", but data does not satisfy any constructor'); +} + +export function loadBoolTrue(slice: Slice): Bool { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + return { + kind: 'Bool', + value: true + } + + } + throw new Error('Expected one of "BoolTrue" in loading "BoolTrue", but data does not satisfy any constructor'); +} + +export function copyCellToBuilder(from: Cell, to: Builder): void { + let slice = from.beginParse(); + to.storeBits(slice.loadBits(slice.remainingBits)); + while (slice.remainingRefs) { + to.storeRef(slice.loadRef()); + } +} +// nothing$0 {X:Type} = Maybe X; + +// just$1 {X:Type} value:X = Maybe X; + +export type Maybe = Maybe_nothing | Maybe_just; + +export interface Maybe_nothing { + readonly kind: 'Maybe_nothing'; +} + +export interface Maybe_just { + readonly kind: 'Maybe_just'; + readonly value: X; +} + +/* +serialized_boc_idx#68ff65f3 size:(## 8) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots = 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + index:(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + = BagOfCells; +*/ + +/* +serialized_boc_idx_crc32c#acc3a728 size:(## 8) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots = 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + index:(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + crc32c:uint32 = BagOfCells; +*/ + +/* +serialized_boc#b5ee9c72 has_idx:(## 1) has_crc32c:(## 1) + has_cache_bits:(## 1) flags:(## 2) { flags = 0 } + size:(## 3) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots >= 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + root_list:(roots * ##(size * 8)) + index:has_idx?(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + crc32c:has_crc32c?uint32 + = BagOfCells; +*/ + +export type BagOfCells = BagOfCells_serialized_boc_idx | BagOfCells_serialized_boc_idx_crc32c | BagOfCells_serialized_boc; + +export interface BagOfCells_serialized_boc_idx { + readonly kind: 'BagOfCells_serialized_boc_idx'; + readonly size: number; + readonly off_bytes: number; + readonly cells: bigint; + readonly roots: bigint; + readonly absent: bigint; + readonly tot_cells_size: bigint; + readonly index: Slice; + readonly cell_data: Buffer; +} + +export interface BagOfCells_serialized_boc_idx_crc32c { + readonly kind: 'BagOfCells_serialized_boc_idx_crc32c'; + readonly size: number; + readonly off_bytes: number; + readonly cells: bigint; + readonly roots: bigint; + readonly absent: bigint; + readonly tot_cells_size: bigint; + readonly index: Slice; + readonly cell_data: Buffer; + readonly crc32c: number; +} + +export interface BagOfCells_serialized_boc { + readonly kind: 'BagOfCells_serialized_boc'; + readonly has_idx: number; + readonly has_crc32c: number; + readonly has_cache_bits: number; + readonly flags: number; + readonly size: number; + readonly off_bytes: number; + readonly cells: bigint; + readonly roots: bigint; + readonly absent: bigint; + readonly tot_cells_size: bigint; + readonly root_list: Slice; + readonly index: Slice | undefined; + readonly cell_data: Buffer; + readonly crc32c: number | undefined; +} + +/* +compiled_smart_contract + compiled_at:uint32 code:^Cell data:^Cell + description:(Maybe ^TinyString) + ^[ source_file:(Maybe ^TinyString) + compiler_version:(Maybe ^TinyString) ] + = CompiledSmartContract; +*/ + +export interface CompiledSmartContract { + readonly kind: 'CompiledSmartContract'; + readonly compiled_at: number; + readonly code: Cell; + readonly data: Cell; + readonly description: Maybe; + readonly source_file: Maybe; + readonly compiler_version: Maybe; +} + +// tiny_string#_ len:(#<= 126) str:(len * [ uint8 ]) = TinyString; + +export interface TinyString { + readonly kind: 'TinyString'; + readonly len: number; + readonly str: Buffer; +} + +// nothing$0 {X:Type} = Maybe X; + +// just$1 {X:Type} value:X = Maybe X; + +export function loadMaybe(slice: Slice, loadX: (slice: Slice) => X): Maybe { + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) { + slice.loadUint(1); + return { + kind: 'Maybe_nothing', + } + } + if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) { + slice.loadUint(1); + const value: X = loadX(slice); + return { + kind: 'Maybe_just', + value: value, + } + } + throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); +} + +export function storeMaybe(maybe: Maybe, storeX: (x: X) => (builder: Builder) => void): (builder: Builder) => void { + if ((maybe.kind == 'Maybe_nothing')) { + return ((builder: Builder) => { + builder.storeUint(0b0, 1); + }) + } + if ((maybe.kind == 'Maybe_just')) { + return ((builder: Builder) => { + builder.storeUint(0b1, 1); + storeX(maybe.value)(builder); + }) + } + throw new Error('Expected one of "Maybe_nothing", "Maybe_just" in loading "Maybe", but data does not satisfy any constructor'); +} + +/* +serialized_boc_idx#68ff65f3 size:(## 8) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots = 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + index:(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + = BagOfCells; +*/ + +/* +serialized_boc_idx_crc32c#acc3a728 size:(## 8) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots = 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + index:(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + crc32c:uint32 = BagOfCells; +*/ + +/* +serialized_boc#b5ee9c72 has_idx:(## 1) has_crc32c:(## 1) + has_cache_bits:(## 1) flags:(## 2) { flags = 0 } + size:(## 3) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots >= 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + root_list:(roots * ##(size * 8)) + index:has_idx?(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + crc32c:has_crc32c?uint32 + = BagOfCells; +*/ + +export function loadBagOfCells(slice: Slice): BagOfCells { + if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x68ff65f3))) { + slice.loadUint(32); + const size: number = slice.loadUint(8); + const off_bytes: number = slice.loadUint(8); + const cells: bigint = slice.loadUintBig((size * 8)); + const roots: bigint = slice.loadUintBig((size * 8)); + const absent: bigint = slice.loadUintBig((size * 8)); + const tot_cells_size: bigint = slice.loadUintBig((off_bytes * 8)); + const index: Slice = ((slice: Slice) => { + const subslice = slice.clone(); + const tempCell = beginCell(); + tempCell.storeBits(subslice.loadBits((Number(cells) * Number((off_bytes * 8))))); + return tempCell.endCell().beginParse(true) + })(slice); + const cell_data: Buffer = slice.loadBuffer(Number(tot_cells_size)); + if ((!(size <= 4))) { + throw new Error('Condition (size <= 4) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + if ((!(off_bytes <= 8))) { + throw new Error('Condition (off_bytes <= 8) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + if ((!(Number(roots) == 1))) { + throw new Error('Condition (Number(roots) == 1) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + if ((!((Number(roots) + Number(absent)) <= Number(cells)))) { + throw new Error('Condition ((Number(roots) + Number(absent)) <= Number(cells)) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + return { + kind: 'BagOfCells_serialized_boc_idx', + size: size, + off_bytes: off_bytes, + cells: cells, + roots: roots, + absent: absent, + tot_cells_size: tot_cells_size, + index: index, + cell_data: cell_data, + } + } + if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xacc3a728))) { + slice.loadUint(32); + const size: number = slice.loadUint(8); + const off_bytes: number = slice.loadUint(8); + const cells: bigint = slice.loadUintBig((size * 8)); + const roots: bigint = slice.loadUintBig((size * 8)); + const absent: bigint = slice.loadUintBig((size * 8)); + const tot_cells_size: bigint = slice.loadUintBig((off_bytes * 8)); + const index: Slice = ((slice: Slice) => { + const subslice = slice.clone(); + const tempCell = beginCell(); + tempCell.storeBits(subslice.loadBits((Number(cells) * Number((off_bytes * 8))))); + return tempCell.endCell().beginParse(true) + })(slice); + const cell_data: Buffer = slice.loadBuffer(Number(tot_cells_size)); + const crc32c: number = slice.loadUint(32); + if ((!(size <= 4))) { + throw new Error('Condition (size <= 4) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + if ((!(off_bytes <= 8))) { + throw new Error('Condition (off_bytes <= 8) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + if ((!(Number(roots) == 1))) { + throw new Error('Condition (Number(roots) == 1) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + if ((!((Number(roots) + Number(absent)) <= Number(cells)))) { + throw new Error('Condition ((Number(roots) + Number(absent)) <= Number(cells)) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + return { + kind: 'BagOfCells_serialized_boc_idx_crc32c', + size: size, + off_bytes: off_bytes, + cells: cells, + roots: roots, + absent: absent, + tot_cells_size: tot_cells_size, + index: index, + cell_data: cell_data, + crc32c: crc32c, + } + } + if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0xb5ee9c72))) { + slice.loadUint(32); + const has_idx: number = slice.loadUint(1); + const has_crc32c: number = slice.loadUint(1); + const has_cache_bits: number = slice.loadUint(1); + const flags: number = slice.loadUint(2); + const size: number = slice.loadUint(3); + const off_bytes: number = slice.loadUint(8); + const cells: bigint = slice.loadUintBig((size * 8)); + const roots: bigint = slice.loadUintBig((size * 8)); + const absent: bigint = slice.loadUintBig((size * 8)); + const tot_cells_size: bigint = slice.loadUintBig((off_bytes * 8)); + const root_list: Slice = ((slice: Slice) => { + const subslice = slice.clone(); + const tempCell = beginCell(); + tempCell.storeBits(subslice.loadBits((Number(roots) * Number((size * 8))))); + return tempCell.endCell().beginParse(true) + })(slice); + const index: Slice | undefined = (has_idx ? ((slice: Slice) => { + const subslice = slice.clone(); + const tempCell = beginCell(); + tempCell.storeBits(subslice.loadBits((Number(cells) * Number((off_bytes * 8))))); + return tempCell.endCell().beginParse(true) + })(slice) : undefined); + const cell_data: Buffer = slice.loadBuffer(Number(tot_cells_size)); + const crc32c: number | undefined = (has_crc32c ? slice.loadUint(32) : undefined); + if ((!(flags == 0))) { + throw new Error('Condition (flags == 0) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!(size <= 4))) { + throw new Error('Condition (size <= 4) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!(off_bytes <= 8))) { + throw new Error('Condition (off_bytes <= 8) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!(Number(roots) >= 1))) { + throw new Error('Condition (Number(roots) >= 1) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!((Number(roots) + Number(absent)) <= Number(cells)))) { + throw new Error('Condition ((Number(roots) + Number(absent)) <= Number(cells)) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + return { + kind: 'BagOfCells_serialized_boc', + has_idx: has_idx, + has_crc32c: has_crc32c, + has_cache_bits: has_cache_bits, + flags: flags, + size: size, + off_bytes: off_bytes, + cells: cells, + roots: roots, + absent: absent, + tot_cells_size: tot_cells_size, + root_list: root_list, + index: index, + cell_data: cell_data, + crc32c: crc32c, + } + } + throw new Error('Expected one of "BagOfCells_serialized_boc_idx", "BagOfCells_serialized_boc_idx_crc32c", "BagOfCells_serialized_boc" in loading "BagOfCells", but data does not satisfy any constructor'); +} + +export function storeBagOfCells(bagOfCells: BagOfCells): (builder: Builder) => void { + if ((bagOfCells.kind == 'BagOfCells_serialized_boc_idx')) { + return ((builder: Builder) => { + builder.storeUint(0x68ff65f3, 32); + builder.storeUint(bagOfCells.size, 8); + builder.storeUint(bagOfCells.off_bytes, 8); + builder.storeUint(bagOfCells.cells, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.roots, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.absent, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.tot_cells_size, (bagOfCells.off_bytes * 8)); + builder.storeSlice(bagOfCells.index); + builder.storeBuffer(bagOfCells.cell_data); + if ((!(bagOfCells.size <= 4))) { + throw new Error('Condition (bagOfCells.size <= 4) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + if ((!(bagOfCells.off_bytes <= 8))) { + throw new Error('Condition (bagOfCells.off_bytes <= 8) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + if ((!(Number(bagOfCells.roots) == 1))) { + throw new Error('Condition (Number(bagOfCells.roots) == 1) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + if ((!((Number(bagOfCells.roots) + Number(bagOfCells.absent)) <= Number(bagOfCells.cells)))) { + throw new Error('Condition ((Number(bagOfCells.roots) + Number(bagOfCells.absent)) <= Number(bagOfCells.cells)) is not satisfied while loading "BagOfCells_serialized_boc_idx" for type "BagOfCells"'); + } + }) + } + if ((bagOfCells.kind == 'BagOfCells_serialized_boc_idx_crc32c')) { + return ((builder: Builder) => { + builder.storeUint(0xacc3a728, 32); + builder.storeUint(bagOfCells.size, 8); + builder.storeUint(bagOfCells.off_bytes, 8); + builder.storeUint(bagOfCells.cells, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.roots, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.absent, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.tot_cells_size, (bagOfCells.off_bytes * 8)); + builder.storeSlice(bagOfCells.index); + builder.storeBuffer(bagOfCells.cell_data); + builder.storeUint(bagOfCells.crc32c, 32); + if ((!(bagOfCells.size <= 4))) { + throw new Error('Condition (bagOfCells.size <= 4) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + if ((!(bagOfCells.off_bytes <= 8))) { + throw new Error('Condition (bagOfCells.off_bytes <= 8) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + if ((!(Number(bagOfCells.roots) == 1))) { + throw new Error('Condition (Number(bagOfCells.roots) == 1) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + if ((!((Number(bagOfCells.roots) + Number(bagOfCells.absent)) <= Number(bagOfCells.cells)))) { + throw new Error('Condition ((Number(bagOfCells.roots) + Number(bagOfCells.absent)) <= Number(bagOfCells.cells)) is not satisfied while loading "BagOfCells_serialized_boc_idx_crc32c" for type "BagOfCells"'); + } + }) + } + if ((bagOfCells.kind == 'BagOfCells_serialized_boc')) { + return ((builder: Builder) => { + builder.storeUint(0xb5ee9c72, 32); + builder.storeUint(bagOfCells.has_idx, 1); + builder.storeUint(bagOfCells.has_crc32c, 1); + builder.storeUint(bagOfCells.has_cache_bits, 1); + builder.storeUint(bagOfCells.flags, 2); + builder.storeUint(bagOfCells.size, 3); + builder.storeUint(bagOfCells.off_bytes, 8); + builder.storeUint(bagOfCells.cells, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.roots, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.absent, (bagOfCells.size * 8)); + builder.storeUint(bagOfCells.tot_cells_size, (bagOfCells.off_bytes * 8)); + builder.storeSlice(bagOfCells.root_list); + if ((bagOfCells.has_idx && (bagOfCells.index != undefined))) { + builder.storeSlice(bagOfCells.index); + } + builder.storeBuffer(bagOfCells.cell_data); + if ((bagOfCells.has_crc32c && (bagOfCells.crc32c != undefined))) { + builder.storeUint((bagOfCells.crc32c!), 32); + } + if ((!(bagOfCells.flags == 0))) { + throw new Error('Condition (bagOfCells.flags == 0) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!(bagOfCells.size <= 4))) { + throw new Error('Condition (bagOfCells.size <= 4) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!(bagOfCells.off_bytes <= 8))) { + throw new Error('Condition (bagOfCells.off_bytes <= 8) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!(Number(bagOfCells.roots) >= 1))) { + throw new Error('Condition (Number(bagOfCells.roots) >= 1) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + if ((!((Number(bagOfCells.roots) + Number(bagOfCells.absent)) <= Number(bagOfCells.cells)))) { + throw new Error('Condition ((Number(bagOfCells.roots) + Number(bagOfCells.absent)) <= Number(bagOfCells.cells)) is not satisfied while loading "BagOfCells_serialized_boc" for type "BagOfCells"'); + } + }) + } + throw new Error('Expected one of "BagOfCells_serialized_boc_idx", "BagOfCells_serialized_boc_idx_crc32c", "BagOfCells_serialized_boc" in loading "BagOfCells", but data does not satisfy any constructor'); +} + +/* +compiled_smart_contract + compiled_at:uint32 code:^Cell data:^Cell + description:(Maybe ^TinyString) + ^[ source_file:(Maybe ^TinyString) + compiler_version:(Maybe ^TinyString) ] + = CompiledSmartContract; +*/ + +export function loadCompiledSmartContract(slice: Slice): CompiledSmartContract { + if (((slice.remainingBits >= 32) && (slice.preloadUint(32) == 0x5da77277))) { + slice.loadUint(32); + const compiled_at: number = slice.loadUint(32); + const slice1 = slice.loadRef().beginParse(true); + const code: Cell = slice1.asCell(); + const slice2 = slice.loadRef().beginParse(true); + const data: Cell = slice2.asCell(); + const description: Maybe = loadMaybe(slice, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + return loadTinyString(slice1) + })); + const slice3 = slice.loadRef().beginParse(true); + const source_file: Maybe = loadMaybe(slice3, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + return loadTinyString(slice1) + })); + const compiler_version: Maybe = loadMaybe(slice3, ((slice: Slice) => { + const slice1 = slice.loadRef().beginParse(true); + return loadTinyString(slice1) + })); + return { + kind: 'CompiledSmartContract', + compiled_at: compiled_at, + code: code, + data: data, + description: description, + source_file: source_file, + compiler_version: compiler_version, + } + } + throw new Error('Expected one of "CompiledSmartContract" in loading "CompiledSmartContract", but data does not satisfy any constructor'); +} + +export function storeCompiledSmartContract(compiledSmartContract: CompiledSmartContract): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(0x5da77277, 32); + builder.storeUint(compiledSmartContract.compiled_at, 32); + const cell1 = beginCell(); + cell1.storeSlice(compiledSmartContract.code.beginParse(true)); + builder.storeRef(cell1); + const cell2 = beginCell(); + cell2.storeSlice(compiledSmartContract.data.beginParse(true)); + builder.storeRef(cell2); + storeMaybe(compiledSmartContract.description, ((arg: TinyString) => { + return ((builder: Builder) => { + const cell1 = beginCell(); + storeTinyString(arg)(cell1); + builder.storeRef(cell1); + }) + }))(builder); + const cell3 = beginCell(); + storeMaybe(compiledSmartContract.source_file, ((arg: TinyString) => { + return ((builder: Builder) => { + const cell1 = beginCell(); + storeTinyString(arg)(cell1); + builder.storeRef(cell1); + }) + }))(cell3); + storeMaybe(compiledSmartContract.compiler_version, ((arg: TinyString) => { + return ((builder: Builder) => { + const cell1 = beginCell(); + storeTinyString(arg)(cell1); + builder.storeRef(cell1); + }) + }))(cell3); + builder.storeRef(cell3); + }) +} + +// tiny_string#_ len:(#<= 126) str:(len * [ uint8 ]) = TinyString; + +export function loadTinyString(slice: Slice): TinyString { + const len: number = slice.loadUint(bitLen(126)); + const str: Buffer = slice.loadBuffer(Number(len)); + return { + kind: 'TinyString', + len: len, + str: str, + } +} + +export function storeTinyString(tinyString: TinyString): (builder: Builder) => void { + return ((builder: Builder) => { + builder.storeUint(tinyString.len, bitLen(126)); + builder.storeBuffer(tinyString.str); + }) +} + diff --git a/test/generated_files/generated_tep-81-dns-standard.ts b/test/generated_files/generated_tep-81-dns-standard.ts index 3708f81..36e9556 100644 --- a/test/generated_files/generated_tep-81-dns-standard.ts +++ b/test/generated_files/generated_tep-81-dns-standard.ts @@ -115,14 +115,14 @@ export interface HmLabel_hml_short { readonly m: number; readonly n: number; readonly len: Unary; - readonly s: Array; + readonly s: number[]; } export interface HmLabel_hml_long { readonly kind: 'HmLabel_hml_long'; readonly m: number; readonly n: number; - readonly s: Array; + readonly s: number[]; } export interface HmLabel_hml_same { @@ -378,8 +378,8 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { slice.loadUint(1); const len: Unary = loadUnary(slice); const n = hmLabel_hml_short_get_n(len); - const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { - return slice.loadBit() + const s: number[] = Array.from(Array(n).keys()).map((() => { + return slice.loadUint(1) })); if ((!(n <= m))) { throw new Error('Condition (n <= m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -395,8 +395,8 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); const n: number = slice.loadUint(bitLen(m)); - const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { - return slice.loadBit() + const s: number[] = Array.from(Array(n).keys()).map((() => { + return slice.loadUint(1) })); return { kind: 'HmLabel_hml_long', @@ -424,8 +424,8 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b0, 1); storeUnary(hmLabel.len)(builder); - hmLabel.s.forEach(((arg: boolean) => { - builder.storeBit(arg); + hmLabel.s.forEach(((arg: number) => { + builder.storeUint(arg, 1); })); if ((!(hmLabel.n <= hmLabel.m))) { throw new Error('Condition (hmLabel.n <= hmLabel.m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -436,8 +436,8 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b10, 2); builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); - hmLabel.s.forEach(((arg: boolean) => { - builder.storeBit(arg); + hmLabel.s.forEach(((arg: number) => { + builder.storeUint(arg, 1); })); }) } diff --git a/test/generated_files/generated_test.ts b/test/generated_files/generated_test.ts index c12bc2e..eaa4518 100644 --- a/test/generated_files/generated_test.ts +++ b/test/generated_files/generated_test.ts @@ -500,7 +500,7 @@ export interface DollarTag { export interface TupleCheck { readonly kind: 'TupleCheck'; - readonly s: Array; + readonly s: number[]; } /* @@ -551,14 +551,14 @@ export interface HmLabel_hml_short { readonly m: number; readonly n: number; readonly len: Unary; - readonly s: Array; + readonly s: number[]; } export interface HmLabel_hml_long { readonly kind: 'HmLabel_hml_long'; readonly m: number; readonly n: number; - readonly s: Array; + readonly s: number[]; } export interface HmLabel_hml_same { @@ -1667,10 +1667,10 @@ export function loadCellTypedField(slice: Slice): CellTypedField { } } -export function storeCellTypedField(_cellTypedField: CellTypedField): (builder: Builder) => void { +export function storeCellTypedField(cellTypedField: CellTypedField): (builder: Builder) => void { return ((builder: Builder) => { const cell1 = beginCell(); - storeExprArgUser(_cellTypedField.a)(cell1); + storeExprArgUser(cellTypedField.a)(cell1); builder.storeRef(cell1); }) } @@ -1702,22 +1702,22 @@ export function loadCellsSimple(slice: Slice): CellsSimple { } } -export function storeCellsSimple(_cellsSimple: CellsSimple): (builder: Builder) => void { +export function storeCellsSimple(cellsSimple: CellsSimple): (builder: Builder) => void { return ((builder: Builder) => { - builder.storeUint(_cellsSimple.t, 32); + builder.storeUint(cellsSimple.t, 32); const cell1 = beginCell(); - cell1.storeUint(_cellsSimple.q, 32); + cell1.storeUint(cellsSimple.q, 32); builder.storeRef(cell1); const cell2 = beginCell(); - cell2.storeUint(_cellsSimple.a, 32); + cell2.storeUint(cellsSimple.a, 32); const cell21 = beginCell(); - cell21.storeUint(_cellsSimple.e, 32); + cell21.storeUint(cellsSimple.e, 32); cell2.storeRef(cell21); const cell22 = beginCell(); - cell22.storeUint(_cellsSimple.b, 32); - cell22.storeUint(_cellsSimple.d, 32); + cell22.storeUint(cellsSimple.b, 32); + cell22.storeUint(cellsSimple.d, 32); const cell221 = beginCell(); - cell221.storeUint(_cellsSimple.c, 32); + cell221.storeUint(cellsSimple.c, 32); cell22.storeRef(cell221); cell2.storeRef(cell22); builder.storeRef(cell2); @@ -2429,8 +2429,8 @@ export function storeDollarTag(dollarTag: DollarTag): (builder: Builder) => void // a$_ s:(3 * int5) = TupleCheck; export function loadTupleCheck(slice: Slice): TupleCheck { - const s: Array = Array.from(Array(3).keys()).map(((arg: number) => { - return slice.loadInt(5) + const s: number[] = Array.from(Array(3).keys()).map((() => { + return slice.loadUint(5) })); return { kind: 'TupleCheck', @@ -2441,7 +2441,7 @@ export function loadTupleCheck(slice: Slice): TupleCheck { export function storeTupleCheck(tupleCheck: TupleCheck): (builder: Builder) => void { return ((builder: Builder) => { tupleCheck.s.forEach(((arg: number) => { - builder.storeInt(arg, 5); + builder.storeUint(arg, 5); })); }) } @@ -2559,8 +2559,8 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { slice.loadUint(1); const len: Unary = loadUnary(slice); const n = hmLabel_hml_short_get_n(len); - const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { - return slice.loadBit() + const s: number[] = Array.from(Array(n).keys()).map((() => { + return slice.loadUint(1) })); if ((!(n <= m))) { throw new Error('Condition (n <= m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -2576,8 +2576,8 @@ export function loadHmLabel(slice: Slice, m: number): HmLabel { if (((slice.remainingBits >= 2) && (slice.preloadUint(2) == 0b10))) { slice.loadUint(2); const n: number = slice.loadUint(bitLen(m)); - const s: Array = Array.from(Array(n).keys()).map(((arg: number) => { - return slice.loadBit() + const s: number[] = Array.from(Array(n).keys()).map((() => { + return slice.loadUint(1) })); return { kind: 'HmLabel_hml_long', @@ -2605,8 +2605,8 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b0, 1); storeUnary(hmLabel.len)(builder); - hmLabel.s.forEach(((arg: boolean) => { - builder.storeBit(arg); + hmLabel.s.forEach(((arg: number) => { + builder.storeUint(arg, 1); })); if ((!(hmLabel.n <= hmLabel.m))) { throw new Error('Condition (hmLabel.n <= hmLabel.m) is not satisfied while loading "HmLabel_hml_short" for type "HmLabel"'); @@ -2617,8 +2617,8 @@ export function storeHmLabel(hmLabel: HmLabel): (builder: Builder) => void { return ((builder: Builder) => { builder.storeUint(0b10, 2); builder.storeUint(hmLabel.n, bitLen(hmLabel.m)); - hmLabel.s.forEach(((arg: boolean) => { - builder.storeBit(arg); + hmLabel.s.forEach(((arg: number) => { + builder.storeUint(arg, 1); })); }) } diff --git a/test/tlb/boc.tlb b/test/tlb/boc.tlb new file mode 100644 index 0000000..98df6d7 --- /dev/null +++ b/test/tlb/boc.tlb @@ -0,0 +1,50 @@ +nothing$0 {X:Type} = Maybe X; +just$1 {X:Type} value:X = Maybe X; +// https://github.com/ton-blockchain/ton/raw/dd745485e26cf581019c2b8c3013d4c14ec0473e/crypto/tl/boc.tlb + +// +// Bag-of-Cells (BoC) serialization formats +// + +serialized_boc_idx#68ff65f3 size:(## 8) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots = 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + index:(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + = BagOfCells; + +serialized_boc_idx_crc32c#acc3a728 size:(## 8) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots = 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + index:(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + crc32c:uint32 = BagOfCells; + +serialized_boc#b5ee9c72 has_idx:(## 1) has_crc32c:(## 1) + has_cache_bits:(## 1) flags:(## 2) { flags = 0 } + size:(## 3) { size <= 4 } + off_bytes:(## 8) { off_bytes <= 8 } + cells:(##(size * 8)) + roots:(##(size * 8)) { roots >= 1 } + absent:(##(size * 8)) { roots + absent <= cells } + tot_cells_size:(##(off_bytes * 8)) + root_list:(roots * ##(size * 8)) + index:has_idx?(cells * ##(off_bytes * 8)) + cell_data:(tot_cells_size * [ uint8 ]) + crc32c:has_crc32c?uint32 + = BagOfCells; + +compiled_smart_contract + compiled_at:uint32 code:^Cell data:^Cell + description:(Maybe ^TinyString) + ^[ source_file:(Maybe ^TinyString) + compiler_version:(Maybe ^TinyString) ] + = CompiledSmartContract; + +tiny_string#_ len:(#<= 126) str:(len * [ uint8 ]) = TinyString; diff --git a/test/utils.spec.ts b/test/utils.spec.ts new file mode 100644 index 0000000..e26e057 --- /dev/null +++ b/test/utils.spec.ts @@ -0,0 +1,34 @@ +import { describe, expect, test } from '@jest/globals'; + +import { firstLower, bitLen, isNameReserved, findNotReservedName, crc32 } from '../src/utils'; + +describe('Utils functions', () => { + test('firstLower', () => { + expect(firstLower('Hello')).toBe('hello'); + expect(firstLower('')).toBe(''); + }); + + test('bitLen', () => { + expect(bitLen(16)).toBe(5); + expect(bitLen(0)).toBe(1); + expect(bitLen(1024)).toBe(11); + }); + + test('isNameReserved', () => { + expect(isNameReserved('class')).toBe(true); + }); + + test('findNotReservedName', () => { + expect(findNotReservedName('slice')).toBe('_slice'); + expect(findNotReservedName('cell')).toBe('_cell'); + expect(findNotReservedName('sliceData')).toBe('sliceData'); + expect(findNotReservedName('cells')).toBe('cells'); + expect(findNotReservedName('cell_data')).toBe('cell_data'); + expect(findNotReservedName('class', '0')).toBe('class0'); + }); + + test('crc32', () => { + const encoder = new TextEncoder(); + expect(crc32(encoder.encode('r = T')).toString(16)).toBe('30332c00'); + }); +});